sh-quote tests: Make tests stricter.
[gnulib.git] / ChangeLog
1 2012-05-08  Bruno Haible  <bruno@clisp.org>
2
3         sh-quote tests: Make tests stricter.
4         * tests/test-sh-quote.c (check_one): Check the return value of
5         shell_quote_copy.
6         (main): Check a string with a CR character. Check a string that
7         contains UCHAR_MAX.
8
9 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
10
11         warnings.m4: provide a means to specify the program to compile.
12         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
13         (gl_WARN_ADD): here.
14         Use gl_AS_VAR_APPEND.
15         Support an argument to specify the program to compile.
16         (gl_WARN_ADD): Accept an argument to specify the program to compile.
17         AC_SUBST the WARN_CFLAGS when they are used.
18         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
19         leave this to gl_WARN_ADD.
20
21 2012-05-08  Eric Blake  <eblake@redhat.com>
22
23         doc: recommendations on gettext version
24         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
25         choice between versions.
26         * DEPENDENCIES (gettext): Cover both approaches.
27
28 2012-05-08  Jim Meyering  <meyering@redhat.com>
29
30         init.sh: explain why EXEEXT support uses aliases rather than functions
31         * tests/init.sh: Add a comment.
32
33         init.sh: don't let bash aliases interfere with tests
34         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
35         is bash.  This avoids problems for those who alias standard commands to
36         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
37         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
38
39 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
40
41         stdint: be more consistent with glibc, SunOS libc
42         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
43         (gl_int_fast16_t, gl_uint_fast16_t)
44         (gl_int_fast32_t, gl_uint_fast32_t)
45         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
46         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
47         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
48         Be consistent with glibc by default, and with SunOS 5.10 and later
49         if __sun is defined.  This lessens the likelihood of clashes if
50         code compiled for older hosts is combined with code compiled for
51         newer ones.  Problem reported by Niels Möller in
52         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
53
54 2012-05-07  Eric Blake  <eblake@redhat.com>
55
56         isatty: relax license to LGPLv2+
57         * modules/isatty (License): Relax license.
58
59 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
60
61         stat-size: comment fix
62         * lib/stat-size.h: Remove obsolete comment about indenting.
63
64 2012-05-06  Bruno Haible  <bruno@clisp.org>
65
66         Tests for module 'sh-quote'.
67         * modules/sh-quote-tests: New file.
68         * tests/test-sh-quote.c: New file.
69
70 2012-05-06  Bruno Haible  <bruno@clisp.org>
71
72         sh-quote: Improve shell_quote_argv's signature.
73         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
74         * lib/sh-quote.c (shell_quote_argv): Likewise.
75
76 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
77
78         stdint: document issues with int_fast8_t etc.
79         * doc/posix-headers/stdint.texi (stdint.h): Say that other
80         stdint.h substitutes may define these types differently.  See
81         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
82
83 2012-05-05  Bruno Haible  <bruno@clisp.org>
84
85         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
86         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
87         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
88         or 'guessing no (mishandles large arguments)'.
89
90 2012-05-05  Bruno Haible  <bruno@clisp.org>
91
92         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
93         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
94         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
95         set gl_cv_func_link_follows_symlink to "guessing no".
96
97 2012-05-05  Bruno Haible  <bruno@clisp.org>
98
99         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
100         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
101         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
102         "guessing no".
103         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
104
105 2012-05-05  Bruno Haible  <bruno@clisp.org>
106
107         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
108         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
109         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
110         set gl_cv_struct_dirent_d_ino to "guessing yes".
111
112 2012-05-05  Bruno Haible  <bruno@clisp.org>
113
114         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
115         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
116         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
117         "guessing yes".
118
119 2012-05-05  Bruno Haible  <bruno@clisp.org>
120
121         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
122         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
123         compiling to a glibc system, set gl_cv_func_signbit and
124         gl_cv_func_signbit_gcc to "guessing yes".
125
126 2012-05-05  Bruno Haible  <bruno@clisp.org>
127
128         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
129         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
130         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
131         to "guessing yes".
132         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
133         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
134
135 2012-05-05  Bruno Haible  <bruno@clisp.org>
136
137         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
138         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
139         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
140         gl_cv_func_realpath_works to "guessing yes".
141
142 2012-05-05  Bruno Haible  <bruno@clisp.org>
143
144         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
145         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
146         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
147
148 2012-05-04  Bruno Haible  <bruno@clisp.org>
149
150         Tweak last commit.
151         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
152         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
153
154 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
155
156         unistd_h: make it easier to avoid sys_types_h
157         This is useful for Emacs, which has its own method of porting to
158         Windows, and which therefore does not need the sys_types_h module.
159         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
160         code moved here from gl_SYS_TYPES_H.
161         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
162         using the code directly.
163         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
164         gl_SYS_TYPES_H.
165         * modules/sys_types (Files):
166         * modules/unistd (Files): Add m4/off_t.m4.
167
168 2012-05-03  Bruno Haible  <bruno@clisp.org>
169
170         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
171         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
172         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
173         "guessing yes" or "guessing no".
174         (gl_FUNC_LSTAT): Update.
175         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
176         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
177         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
178
179 2012-05-03  Bruno Haible  <bruno@clisp.org>
180
181         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
182         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
183         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
184         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
185         cross-compiling, choose the first alternative on glibc systems.
186         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
187
188 2012-05-03  Bruno Haible  <bruno@clisp.org>
189
190         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
191         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
192         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
193
194 2012-05-03  Bruno Haible  <bruno@clisp.org>
195
196         chown: Avoid "guessing no" when cross-compiling to glibc systems.
197         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
198
199 2012-05-03  Bruno Haible  <bruno@clisp.org>
200
201         Avoid "guessing no" guesses when cross-compiling to glibc systems.
202         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
203         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
204         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
205         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
206         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
207         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
208         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
209         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
210         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
211         compiling to glibc systems, set gl_cv_func_chown_slash_works,
212         gl_cv_func_chown_ctime_works to "guessing yes".
213         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
214         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
215         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
216         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
217         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
218         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
219         compiling to glibc systems, set gl_cv_func_open_directory_works to
220         "guessing yes".
221         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
222         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
223         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
224         "guessing yes".
225         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
226         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
227         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
228         compiling to glibc systems, set gl_cv_func_floorf_ieee to
229         "guessing yes".
230         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
231         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
232         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
233         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
234         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
235         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
236         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
237         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
238         "guessing yes".
239         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
240         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
241         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
242         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
243         "guessing yes".
244         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
245         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
246         "guessing yes".
247         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
248         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
249         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
250         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
251         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
252         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
253         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
254         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
255         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
256         compiling to glibc systems, set gl_cv_func_log10f_ieee to
257         "guessing yes".
258         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
259         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
260         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
261         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
262         "guessing yes".
263         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
264         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
265         "guessing yes".
266         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
267         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
268         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
269         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
270         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
271         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
272         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
273         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
274         compiling to glibc systems, set gl_cv_func_mkfifo_works to
275         "guessing yes".
276         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
277         compiling to glibc systems, set gl_cv_func_mknod_works to
278         "guessing yes".
279         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
280         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
281         "guessing yes".
282         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
283         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
284         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
285         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
286         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
287         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
288         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
289         compiling to glibc systems, set gl_cv_func_svid_putenv to
290         "guessing yes".
291         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
292         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
293         "guessing yes".
294         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
295         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
296         "guessing yes".
297         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
298         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
299         to "guessing yes".
300         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
301         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
302         to "guessing yes".
303         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
304         compiling to glibc systems, set gl_cv_func_rmdir_works to
305         "guessing yes".
306         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
307         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
308         gl_cv_func_unlink_parent_fails to "guessing yes".
309         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
310         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
311         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
312         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
313         gl_cv_func_rename_dest_works to "guessing yes".
314         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
315         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
316         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
317         compiling to glibc systems, set gl_cv_func_roundf_ieee to
318         "guessing yes".
319         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
320         compiling to glibc systems, set gl_cv_func_roundl_ieee to
321         "guessing yes".
322         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
323         compiling to glibc systems, set gl_cv_func_setenv_works to
324         "guessing yes".
325         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
326         compiling to glibc systems, set gl_cv_func_unsetenv_works to
327         "guessing yes".
328         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
329         compiling to glibc systems, set gl_cv_func_sleep_works to
330         "guessing yes".
331         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
332         compiling to glibc systems, set gl_cv_func_stat_file_slash to
333         "guessing yes".
334         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
335         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
336         "guessing yes".
337         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
338         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
339         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
340         compiling to glibc systems, set gl_cv_func_truncf_ieee to
341         "guessing yes".
342         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
343         compiling to glibc systems, set gl_cv_func_truncl_ieee to
344         "guessing yes".
345         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
346         compiling to glibc systems, set gl_cv_func_usleep_works to
347         "guessing yes".
348         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
349         compiling to glibc systems, set gl_cv_func_futimesat_works to
350         "guessing yes".
351
352 2012-05-03  Bruno Haible  <bruno@clisp.org>
353
354         Say "guessing yes" or "guessing no" when cross-compiling.
355         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
356         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
357         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
358         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
359         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
360         am_cv_func_working_getline to "guessing yes" or "guessing no".
361         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
362         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
363         (gl_FUNC_MEMMEM): When cross-compiling, set
364         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
365         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
366         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
367         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
368         set gl_cv_func_strcasestr_works_always to "guessing yes" or
369         "guessing no".
370         (gl_FUNC_STRCASESTR): When cross-compiling, set
371         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
372         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
373         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
374         (gl_FUNC_STRSTR): When cross-compiling, set
375         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
376         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
377         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
378         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
379         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
380
381 2012-05-01  Bruno Haible  <bruno@clisp.org>
382
383         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
384         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
385         * build-aux/reloc-ldflags: Likewise.
386         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
387
388 2012-05-01  Bruno Haible  <bruno@clisp.org>
389
390         gnulib-tool: Remove transitional code.
391         * gnulib-tool: Don't warn about --import with 0 arguments any more.
392         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
393
394 2012-05-01  Bruno Haible  <bruno@clisp.org>
395
396         getcwd: Fix misindentation.
397         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
398
399 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
400
401         exclude: process exclude and include directives in order
402         This restores the pre-2009 behavior, and is part of a fix of a
403         grep bug reported by Quentin Arce in
404         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
405         * lib/exclude.c (struct exclude): Remove 'tail' member.
406         (new_exclude_segment): Prepend the new segment instead of appending.
407         Return void, since that's now more convenient.
408         (file_pattern_matches): Renamed from excluded_file_pattern_p.
409         (file_name_matches): Renamed from excluded_file_name_p.
410         (file_pattern_matches, file_name_matches):
411         Return true if the pattern matches, not if it excludes.
412         All callers changed.
413         (excluded_file_name): Process the list in reverse order;
414         since the list is now reversed this restores the pre-2009 behavior.
415         (add_exclude): Adjust to new reversed-order list.  Use local var
416         rather than macro, for clarity.
417         * tests/test-exclude7.sh: Adjust to corrected behavior.
418
419         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
420         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
421         it's not possible here.  Handle the case of \ at end of pattern
422         without dumping core.
423         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
424
425         _Noreturn: future-proof non-GNU and non-MSVC compilers
426         * build-aux/snippet/_Noreturn.h (_Noreturn):
427         * m4/gnulib-common.m4 (gl_COMMON_BODY):
428         Do not define _Noreturn if __STDC_VERSION__ indicates this is
429         C11 or later.  This is more likely to work with random future C
430         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
431         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
432
433         exclude: handle wildcards with FNM_EXTMATCH
434         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
435         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
436         comment that "has wildcards" really means "has or may have
437         wildcards".  Simplify by avoiding the need to call strcspn.
438
439 2012-04-29  Bruno Haible  <bruno@clisp.org>
440
441         gnulib-tool: Fix list of authors.
442         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
443
444 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
445
446         bootstrap: support Automake-NG in $buildreq
447         * bootstrap (check_versions): Handle automake and aclocal from
448         Automake-NG specially.  They can be specified as respectively
449         the "automake-ng" and "aclocal-ng" requirements.
450
451 2012-04-25  Eric Blake  <eblake@redhat.com>
452
453         bootstrap: only force latest Makefile.in.in for gettext module
454         * build-aux/bootstrap (with_gettext): Only install latest
455         Makefile.in.in for projects requesting bleeding edge gettext.
456
457 2012-04-22  Bruno Haible  <bruno@clisp.org>
458
459         doc: Mention reason for replacement on glibc/Linux systems.
460         * doc/posix-functions/dprintf.texi: Mention the problem with special
461         'long double' values.
462         * doc/posix-functions/fprintf.texi: Likewise.
463         * doc/posix-functions/printf.texi: Likewise.
464         * doc/posix-functions/snprintf.texi: Likewise.
465         * doc/posix-functions/sprintf.texi: Likewise.
466         * doc/posix-functions/vdprintf.texi: Likewise.
467         * doc/posix-functions/vfprintf.texi: Likewise.
468         * doc/posix-functions/vprintf.texi: Likewise.
469         * doc/posix-functions/vsnprintf.texi: Likewise.
470         * doc/posix-functions/vsprintf.texi: Likewise.
471         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
472         platforms with F_DUPFD_CLOEXEC problems.
473         * doc/posix-functions/glob.texi: Mention which platforms are affected
474         by the problem with symbolic links.
475         * doc/posix-functions/linkat.texi: Mention the problem with
476         AT_SYMLINK_FOLLOW on Linux.
477
478 2012-04-22  Bruno Haible  <bruno@clisp.org>
479
480         pwrite: Don't replace on all platforms.
481         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
482
483 2012-04-22  Bruno Haible  <bruno@clisp.org>
484
485         rint* tests: Avoid gcc warnings.
486         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
487         * tests/test-rintf.c (INFINITY, NAN): Likewise.
488         * tests/test-rintl.c (INFINITY, NAN): Likewise.
489
490 2012-04-21  Bruno Haible  <bruno@clisp.org>
491
492         users.txt: Update.
493         * users.txt: Add freedink, wdiff. Update URLs for projects that have
494         switched from CVS to git, bzr, or svn.
495
496 2012-04-21  Bruno Haible  <bruno@clisp.org>
497
498         Large File Support for native Windows platforms.
499
500         * m4/largefile.m4 (gl_LARGEFILE): New macro.
501         * modules/largefile (configure.ac): Require gl_LARGEFILE.
502
503         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
504         type.
505         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
506         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
507         * doc/posix-headers/sys_types.texi: Mention the effect of the
508         'largefile' module.
509
510         * lib/fcntl.in.h: Add comments about off_t.
511         * modules/fcntl-h (Depends-on): Add sys_types.
512
513         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
514         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
515         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
516         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
517         * modules/unistd (Depends-on): Add sys_types.
518         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
519
520         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
521         instead of lseek.
522         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
523         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
524         * modules/lseek (Depends-on): Add sys_types.
525
526         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
527         msvc-nothrow.h.
528         (SetFileSize): New function.
529         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
530         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
531         if Large File Support is requested.
532         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
533         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
534
535         * lib/stdio.in.h: Add comments about off_t.
536         * modules/stdio (Depends-on): Add sys_types.
537
538         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
539         instead of ftello.
540         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
541         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
542         (gl_PREREQ_FTELLO): New macro.
543         * modules/ftello (Depends-on): Add sys_types.
544         (configure.ac): Incoke gl_PREREQ_FTELLO.
545
546         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
547         instead of fseeko.
548         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
549         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
550         (gl_PREREQ_FSEEKO): New macro.
551         * modules/fseeko (Depends-on): Add sys_types.
552         (configure.ac): Invoke gl_PREREQ_FSEEKO.
553
554         * lib/sys_stat.in.h: Add comments about off_t.
555         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
556         64-bit integer for st_size in 'struct stat'.
557         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
558         Define _GL_WINDOWS_64_BIT_ST_SIZE.
559         * modules/sys_stat (Depends-on): Add sys_types.
560         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
561
562         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
563         instead of stat or _stat.
564
565         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
566         'struct _stati64' instead of fstat and 'struct stat'.
567         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
568         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
569
570         Reported by Ray Satiro <raysatiro@yahoo.com>.
571
572 2012-04-19  Eric Blake  <eblake@redhat.com>
573
574         bootstrap: accommodate older libtool
575         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
576         Reported by Daniel P. Berrange.
577
578 2012-04-19  Jim Meyering  <meyering@redhat.com>
579
580         announce-gen: avoid failure due to lack of Digest::SHA1
581         Even with the preferred Digest::SHA available, this script
582         would fail when the backup module, Digest::SHA1, was not installed.
583         * build-aux/announce-gen: Quote the conditional use of "use".
584         Reported by Reuben Thomas in:
585         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
586
587         bootstrap: don't let a user's CDPATH setting affect this script
588         When CDPATH is set, cd will sometimes generate output.
589         When "cd" is run in a subshell whose output matters, that
590         surprising-to-some output can cause malfunction.
591         Unsetting CDPATH turns off this shell "feature."
592         * build-aux/bootstrap (CDPATH): Unset.
593         Reported by Reuben Thomas in:
594         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
595         and inspired by his patch here:
596         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
597
598 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
599         and Jim Meyering  <meyering@redhat.com>
600
601         maint.mk: catch "see @xref{}" and similar
602         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
603         prohibit "See also @xref{", "Also see @pxref{", and similar.
604
605 2012-04-16  Jim Meyering  <meyering@redhat.com>
606
607         bootstrap: really use gnulib's po/Makefile.in.in
608         * build-aux/bootstrap: Correct the source file name in previous change.
609         Reported by Akim Demaille.
610
611         configmake: correct minor inconsistency in Makefile rule
612         * modules/configmake (Makefile.am): All other rules like this one
613         run the final "mv -f ..." in the same backslash-continued command
614         as the one that does everything else.  This one put the mv -f ...
615         command on a separate, non-backslash-continued line.
616         Make it like the others.
617
618         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
619         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
620         the one from gettext.  Reported by Akim Demaille.
621
622 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
623
624         Fix recursion of install-* into po directories.
625         Bison's install-pdf bug reported by Hans Aberg at
626         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
627         * build-aux/po/Makefile.in.in (install-dvi, install-html)
628         (install-info, install-pdf, install-ps): New targets.
629
630 2012-04-16  Jim Meyering  <meyering@redhat.com>
631
632         maint: avoid spurious "make sc_maint" failure
633         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
634         exempt all *.class file names, for lib/javaversion.class.
635
636 2012-04-15  Bruno Haible  <bruno@clisp.org>
637
638         lseek: Make configure test independent of environment.
639         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
640         Windows, we know that lseek() on pipes is broken; skip the runtime
641         test.
642
643 2012-04-14  Bruno Haible  <bruno@clisp.org>
644
645         stat: Bypass buggy override in mingw64.
646         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
647         * lib/stat.c (stat) [mingw64]: Define to _stat.
648         * doc/posix-functions/stat.texi: Mention mingw64 bug.
649
650 2012-04-14  Bruno Haible  <bruno@clisp.org>
651
652         pathmax: Fix compilation error on MSVC 9.
653         * modules/pathmax (Depends-on): Add unistd.
654
655 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
656
657         README: document pointer comparison assumption
658         * README (Portability guidelines): Document assumption about
659         pointer comparisons, in response to a recent bug-gnulib comment by
660         Jeffrey Kegler.
661
662 2012-04-12  Bruno Haible  <bruno@clisp.org>
663
664         Tests for module 'getrusage'.
665         * modules/getrusage-tests: New file.
666         * tests/test-getrusage.c: New file.
667
668         New module 'getrusage'.
669         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
670         warn-on-use.h.
671         (getrusage): New declaration.
672         * lib/getrusage.c: New file.
673         * m4/getrusage.m4: New file.
674         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
675         is declared.
676         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
677         HAVE_GETRUSAGE.
678         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
679         snippet/c++defs, snippet/warn-on-use.
680         (Makefile.am): Update generation of sys/resource.h. Substitute
681         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
682         * modules/getrusage: New file.
683         * doc/posix-functions/getrusage.texi: Mention the new module.
684
685 2012-04-12  Bruno Haible  <bruno@clisp.org>
686
687         Tests for module 'sys_resource'.
688         * modules/sys_resource-tests: New file.
689         * tests/test-sys_resource.c: New file.
690
691         New module 'sys_resource'.
692         * lib/sys_resource.in.h: New file.
693         * m4/sys_resource_h.m4: New file.
694         * modules/sys_resource: New file.
695         * doc/posix-headers/sys_resource.texi: Mention the new module.
696
697 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
698
699         ioctl: Fix compilation error on mingw.
700         * lib/ioctl.c: Include <windows.h>.
701         Also reported by Ray Satiro <raysatiro@yahoo.com>.
702
703 2012-04-04  Jim Meyering  <meyering@redhat.com>
704
705         regex: correct #pragma guard expression
706         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
707         not 4.3.  Correct its cpp guard expression.
708
709 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
710
711         regex: remove unnecessary type punning
712         Problem reported by Vladimir Serbinenko in
713         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
714         * lib/regex.h (struct re_pattern_buffer): Change the type of
715         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
716         Fix comment to match code.
717         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
718         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
719         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
720         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
721         (set_regs):
722         Omit no-longer-necessary casts.
723
724 2012-04-03  Bruno Haible  <bruno@clisp.org>
725
726         Tests for module 'ilogbl'.
727         * modules/ilogbl-tests: New file.
728         * tests/test-ilogbl.c: New file.
729
730         New module 'ilogbl'.
731         * lib/math.in.h (ilogbl): New declaration.
732         * lib/ilogbl.c: New file.
733         * m4/ilogbl.m4: New file.
734         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
735         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
736         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
737         Split sed invocation, to avoid the limit of 100 substitutions of
738         HP-UX 'sed'.
739         * modules/ilogbl: New file.
740         * tests/test-math-c++.cc: Check the declaration of ilogbl.
741         * doc/posix-functions/ilogbl.texi: Mention the new module.
742
743 2012-04-03  Bruno Haible  <bruno@clisp.org>
744
745         Tests for module 'ilogbf'.
746         * modules/ilogbf-tests: New file.
747         * tests/test-ilogbf.c: New file.
748
749         New module 'ilogbf'.
750         * lib/math.in.h (ilogbf): New declaration.
751         * lib/ilogbf.c: New file.
752         * m4/ilogbf.m4: New file.
753         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
754         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
755         REPLACE_ILOGBF.
756         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
757         REPLACE_ILOGBF.
758         * modules/ilogbf: New file.
759         * tests/test-math-c++.cc: Check the declaration of ilogbf.
760         * doc/posix-functions/ilogbf.texi: Mention the new module.
761
762 2012-04-03  Bruno Haible  <bruno@clisp.org>
763
764         Tests for module 'ilogb'.
765         * modules/ilogb-tests: New file.
766         * tests/test-ilogb.c: New file.
767         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
768         tests/test-logb-ieee.h.
769
770         New module 'ilogb'.
771         * lib/math.in.h (ilogb): New declaration.
772         * lib/ilogb.c: New file.
773         * m4/ilogb.m4: New file.
774         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
775         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
776         REPLACE_ILOGB.
777         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
778         REPLACE_ILOGB.
779         * modules/ilogb: New file.
780         * tests/test-math-c++.cc: Check the declaration of ilogb.
781         * doc/posix-functions/ilogb.texi: Mention the new module.
782
783 2012-04-03  Bruno Haible  <bruno@clisp.org>
784
785         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
786         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
787         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
788         (main): Check their values.
789         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
790         problem.
791
792 2012-04-03  Bruno Haible  <bruno@clisp.org>
793
794         Tests for module 'logbl-ieee'.
795         * modules/logbl-ieee-tests: New file.
796         * tests/test-logbl-ieee.c: New file.
797
798         New module 'logbl-ieee'.
799         * modules/logbl-ieee: New file.
800
801         Tests for module 'logb-ieee'.
802         * modules/logb-ieee-tests: New file.
803         * tests/test-logb-ieee.c: New file.
804
805         New module 'logb-ieee'.
806         * modules/logb-ieee: New file.
807
808         Tests for module 'logbf-ieee'.
809         * modules/logbf-ieee-tests: New file.
810         * tests/test-logbf-ieee.c: New file.
811         * tests/test-logb-ieee.h: New file.
812
813         New module 'logbf-ieee'.
814         * modules/logbf-ieee: New file.
815
816 2012-04-03  Bruno Haible  <bruno@clisp.org>
817
818         Tests for module 'logbl'.
819         * modules/logbl-tests: New file.
820         * tests/test-logbl.c: New file.
821
822         New module 'logbl'.
823         * lib/math.in.h (logbl): New declaration.
824         * lib/logbl.c: New file.
825         * m4/logbl.m4: New file.
826         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
827         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
828         REPLACE_LOGBL.
829         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
830         REPLACE_LOGBL.
831         * modules/logbl: New file.
832         * tests/test-math-c++.cc: Check the declaration of logbl.
833         * doc/posix-functions/logbl.texi: Mention the new module.
834
835 2012-04-02  Bruno Haible  <bruno@clisp.org>
836
837         Tests for module 'logbf'.
838         * modules/logbf-tests: New file.
839         * tests/test-logbf.c: New file.
840
841         New module 'logbf'.
842         * lib/math.in.h (logbf): New declaration.
843         * lib/logbf.c: New file.
844         * m4/logbf.m4: New file.
845         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
846         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
847         REPLACE_LOGBF.
848         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
849         REPLACE_LOGBF.
850         * modules/logbf: New file.
851         * tests/test-math-c++.cc: Check the declaration of logbf.
852         * doc/posix-functions/logbf.texi: Mention the new module.
853
854 2012-04-02  Bruno Haible  <bruno@clisp.org>
855
856         logb tests: More tests.
857         * tests/test-logb.h: New file, based on tests/test-logb.c and
858         tests/test-frexp.h.
859         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
860         (main): Just invoke test_function.
861         * modules/logb-tests (Files): Add tests/test-logb.h,
862         tests/minus-zero.h, tests/randomd.c.
863         (Makefile.am): Add randomd.c to test_logb_SOURCES.
864
865         logb: Provide replacement and workarounds.
866         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
867         is 1.
868         * lib/logb.c: New file.
869         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
870         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
871         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
872         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
873         * modules/logb (Files): Add lib/logb.c.
874         (Depends-on): Add isfinite, frexp, isnand.
875         (configure.ac): Compile the replacement code logb.c if needed.
876         * tests/test-math-c++.cc: Check the declaration of logb.
877         * doc/posix-functions/logb.texi: Mention the replacement and the bug
878         with subnormal numbers.
879
880 2012-04-02  Bruno Haible  <bruno@clisp.org>
881
882         log10* tests: Speed up.
883         * tests/test-log10.h (test_function): Reduce amount of random numbers
884         to test.
885
886 2012-04-01  Bruno Haible  <bruno@clisp.org>
887
888         logf-ieee: Fix test whether logf works.
889         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
890
891 2012-04-01  Bruno Haible  <bruno@clisp.org>
892
893         log10l: Work around log10l-ieee test failure on IRIX 6.5.
894         * lib/log10l.c: Include <float.h>
895         (log10l): On IRIX, normalize the +Infinity value.
896         * modules/log10l (Depends-on): Add 'float'.
897         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
898         +Infinity.
899
900         log10f-ieee: Work around test failure on NetBSD 5.1.
901         * m4/log10f-ieee.m4: New file.
902         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
903         test whether log10f works with a negative argument. Replace it if not.
904         * lib/log10f.c (log10f): For negative arguments, return NaN.
905         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
906         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
907         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
908
909         log10f-ieee: Work around test failure on Solaris 9.
910         * modules/log10f-ieee (Depends-on): Add log10-ieee.
911         (configure.ac): Require gl_FUNC_LOG10F.
912
913         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
914         * m4/log10-ieee.m4: New file.
915         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
916         whether log10 works with a negative argument. Replace it if not.
917         * lib/log10.c (log10): For negative arguments, return NaN.
918         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
919         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
920         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
921
922         Tests for module 'log10l-ieee'.
923         * modules/log10l-ieee-tests: New file.
924         * tests/test-log10l-ieee.c: New file.
925
926         New module 'log10l-ieee'.
927         * modules/log10l-ieee: New file.
928
929         Tests for module 'log10-ieee'.
930         * modules/log10-ieee-tests: New file.
931         * tests/test-log10-ieee.c: New file.
932
933         New module 'log10-ieee'.
934         * modules/log10-ieee: New file.
935
936         Tests for module 'log10f-ieee'.
937         * modules/log10f-ieee-tests: New file.
938         * tests/test-log10f-ieee.c: New file.
939         * tests/test-log10-ieee.h: New file.
940
941         New module 'log10f-ieee'.
942         * modules/log10f-ieee: New file.
943
944 2012-04-01  Bruno Haible  <bruno@clisp.org>
945
946         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
947         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
948         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
949         workaround.
950         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
951         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
952         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
953         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
954         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
955         (Depends-on): Update conditions.
956         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
957         IRIX 6.5, OSF/1 5.1 problems.
958
959 2012-04-01  Bruno Haible  <bruno@clisp.org>
960
961         log10f: Work around OSF/1 5.1 bug.
962         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
963         * lib/log10f.c (log10f): If logf exists, use it and provide just the
964         workaround.
965         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
966         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
967         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
968         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
969         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
970         (Depends-on): Update conditions.
971         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
972
973 2012-04-01  Bruno Haible  <bruno@clisp.org>
974
975         log10: Work around OSF/1 5.1 bug.
976         * lib/math.in.h (log10): New declaration.
977         * lib/log10.c: New file.
978         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
979         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
980         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
981         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
982         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
983         * modules/log10 (Files): Add lib/log10.c.
984         (Depends-on): Add math.
985         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
986         * tests/test-math-c++.cc: Check the declaration of log10.
987         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
988
989 2012-03-31  Bruno Haible  <bruno@clisp.org>
990
991         log10l tests: More tests.
992         * modules/log10l-tests (Files): Add tests/test-log10l.h,
993         tests/minus-zero.h, tests/randoml.c.
994         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
995         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
996         (main): Invoke test_function.
997
998         log10f tests: More tests.
999         * modules/log10f-tests (Files): Add tests/test-log10.h,
1000         tests/minus-zero.h, tests/randomf.c.
1001         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
1002         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
1003         (main): Invoke test_function.
1004
1005         log10 tests: More tests.
1006         * tests/test-log10.h: New file.
1007         * modules/log10-tests (Files): Add tests/test-log10.h,
1008         tests/minus-zero.h, tests/randomd.c.
1009         (Makefile.am): Add randomd.c to test_log10_SOURCES.
1010         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
1011         (main): Invoke test_function.
1012
1013 2012-03-31  Simon Josefsson  <simon@josefsson.org>
1014
1015         fflush: Fix syntax error.
1016         * lib/fflush.c: Include unused-parameter.h, needed for
1017         _GL_UNUSED_PARAMETER.
1018         * modules/fflush (Depends-on): Add snippet/unused-parameter.
1019
1020 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
1021
1022         regex: pacify GCC when compiling GRUB
1023         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
1024         a diagnostic.  Reported by Vladimir Serbinenko in
1025         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
1026
1027 2012-03-29  Eric Blake  <eblake@redhat.com>
1028
1029         stdio: don't assume gets any more
1030         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
1031         support.
1032         * modules/stdio (Makefile.am): Likewise.
1033         * lib/stdio-read.c (gets): Likewise.
1034         * tests/test-stdio-c++.cc: Likewise.
1035         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
1036         * lib/stdio.in.h (gets): Make warning occur in more places.
1037         * doc/posix-functions/gets.texi (gets): Update documentation.
1038         Reported by Christer Solskogen.
1039
1040         maint.mk: fix syntax checks without exclusions
1041         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
1042         Reported by Daniel P. Berrange.
1043
1044         strerror_r: avoid compiler warning
1045         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
1046         level.
1047
1048         fflush: avoid compiler warning
1049         * lib/fflush.c (update_fpos_cache): Mark variables that are
1050         potentially unused.
1051
1052 2012-03-25  Bruno Haible  <bruno@clisp.org>
1053
1054         Tests for module 'localeconv'.
1055         * modules/localeconv-tests: New file.
1056         * tests/test-localeconv.c: New file.
1057
1058         New module 'localeconv'.
1059         * lib/locale.in.h (localeconv): New declaration.
1060         * lib/localeconv.c: New file.
1061         * m4/localeconv.m4: New file.
1062         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
1063         REPLACE_LOCALECONV.
1064         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
1065         REPLACE_LOCALECONV.
1066         * modules/localeconv: New file.
1067         * modules/nl_langinfo (Depends-on): Add localeconv.
1068         * modules/human (Depends-on): Likewise.
1069         * doc/posix-functions/localeconv.texi: Mention the new module.
1070
1071 2012-03-25  Bruno Haible  <bruno@clisp.org>
1072
1073         locale: Provide a complete 'struct lconv'.
1074         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
1075         'struct lconv' does not contain int_p_cs_precedes.
1076         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
1077         * doc/posix-headers/locale.texi: Update.
1078
1079         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
1080         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
1081         * doc/posix-headers/locale.texi: Update.
1082
1083         locale: Provide a working 'struct lconv'.
1084         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
1085         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
1086         'struct lconv' does not even contain decimal_point.
1087         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
1088         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
1089         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
1090         * doc/posix-headers/locale.texi: Mention the problems with
1091         'struct lconv'.
1092         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
1093
1094 2012-03-24  Bruno Haible  <bruno@clisp.org>
1095
1096         Enable common subexpression optimization in GCC.
1097         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
1098         macros.
1099         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
1100         GCC attribute 'const'.
1101         (uc_locale_language): Declare with GCC attribute 'pure'.
1102         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
1103         with GCC attribute 'const'.
1104         * lib/unictype.in.h (uc_is_general_category_withtable,
1105         uc_combining_class, uc_combining_class_name,
1106         uc_combining_class_long_name, uc_bidi_class_name,
1107         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
1108         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
1109         uc_decimal_value, uc_digit_value, uc_numeric_value,
1110         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
1111         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
1112         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
1113         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
1114         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
1115         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
1116         Declare with GCC attribute 'const'.
1117         (uc_general_category_name, uc_general_category_long_name,
1118         uc_general_category_byname, uc_general_category,
1119         uc_is_general_category, uc_combining_class_byname,
1120         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
1121         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
1122         Declare with GCC attribute 'pure'.
1123         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
1124         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
1125         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
1126         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
1127         with GCC attribute 'pure'.
1128         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
1129         'const'.
1130         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
1131         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
1132         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
1133         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
1134         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
1135         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
1136         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
1137         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
1138         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
1139         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
1140         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
1141         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
1142         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
1143         GCC attribute 'pure'.
1144         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
1145         'const'.
1146         * lib/uniwidth.in.h (uc_width): Simplify declaration.
1147         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
1148         u32_strwidth): Declare with GCC attribute 'pure'.
1149
1150         Enable common subexpression optimization in GCC.
1151         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
1152         (alphasort): Declare with GCC attribute 'pure'.
1153         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
1154         (atoll): Declare with GCC attribute 'pure'.
1155         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
1156         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
1157         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
1158         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
1159         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
1160         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
1161         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
1162
1163 2012-03-24  Bruno Haible  <bruno@clisp.org>
1164
1165         gnulib-tool: Avoid unintended error output from 'cmp'.
1166         * gnulib-tool (func_add_file, func_update_file, func_import): Use
1167         "cmp -s", not "cmp > /dev/null".
1168
1169 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
1170
1171         gnulib-tool: fix imprecise comments w.r.t. an automake bug
1172
1173         It's not just Automake versions < 1.9b that creates an empty
1174         pkgdatadir at installation time if pkgdata_DATA is specified
1175         to empty; modern automake versions do this as well, at least
1176         until automake 1.11.4 (not yet released at the moment of writing,
1177         but soon to appear).  That behaviour was generally considered a
1178         feature rather than a bug, at least until this discussion:
1179         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
1180
1181         See also automake bugs #10997 and #11030.
1182
1183         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
1184         reference to relevant automake bug numbers.
1185         (func_emit_tests_Makefile_am): Likewise.
1186
1187 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
1188
1189         announce-gen: use Digest::SHA when possible
1190         * build-aux/announce-gen: Use Digest::SHA when possible, falling
1191         back to Digest::SHA1 if necessary.
1192
1193 2012-03-20  Jim Meyering  <meyering@redhat.com>
1194
1195         tests: avoid gcc warnings about argv vs. const initializers
1196         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
1197         warnings about discarding 'const' qualifier from pointer target type.
1198         * tests/test-posix_spawn2.c (main): Likewise.
1199
1200 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
1201
1202         README-release: simplify slightly
1203         * top/README-release: Run "git checkout master" only once.
1204
1205 2012-03-15  Mark Wielaard  <mark@klomp.org>
1206
1207         git-merge-changelog: add specific example on how to use with hg.
1208         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
1209
1210 2012-03-18  Mark Wielaard  <mark@klomp.org>
1211
1212         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
1213
1214 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
1215
1216         git-version-gen: don't let "prefix" envvar cause trouble
1217         * build-aux/git-version-gen (prefix): Initialize properly,
1218         so as not to use a value specified via the environment.
1219         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
1220
1221 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
1222
1223         regex: diagnose too-large repeat counts in EREs
1224         Previously, the code did not diagnose the too-large repeat count
1225         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
1226         as if it were 'b\{1000000000}', which is unexpected.
1227         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
1228         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
1229         is a reasonable one for this problem.  Another option would be to
1230         create a new REG_OVERFLOW error for repeat counts that are too large.
1231         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
1232         count is too large, so that the caller can distinguish the two cases.
1233         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
1234         "Too large" return code, and that repeat counts are one example of this.
1235
1236 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
1237
1238         doc: some glibc x32 integer width issues
1239         * doc/posix-headers/sys_types.texi (sys/types.h):
1240         * doc/posix-headers/time.texi (time.h):
1241         Mention that glibc x32 does not conform to POSIX in a couple of
1242         areas related to integer widths.
1243
1244 2012-03-15  Bruno Haible  <bruno@clisp.org>
1245
1246         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
1247         * lib/fma.c (VOLATILE): New macro.
1248         (FUNC): Use it to work around a GCC compiler bug.
1249
1250 2012-03-13  Bruno Haible  <bruno@clisp.org>
1251
1252         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
1253         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
1254         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
1255         REPLACE_HYPOTL to 1.
1256         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
1257
1258 2012-03-13  Bruno Haible  <bruno@clisp.org>
1259
1260         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
1261         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
1262         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
1263         REPLACE_REMAINDERL to 1.
1264         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
1265         bug.
1266
1267 2012-03-13  Bruno Haible  <bruno@clisp.org>
1268
1269         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
1270         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
1271         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
1272         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
1273         too big rounding errors.
1274         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
1275         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
1276         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
1277         (Depends-on): Update conditions.
1278         * tests/test-sqrtl.c (my_ldexpl): New function.
1279         (main): Add test of a particular value.
1280         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
1281
1282 2012-03-13  Pádraig Brady  <P@draigBrady.com>
1283
1284         doc: Update timer_* platform portability notes.
1285         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
1286         that always return ENOSYS.
1287         * doc/posix-functions/timer_delete.texi: Likewise.
1288         * doc/posix-functions/timer_gettime.texi: Likewise.
1289         * doc/posix-functions/timer_settime.texi: Likewise.
1290
1291 2012-03-13  Bruno Haible  <bruno@clisp.org>
1292
1293         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
1294         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
1295         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
1296         REPLACE_CBRTL to 1.
1297         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
1298
1299 2012-03-13  Bruno Haible  <bruno@clisp.org>
1300
1301         remainderl: Avoid compilation error on AIX >= 5.2.
1302         * lib/math.in.h (remainderl): Undefine macro from the system header.
1303
1304 2012-03-13  Bruno Haible  <bruno@clisp.org>
1305
1306         Avoid compilation errors with MSVC option -fp:strict.
1307         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
1308         * lib/cbrtf.c: Likewise.
1309         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
1310
1311 2012-03-12  Bruno Haible  <bruno@clisp.org>
1312
1313         uninorm: Don't crash in out-of-memory conditions.
1314         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
1315         gracefully.
1316         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
1317         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
1318
1319 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
1320
1321         quote: fix syntax-check
1322         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
1323         also exports quote_quoting_options.
1324
1325 2012-03-12  Simon Josefsson  <simon@josefsson.org>
1326
1327         Collapse list of copyright years to ranges.  See
1328         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
1329         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
1330         build-aux/csharpexec.sh.in, build-aux/gnupload,
1331         build-aux/install-reloc, build-aux/javacomp.sh.in,
1332         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
1333         build-aux/move-if-change, build-aux/reloc-ldflags,
1334         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
1335
1336 2012-03-11  Bruno Haible  <bruno@clisp.org>
1337
1338         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
1339         * m4/log2f-ieee.m4: New file.
1340         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
1341         whether log2f works with a minus zero argument. Replace it if not.
1342         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
1343         (Depends-on): Add log2-ieee.
1344         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
1345         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
1346
1347         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
1348         * m4/log2-ieee.m4: New file.
1349         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
1350         whether log2 works with a minus zero argument. Replace it if not.
1351         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
1352         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
1353         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
1354
1355         Tests for module 'log2l-ieee'.
1356         * modules/log2l-ieee-tests: New file.
1357         * tests/test-log2l-ieee.c: New file.
1358
1359         New module 'log2l-ieee'.
1360         * modules/log2l-ieee: New file.
1361
1362         Tests for module 'log2-ieee'.
1363         * modules/log2-ieee-tests: New file.
1364         * tests/test-log2-ieee.c: New file.
1365
1366         New module 'log2-ieee'.
1367         * modules/log2-ieee: New file.
1368
1369         Tests for module 'log2f-ieee'.
1370         * modules/log2f-ieee-tests: New file.
1371         * tests/test-log2f-ieee.c: New file.
1372         * tests/test-log2-ieee.h: New file.
1373
1374         New module 'log2f-ieee'.
1375         * modules/log2f-ieee: New file.
1376
1377 2012-03-11  Bruno Haible  <bruno@clisp.org>
1378
1379         Tests for module 'log2l'.
1380         * modules/log2l-tests: New file.
1381         * tests/test-log2l.c: New file.
1382
1383         New module 'log2l'.
1384         * lib/math.in.h (log2l): New declaration.
1385         * lib/log2l.c: New file.
1386         * m4/log2l.m4: New file.
1387         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
1388         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
1389         REPLACE_LOG2L.
1390         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
1391         REPLACE_LOG2L.
1392         * modules/log2l: New file.
1393         * tests/test-math-c++.cc: Check the declaration of log2l.
1394         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
1395         and OSF/1 problems.
1396
1397 2012-03-11  Bruno Haible  <bruno@clisp.org>
1398
1399         Tests for module 'log2f'.
1400         * modules/log2f-tests: New file.
1401         * tests/test-log2f.c: New file.
1402
1403         New module 'log2f'.
1404         * lib/math.in.h (log2f): New declaration.
1405         * lib/log2f.c: New file.
1406         * m4/log2f.m4: New file.
1407         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
1408         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
1409         REPLACE_LOG2F.
1410         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
1411         REPLACE_LOG2F.
1412         * modules/log2f: New file.
1413         * tests/test-math-c++.cc: Check the declaration of log2f.
1414         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
1415         and OSF/1 and Cygwin problems.
1416
1417 2012-03-11  Bruno Haible  <bruno@clisp.org>
1418
1419         Tests for module 'log2'.
1420         * modules/log2-tests: New file.
1421         * tests/test-log2.c: New file.
1422         * tests/test-log2.h: New file.
1423
1424         New module 'log2'.
1425         * lib/math.in.h (log2): New declaration.
1426         * lib/log2.c: New file.
1427         * m4/log2.m4: New file.
1428         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
1429         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
1430         REPLACE_LOG2.
1431         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
1432         REPLACE_LOG2.
1433         * modules/log2: New file.
1434         * tests/test-math-c++.cc: Check the declaration of log2.
1435         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
1436         and OSF/1 and Cygwin problems.
1437
1438 2012-03-11  Bruno Haible  <bruno@clisp.org>
1439
1440         exp2* tests: More tests.
1441         * tests/test-exp2.h (test_function): Test all integral arguments that
1442         don't need to overflow or denormalized numbers.
1443         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
1444         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
1445         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
1446
1447 2012-03-10  Bruno Haible  <bruno@clisp.org>
1448
1449         log1pl-ieee: Work around test failure on AIX 7.1.
1450         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
1451
1452         log1pl-ieee: Work around test failure on IRIX 6.5.
1453         * m4/log1pl-ieee.m4: New file.
1454         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
1455         test whether log1pl works with a minus zero argument. Replace it if
1456         not.
1457         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
1458         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
1459         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
1460         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
1461         (Depends-on): Update conditions.
1462         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
1463         m4/signbit.m4.
1464         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
1465         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
1466
1467         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
1468         * m4/log1pf-ieee.m4: New file.
1469         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
1470         test whether log1pf works with a minus zero argument. Replace it if
1471         not.
1472         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
1473         m4/signbit.m4.
1474         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
1475         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
1476
1477         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
1478         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
1479         (configure.ac): Require gl_FUNC_LOG1PF.
1480
1481         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
1482         * m4/log1p-ieee.m4: New file.
1483         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
1484         whether log1p works with a minus zero argument. Replace it if not.
1485         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
1486         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
1487         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
1488         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
1489         (Depends-on): Update conditions.
1490         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
1491         m4/signbit.m4.
1492         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
1493         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
1494
1495         Tests for module 'log1pl-ieee'.
1496         * modules/log1pl-ieee-tests: New file.
1497         * tests/test-log1pl-ieee.c: New file.
1498
1499         New module 'log1pl-ieee'.
1500         * modules/log1pl-ieee: New file.
1501
1502         Tests for module 'log1p-ieee'.
1503         * modules/log1p-ieee-tests: New file.
1504         * tests/test-log1p-ieee.c: New file.
1505
1506         New module 'log1p-ieee'.
1507         * modules/log1p-ieee: New file.
1508
1509         Tests for module 'log1pf-ieee'.
1510         * modules/log1pf-ieee-tests: New file.
1511         * tests/test-log1pf-ieee.c: New file.
1512         * tests/test-log1p-ieee.h: New file.
1513
1514         New module 'log1pf-ieee'.
1515         * modules/log1pf-ieee: New file.
1516
1517 2012-03-10  Bruno Haible  <bruno@clisp.org>
1518
1519         Tests for module 'log1pl'.
1520         * modules/log1pl-tests: New file.
1521         * tests/test-log1pl.c: New file.
1522
1523         New module 'log1pl'.
1524         * lib/math.in.h (log1pl): New declaration.
1525         * lib/log1pl.c: New file.
1526         * m4/log1pl.m4: New file.
1527         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
1528         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
1529         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
1530         * modules/log1pl: New file.
1531         * tests/test-math-c++.cc: Check the declaration of log1pl.
1532         * doc/posix-functions/log1pl.texi: Mention the new module.
1533
1534 2012-03-10  Bruno Haible  <bruno@clisp.org>
1535
1536         Tests for module 'log1pf'.
1537         * modules/log1pf-tests: New file.
1538         * tests/test-log1pf.c: New file.
1539
1540         New module 'log1pf'.
1541         * lib/math.in.h (log1pf): New declaration.
1542         * lib/log1pf.c: New file.
1543         * m4/log1pf.m4: New file.
1544         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
1545         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
1546         REPLACE_LOG1PF.
1547         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
1548         REPLACE_LOG1PF.
1549         * modules/log1pf: New file.
1550         * tests/test-math-c++.cc: Check the declaration of log1pf.
1551         * doc/posix-functions/log1pf.texi: Mention the new module.
1552
1553 2012-03-10  Bruno Haible  <bruno@clisp.org>
1554
1555         log1p tests: More tests.
1556         * tests/test-log1p.h: New file.
1557         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
1558         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
1559         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
1560         (main): Invoke test_function.
1561
1562         log1p: Provide replacement for Minix and MSVC.
1563         * lib/math.in.h (log1p): New declaration.
1564         * lib/log1p.c: New file.
1565         * m4/log1p.m4: New file.
1566         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
1567         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
1568         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
1569         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
1570         (Depends-on): Add math, isnand, log, round.
1571         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
1572         HAVE_LOG1P is 0.
1573         * tests/test-math-c++.cc: Check the declaration of log1p.
1574         * doc/posix-functions/log1p.texi: Mention the replacement.
1575
1576 2012-03-10  Bruno Haible  <bruno@clisp.org>
1577
1578         math tests: Small simplification.
1579         * tests/test-exp.h (test_function): Use the same err_bound for
1580         'double' on platforms with sizeof (long double) == sizeof (double)
1581         than on platforms with sizeof (long double) > sizeof (double).
1582         * tests/test-exp2.h (test_function): Likewise.
1583         * tests/test-expm1.h (test_function): Likewise.
1584         * tests/test-log.h (test_function): Likewise.
1585
1586 2012-03-10  Bruno Haible  <bruno@clisp.org>
1587
1588         Fix some comments.
1589         * lib/expl.c: Fix an ambiguous comment.
1590         * lib/expm1.c: Likewise.
1591         * lib/expm1l.c: Likewise.
1592         * lib/exp2.c: Likewise.
1593         * lib/exp2l.c: Likewise.
1594
1595 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
1596
1597         regex: allow inclusion of <regex.h> before <limits.h>
1598         Without this patch, portable programs had to include <limits.h> before
1599         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
1600         I ran into this problem with a test version of GNU grep on Solaris 8.
1601         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
1602         This is done conditionally so that this change can be merged
1603         back to glibc.
1604         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
1605         using the included regex.
1606
1607         fts: depend on fdopendir
1608         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
1609         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
1610         problem was introduced when fdopendir was split out.
1611
1612 2012-03-10  Bruno Haible  <bruno@clisp.org>
1613
1614         Remove unused variables.
1615         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
1616         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
1617
1618 2012-03-10  Bruno Haible  <bruno@clisp.org>
1619
1620         isnanf-nolibm: Fix last commit.
1621         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
1622
1623         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
1624         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
1625
1626 2012-03-10  Bruno Haible  <bruno@clisp.org>
1627
1628         logf-ieee: Work around test failure on NetBSD 5.1.
1629         * m4/logf-ieee.m4: New file.
1630         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
1631         whether logf works with a negative argument. Replace it if not.
1632         * lib/logf.c (logf): For negative arguments, return NaN.
1633         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
1634         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
1635         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
1636
1637         logf-ieee: Work around test failure on Solaris 9.
1638         * modules/logf-ieee (Depends-on): Add log-ieee.
1639         (configure.ac): Require gl_FUNC_LOGF.
1640
1641         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
1642         * m4/log-ieee.m4: New file.
1643         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
1644         log works with a negative argument. Replace it if not.
1645         * lib/log.c (log): For negative arguments, return NaN.
1646         * modules/log-ieee (Files): Add m4/log-ieee.m4.
1647         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
1648         * doc/posix-functions/log.texi: Mention the log-ieee module.
1649
1650         Tests for module 'logl-ieee'.
1651         * modules/logl-ieee-tests: New file.
1652         * tests/test-logl-ieee.c: New file.
1653
1654         New module 'logl-ieee'.
1655         * modules/logl-ieee: New file.
1656
1657         Tests for module 'log-ieee'.
1658         * modules/log-ieee-tests: New file.
1659         * tests/test-log-ieee.c: New file.
1660
1661         New module 'log-ieee'.
1662         * modules/log-ieee: New file.
1663
1664         Tests for module 'logf-ieee'.
1665         * modules/logf-ieee-tests: New file.
1666         * tests/test-logf-ieee.c: New file.
1667         * tests/test-log-ieee.h: New file.
1668
1669         New module 'logf-ieee'.
1670         * modules/logf-ieee: New file.
1671
1672 2012-03-10  Bruno Haible  <bruno@clisp.org>
1673
1674         log: Fix bug introduced on 2012-03-09.
1675         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
1676
1677 2012-03-10  Pádraig Brady  <P@draigBrady.com>
1678
1679         timer-time: link explicitly with pthreads on glibc
1680         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
1681         to support static linking, when newer glibc is
1682         detected, as that contains pthread emulation of
1683         POSIX timer functions where required.
1684         * modules/timer-time: Depend on threadlib to
1685         pull in the appropriate library to link.
1686
1687 2012-03-10  Bruno Haible  <bruno@clisp.org>
1688
1689         log* tests: More tests.
1690         * tests/test-log.h: New file.
1691         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
1692         (main): Invoke test_function.
1693         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
1694         (main): Invoke test_function.
1695         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
1696         (main): Invoke test_function.
1697         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
1698         tests/randomd.c.
1699         (Makefile.am): Add randomd.c to test_log_SOURCES.
1700         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
1701         tests/randomf.c.
1702         (Makefile.am): Add randomf.c to test_logf_SOURCES.
1703         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
1704         tests/randoml.c.
1705         (Depends-on): Add 'float'.
1706         (Makefile.am): Add randoml.c to test_logl_SOURCES.
1707
1708 2012-03-09  Bruno Haible  <bruno@clisp.org>
1709
1710         logl: Work around OSF/1 5.1 bug.
1711         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
1712         * lib/logl.c (logl): If logl exists, use it and provide just the
1713         workaround.
1714         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
1715         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
1716         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
1717         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
1718         * modules/logl (configure.ac): Consider REPLACE_LOGL.
1719         (Depends-on): Update conditions.
1720         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
1721
1722 2012-03-09  Bruno Haible  <bruno@clisp.org>
1723
1724         logf: Work around OSF/1 5.1 bug.
1725         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
1726         * lib/logf.c (logf): If logf exists, use it and provide just the
1727         workaround.
1728         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
1729         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
1730         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
1731         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
1732         * modules/logf (configure.ac): Consider REPLACE_LOGF.
1733         (Depends-on): Update conditions.
1734         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
1735
1736 2012-03-09  Bruno Haible  <bruno@clisp.org>
1737
1738         log: Work around OSF/1 5.1 bug.
1739         * lib/math.in.h (log): New declaration.
1740         * lib/log.c: New file.
1741         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
1742         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
1743         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
1744         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
1745         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
1746         * modules/log (Files): Add lib/log.c.
1747         (Depends-on): Add math.
1748         (configure.ac): If REPLACE_LOG is 1, compile an override.
1749         * tests/test-math-c++.cc: Check the declaration of log.
1750         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
1751
1752 2012-03-09  Jim Meyering  <meyering@redhat.com>
1753
1754         readtokens.c: adjust wording in a comment
1755         * lib/readtokens.c: Insert omitted "that" in a comment.
1756
1757 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
1758
1759         modechange: add notations +40, 00440, etc.
1760         * lib/modechange.c (mode_compile): Support new notations
1761         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
1762
1763 2012-03-08  Bruno Haible  <bruno@clisp.org>
1764
1765         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
1766         * m4/exp2l-ieee.m4: New file.
1767         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
1768         test whether exp2l works with a NaN argument and with a negative
1769         infinity argument. Replace it if not.
1770         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
1771         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
1772         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
1773         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
1774         (Depends-on): Update conditions.
1775         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
1776         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
1777         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
1778
1779         Tests for module 'exp2l-ieee'.
1780         * modules/exp2l-ieee-tests: New file.
1781         * tests/test-exp2l-ieee.c: New file.
1782
1783         New module 'exp2l-ieee'.
1784         * modules/exp2l-ieee: New file.
1785
1786         Tests for module 'exp2-ieee'.
1787         * modules/exp2-ieee-tests: New file.
1788         * tests/test-exp2-ieee.c: New file.
1789
1790         New module 'exp2-ieee'.
1791         * modules/exp2-ieee: New file.
1792
1793         Tests for module 'exp2f-ieee'.
1794         * modules/exp2f-ieee-tests: New file.
1795         * tests/test-exp2f-ieee.c: New file.
1796         * tests/test-exp2-ieee.h: New file.
1797
1798         New module 'exp2f-ieee'.
1799         * modules/exp2f-ieee: New file.
1800
1801 2012-03-08  Bruno Haible  <bruno@clisp.org>
1802
1803         Tests for module 'exp2l'.
1804         * modules/exp2l-tests: New file.
1805         * tests/test-exp2l.c: New file.
1806
1807         New module 'exp2l'.
1808         * lib/math.in.h (exp2l): New declaration.
1809         * lib/exp2l.c: New file.
1810         * lib/expl-table.c: New file, extracted from lib/expl.c.
1811         * lib/expl.c (gl_expl_table): New declaration.
1812         (expl): Remove expl_table. Update reference.
1813         * m4/exp2l.m4: New file.
1814         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
1815         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
1816         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
1817         * modules/exp2l: New file.
1818         * modules/expl (Files): Add lib/expl-table.c.
1819         (configure.ac): Compile also expl-table.c.
1820         * tests/test-math-c++.cc: Check the declaration of exp2l.
1821         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
1822         problem.
1823
1824 2012-03-08  Bruno Haible  <bruno@clisp.org>
1825
1826         Tests for module 'exp2f'.
1827         * modules/exp2f-tests: New file.
1828         * tests/test-exp2f.c: New file.
1829
1830         New module 'exp2f'.
1831         * lib/math.in.h (exp2f): New declaration.
1832         * lib/exp2f.c: New file.
1833         * m4/exp2f.m4: New file.
1834         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
1835         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
1836         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
1837         * modules/exp2f: New file.
1838         * tests/test-math-c++.cc: Check the declaration of exp2f.
1839         * doc/posix-functions/exp2f.texi: Mention the new module and the
1840         IRIX problem.
1841
1842 2012-03-08  Bruno Haible  <bruno@clisp.org>
1843
1844         Tests for module 'exp2'.
1845         * modules/exp2-tests: New file.
1846         * tests/test-exp2.c: New file.
1847         * tests/test-exp2.h: New file.
1848
1849         New module 'exp2'.
1850         * lib/math.in.h (exp2): New declaration.
1851         * lib/exp2.c: New file.
1852         * m4/exp2.m4: New file.
1853         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
1854         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
1855         REPLACE_EXP2.
1856         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
1857         REPLACE_EXP2.
1858         * modules/exp2: New file.
1859         * tests/test-math-c++.cc: Check the declaration of exp2.
1860         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
1861         and OpenBSD problems.
1862
1863 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
1864
1865         savedir: fix comment typo
1866         * lib/savedir.c (savedirstream): Fix typo in comment.
1867
1868 2012-03-08  Bruno Haible  <bruno@clisp.org>
1869
1870         test-readtokens.c: use const; remove unwarranted cast
1871         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
1872
1873 2012-03-08  Bruno Haible  <bruno@clisp.org>
1874
1875         fmal: Avoid compilation error on AIX.
1876         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
1877         AIX 5.2..7.1.
1878
1879 2012-03-08  Bruno Haible  <bruno@clisp.org>
1880
1881         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
1882         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
1883         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
1884         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
1885         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
1886         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
1887         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
1888
1889 2012-03-08  Bruno Haible  <bruno@clisp.org>
1890
1891         remainderf: Override buggy system function on IRIX 6.5.
1892         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
1893         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
1894         when it exists.
1895         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
1896
1897 2012-03-08  Jim Meyering  <meyering@redhat.com>
1898
1899         test-readtokens.c: avoid const-related compilation warnings
1900         * tests/test-readtokens.c: Avoid const-related compilation warnings.
1901
1902 2012-03-07  Jim Meyering  <meyering@redhat.com>
1903             Bruno Haible  <bruno@clisp.org>
1904
1905         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
1906         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
1907         tests/randomd.c.
1908         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
1909         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
1910         tests/randoml.c.
1911         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
1912
1913 2012-03-07  Bruno Haible  <bruno@clisp.org>
1914
1915         expm1l: Avoid compilation error on AIX.
1916         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
1917         AIX 5.2..7.1.
1918
1919 2012-03-07  Bruno Haible  <bruno@clisp.org>
1920
1921         expm1l: Don't override undeclared system function on IRIX 6.5.
1922         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
1923         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
1924         it exists. Set HAVE_DECL_EXPM1L.
1925         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
1926         HAVE_EXPM1L.
1927         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
1928         HAVE_EXPM1L.
1929         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
1930
1931 2012-03-07  Bruno Haible  <bruno@clisp.org>
1932
1933         remainderl: Don't override undeclared system function on IRIX 6.5.
1934         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
1935         HAVE_REMAINDERL.
1936         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
1937         declared when it exists. Set HAVE_DECL_REMAINDERL.
1938         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
1939         not HAVE_REMAINDERL.
1940         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
1941         HAVE_REMAINDERL.
1942         * doc/posix-functions/remainderl.texi: Mention missing declaration
1943         problem.
1944
1945 2012-03-07  Bruno Haible  <bruno@clisp.org>
1946
1947         rintf: Don't override undeclared system function on IRIX 6.5.
1948         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
1949         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
1950         exists. Set HAVE_DECL_RINTF.
1951         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
1952         HAVE_RINTF.
1953         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
1954         HAVE_RINTF.
1955         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
1956
1957 2012-03-07  Bruno Haible  <bruno@clisp.org>
1958
1959         roundl: Avoid compilation error on AIX.
1960         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
1961         AIX 5.2..7.1.
1962
1963 2012-03-07  Bruno Haible  <bruno@clisp.org>
1964
1965         roundl: Don't override undeclared system function on IRIX 6.5.
1966         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
1967         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
1968         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
1969         * modules/roundl (configure.ac): For replacement code, test
1970         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
1971         (Depends-on): Update conditions.
1972         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
1973
1974 2012-03-07  Bruno Haible  <bruno@clisp.org>
1975
1976         roundf: Don't override undeclared system function on IRIX 6.5.
1977         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
1978         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
1979         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
1980         * modules/roundf (configure.ac): For replacement code, test
1981         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
1982         (Depends-on): Update conditions.
1983         * modules/roundf-ieee (Depends-on): Update conditions.
1984         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
1985
1986 2012-03-07  Bruno Haible  <bruno@clisp.org>
1987
1988         round: Don't override undeclared system function on IRIX 6.5.
1989         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
1990         argument.
1991         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
1992         also when it is not declared. Set HAVE_ROUND. For replacement code,
1993         test HAVE_ROUND, not HAVE_DECL_ROUND.
1994         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
1995         not HAVE_DECL_ROUND.
1996         (Depends-on): Update conditions.
1997         * modules/round-ieee (Depends-on): Update conditions.
1998         * doc/posix-functions/round.texi: Mention the IRIX problem.
1999
2000 2012-03-07  Bruno Haible  <bruno@clisp.org>
2001
2002         copysignf: Don't override undeclared system function on IRIX 6.5.
2003         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
2004         HAVE_COPYSIGNF.
2005         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
2006         declared when it exists. Set HAVE_DECL_COPYSIGNF.
2007         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
2008         not HAVE_COPYSIGNF.
2009         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
2010         HAVE_COPYSIGNF.
2011         * doc/posix-functions/copysignf.texi: Mention missing declaration
2012         problem.
2013
2014 2012-03-07  Jim Meyering  <meyering@redhat.com>
2015
2016         readtokens: add tests
2017         * modules/readtokens-tests: New file.
2018         * tests/test-readtokens.c: New file.
2019
2020 2012-03-07  Jim Meyering  <meyering@redhat.com>
2021
2022         quotearg: the module must now include quote.h
2023         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
2024         So must the module.
2025         * modules/quotearg (Files): Add quote.h.
2026
2027 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
2028
2029         readtokens: avoid core dumps with unusual calling patterns
2030         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
2031         * lib/readtokens.c: Include limits.h.
2032         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
2033         (readtoken): Don't cache the delimiters; the cache code was buggy
2034         if !delim && saved_delim, or if the new n_delim differs from the old.
2035         Also, it wasn't thread-safe.
2036
2037 2012-03-07  Bruno Haible  <bruno@clisp.org>
2038
2039         quote: Adhere to common module description layout.
2040         * modules/quote (Makefile.am): Add back empty section.
2041
2042 2012-03-06  Akim Demaille  <demaille@gostai.com>
2043
2044         quote: fuse into quotearg
2045         This patch is made for the benefit of Bison.
2046         quote does not leave the choice of the quoting style to the user.
2047         quoting_style provides poor customizability, yet quoting_options,
2048         which is very rich, is hidden inside quotearg.c.  So in order to
2049         allow quote customization, move its implementation to quotearg.c.
2050         * lib/quote.c: Remove.
2051         * modules/quote: Adjust.
2052         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
2053         warning: provide all the members of literal structs.
2054         (quote_quoting_options): New.
2055         (quote, quote_n): Import implementation from quote.c.
2056         * lib/quote.h: Import the comments from quote.c.
2057         (quote_quoting_options): New.
2058
2059 2012-03-06  Bruno Haible  <bruno@clisp.org>
2060
2061         Tests for module 'expm1l-ieee'.
2062         * modules/expm1l-ieee-tests: New file.
2063         * tests/test-expm1l-ieee.c: New file.
2064
2065         New module 'expm1l-ieee'.
2066         * modules/expm1l-ieee: New file.
2067
2068         Tests for module 'expm1f-ieee'.
2069         * modules/expm1f-ieee-tests: New file.
2070         * tests/test-expm1f-ieee.c: New file.
2071
2072         New module 'expm1f-ieee'.
2073         * modules/expm1f-ieee: New file.
2074
2075         Tests for module 'expm1-ieee'.
2076         * modules/expm1-ieee-tests: New file.
2077         * tests/test-expm1-ieee.c: New file.
2078         * tests/test-expm1-ieee.h: New file.
2079
2080         New module 'expm1-ieee'.
2081         * modules/expm1-ieee: New file.
2082         * m4/expm1-ieee.m4: New file.
2083         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
2084         whether expm1 works with a minus zero argument. Replace it if not.
2085         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
2086         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
2087         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
2088         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
2089         (Depends-on): Update conditions.
2090         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
2091         AIX problem.
2092
2093 2012-03-06  Bruno Haible  <bruno@clisp.org>
2094
2095         Work around expm1f bug on IRIX 6.5.
2096         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
2097         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
2098         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
2099         not work.
2100         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
2101         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
2102         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
2103         (Depends-on): Update conditions.
2104         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
2105
2106 2012-03-06  Bruno Haible  <bruno@clisp.org>
2107
2108         Tests for module 'expm1l'.
2109         * modules/expm1l-tests: New file.
2110         * tests/test-expm1l.c: New file.
2111
2112         New module 'expm1l'.
2113         * lib/math.in.h (expm1l): New declaration.
2114         * lib/expm1l.c: New file.
2115         * m4/expm1l.m4: New file.
2116         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
2117         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
2118         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
2119         * modules/expm1l: New file.
2120         * tests/test-math-c++.cc: Check the declaration of expm1l.
2121         * doc/posix-functions/expm1l.texi: Mention the new module.
2122
2123 2012-03-06  Bruno Haible  <bruno@clisp.org>
2124
2125         Tests for module 'expm1f'.
2126         * modules/expm1f-tests: New file.
2127         * tests/test-expm1f.c: New file.
2128
2129         New module 'expm1f'.
2130         * lib/math.in.h (expm1f): New declaration.
2131         * lib/expm1f.c: New file.
2132         * m4/expm1f.m4: New file.
2133         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
2134         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
2135         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
2136         * modules/expm1f: New file.
2137         * tests/test-math-c++.cc: Check the declaration of expm1f.
2138         * doc/posix-functions/expm1f.texi: Mention the new module.
2139
2140 2012-03-06  Bruno Haible  <bruno@clisp.org>
2141
2142         Tests for module 'expm1'.
2143         * modules/expm1-tests: New file.
2144         * tests/test-expm1.c: New file.
2145         * tests/test-expm1.h: New file.
2146
2147         New module 'expm1'.
2148         * lib/math.in.h (expm1): New declaration.
2149         * lib/expm1.c: New file.
2150         * m4/expm1.m4: New file.
2151         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
2152         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
2153         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
2154         * modules/expm1: New file.
2155         * tests/test-math-c++.cc: Check the declaration of expm1.
2156         * doc/posix-functions/expm1.texi: Mention the new module.
2157
2158 2012-03-06  Bruno Haible  <bruno@clisp.org>
2159
2160         math: Ensure declarations of math functions.
2161         * modules/acosf (Depends-on): Add 'extensions'.
2162         * modules/asinf (Depends-on): Likewise.
2163         * modules/atan2f (Depends-on): Likewise.
2164         * modules/atanf (Depends-on): Likewise.
2165         * modules/cbrt (Depends-on): Likewise.
2166         * modules/cbrtf (Depends-on): Likewise.
2167         * modules/cbrtl (Depends-on): Likewise.
2168         * modules/copysignf (Depends-on): Likewise.
2169         * modules/copysignl (Depends-on): Likewise.
2170         * modules/cosf (Depends-on): Likewise.
2171         * modules/coshf (Depends-on): Likewise.
2172         * modules/expf (Depends-on): Likewise.
2173         * modules/fabsf (Depends-on): Likewise.
2174         * modules/fabsl (Depends-on): Likewise.
2175         * modules/fmaf (Depends-on): Likewise.
2176         * modules/fmal (Depends-on): Likewise.
2177         * modules/fmodf (Depends-on): Likewise.
2178         * modules/fmodl (Depends-on): Likewise.
2179         * modules/frexpf (Depends-on): Likewise.
2180         * modules/frexpl (Depends-on): Likewise.
2181         * modules/hypot (Depends-on): Likewise.
2182         * modules/hypotf (Depends-on): Likewise.
2183         * modules/hypotl (Depends-on): Likewise.
2184         * modules/ldexpf (Depends-on): Likewise.
2185         * modules/ldexpl (Depends-on): Likewise.
2186         * modules/log10f (Depends-on): Likewise.
2187         * modules/log10l (Depends-on): Likewise.
2188         * modules/log1p (Depends-on): Likewise.
2189         * modules/logb (Depends-on): Likewise.
2190         * modules/logf (Depends-on): Likewise.
2191         * modules/modff (Depends-on): Likewise.
2192         * modules/modfl (Depends-on): Likewise.
2193         * modules/powf (Depends-on): Likewise.
2194         * modules/remainderf (Depends-on): Likewise.
2195         * modules/remainderl (Depends-on): Likewise.
2196         * modules/rintf (Depends-on): Likewise.
2197         * modules/rintl (Depends-on): Likewise.
2198         * modules/sinf (Depends-on): Likewise.
2199         * modules/sinhf (Depends-on): Likewise.
2200         * modules/sqrtf (Depends-on): Likewise.
2201         * modules/tanf (Depends-on): Likewise.
2202         * modules/tanhf (Depends-on): Likewise.
2203         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
2204         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
2205         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
2206         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
2207         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
2208         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
2209         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
2210         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
2211         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
2212         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
2213         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
2214         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
2215         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
2216         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
2217         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
2218         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
2219         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
2220         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
2221         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
2222         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
2223         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
2224         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
2225         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
2226         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
2227         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
2228         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
2229         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
2230         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
2231         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
2232         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
2233         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
2234         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
2235         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
2236         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
2237         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
2238         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
2239         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
2240         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
2241         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
2242         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
2243         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
2244
2245 2012-03-06  Bruno Haible  <bruno@clisp.org>
2246
2247         math: Update module names in warnings.
2248         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
2249         tanl): Use specific module name in warn-on-use warning.
2250
2251 2012-03-06  Bruno Haible  <bruno@clisp.org>
2252
2253         expl: Simplify computation.
2254         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
2255
2256 2012-03-05  Bruno Haible  <bruno@clisp.org>
2257
2258         exp* tests: More tests.
2259         * tests/test-exp.h: New file.
2260         * tests/test-exp.c: Include <float.h> and test-exp.h.
2261         (main): Invoke test_function.
2262         * tests/test-expf.c: Include <float.h> and test-exp.h.
2263         (main): Invoke test_function.
2264         * tests/test-expl.c: Include <float.h> and test-exp.h.
2265         (main): Invoke test_function.
2266         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
2267         (Makefile.am): Add randomd.c to test_exp_SOURCES.
2268         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
2269         (Makefile.am): Add randomf.c to test_expf_SOURCES.
2270         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
2271         (Depends-on): Add 'float'.
2272         (Makefile.am): Add randoml.c to test_expl_SOURCES.
2273
2274         expl: Fix precision of computed result.
2275         * lib/expl.c: Completely rewritten.
2276         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
2277         (Maintainer): Add me.
2278         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
2279
2280 2012-03-05  Bruno Haible  <bruno@clisp.org>
2281
2282         cbrt* tests: More tests.
2283         * tests/test-cbrt.h: New file.
2284         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
2285         (main): Invoke test_function.
2286         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
2287         (main): Invoke test_function.
2288         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
2289         (main): Invoke test_function.
2290         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
2291         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
2292         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
2293         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
2294         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
2295         (Depends-on): Add 'float'.
2296         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
2297
2298 2012-03-05  Bruno Haible  <bruno@clisp.org>
2299
2300         hypot* tests: More tests.
2301         * tests/test-hypot.h: New file, partially extracted from
2302         tests/test-hypotl.c.
2303         * tests/test-hypot.c: Include test-hypot.h.
2304         (main): Invoke test_function.
2305         * tests/test-hypotf.c: Include test-hypot.h.
2306         (main): Invoke test_function.
2307         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
2308         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
2309         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
2310         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
2311         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
2312         tests/randomf.c.
2313         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
2314         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
2315         tests/randoml.c.
2316         (Depends-on): Add 'fpucw', 'float'.
2317         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
2318
2319 2012-03-05  Bruno Haible  <bruno@clisp.org>
2320
2321         fpucw: Doc about FreeBSD.
2322         * lib/fpucw.h: Mention FreeBSD in comments.
2323
2324 2012-03-04  Bruno Haible  <bruno@clisp.org>
2325
2326         sqrt* tests: More tests.
2327         * tests/test-sqrt.h: New file.
2328         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
2329         (main): Invoke test_function.
2330         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
2331         (main): Invoke test_function.
2332         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
2333         (main): Invoke test_function.
2334         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
2335         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
2336         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
2337         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
2338         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
2339         (Depends-on): Add 'float'.
2340         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
2341
2342 2012-03-04  Bruno Haible  <bruno@clisp.org>
2343
2344         remainder* tests: More tests.
2345         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
2346         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
2347         (main): Invoke test_function.
2348         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
2349         (main): Invoke test_function.
2350         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
2351         (main): Invoke test_function.
2352         * modules/remainder-tests (Files): Add tests/test-remainder.h,
2353         tests/randomd.c.
2354         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
2355         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
2356         tests/randomf.c.
2357         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
2358         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
2359         tests/randoml.c.
2360         (Depends-on): Add 'float'.
2361         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
2362
2363 2012-03-04  Bruno Haible  <bruno@clisp.org>
2364
2365         remainder, remainderf, remainderl: Fix computation for large quotients.
2366         * lib/remainder.c: Completely rewritten.
2367         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
2368         USE_FLOAT.
2369         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
2370         USE_LONG_DOUBLE.
2371         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
2372         isnand, isinf. Remove round, fma.
2373         * modules/remainderf (Files): Add lib/remainder.c.
2374         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
2375         Remove roundf, fmaf.
2376         * modules/remainderl (Files): Add lib/remainder.c.
2377         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
2378         isinf. Remove roundl, fmal.
2379         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
2380         REMAINDER_LIBM.
2381         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
2382         REMAINDERF_LIBM.
2383         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
2384         REMAINDERL_LIBM.
2385
2386 2012-03-04  Bruno Haible  <bruno@clisp.org>
2387
2388         fmod* tests: More tests.
2389         * tests/test-fmod.h (my_ldexp): New function.
2390         (test_function): Reduce amount of random numbers to test. Add tests
2391         of very large quotients x / y.
2392         * tests/test-fmod.c (MAX_EXP): New macro.
2393         * tests/test-fmodf.c (MAX_EXP): Likewise.
2394         * tests/test-fmodl.c (MAX_EXP): Likewise.
2395
2396 2012-03-04  Bruno Haible  <bruno@clisp.org>
2397
2398         fmod, fmodl: Fix computation for large quotients x / y.
2399         * lib/fmod.c: Completely rewritten.
2400         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
2401         USE_LONG_DOUBLE.
2402         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
2403         isnand. Remove fma.
2404         * modules/fmodl (Files): Add lib/fmod.c.
2405         (Depends-on): Add float, isfinite, signbit, fabsl,
2406         frexpl, ldexpl, isnanl. Remove fma.
2407         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
2408         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
2409
2410 2012-03-03  Bruno Haible  <bruno@clisp.org>
2411
2412         fmod* tests: More tests.
2413         * tests/test-fmod.h: New file.
2414         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
2415         (main): Invoke test_function.
2416         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
2417         (main): Invoke test_function.
2418         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
2419         (main): Invoke test_function.
2420         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
2421         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
2422         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
2423         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
2424         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
2425         (Depends-on): Add 'float'.
2426         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
2427
2428 2012-03-03  Bruno Haible  <bruno@clisp.org>
2429
2430         rint* tests: More tests.
2431         * tests/test-rint.h: New file, partially extracted from
2432         tests/test-rintl.c.
2433         * tests/test-rint.c: Include test-rint.h.
2434         (main): Invoke test_function.
2435         * tests/test-rintf.c: Include test-rint.h.
2436         (main): Invoke test_function.
2437         * tests/test-rintl.c: Include test-rint.h.
2438         (main): Invoke test_function.
2439         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
2440         (Makefile.am): Add randomd.c to test_rint_SOURCES.
2441         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
2442         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
2443         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
2444         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
2445
2446 2012-03-03  Bruno Haible  <bruno@clisp.org>
2447
2448         modf* tests: More tests.
2449         * tests/test-modf.h: New file.
2450         * tests/test-modf.c: Include <float.h> and test-modf.h.
2451         (main): Invoke test_function.
2452         * tests/test-modff.c: Include <float.h> and test-modf.h.
2453         (main): Invoke test_function.
2454         * tests/test-modfl.c: Include <float.h> and test-modf.h.
2455         (main): Invoke test_function.
2456         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
2457         (Makefile.am): Add randomd.c to test_modf_SOURCES.
2458         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
2459         (Makefile.am): Add randomf.c to test_modff_SOURCES.
2460         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
2461         (Depends-on): Add 'float'.
2462         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
2463
2464 2012-03-03  Bruno Haible  <bruno@clisp.org>
2465
2466         fabs* tests: More tests.
2467         * tests/test-fabs.h: New file, partially extracted from
2468         tests/test-fabsl.c.
2469         * tests/test-fabs.c (RANDOM): New macro.
2470         * tests/test-fabsf.c (RANDOM): New macro.
2471         * tests/test-fabsl.c (RANDOM): New macro.
2472         * modules/fabs-tests (Files): Add tests/randomd.c.
2473         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
2474         * modules/fabsf-tests (Files): Add tests/randomf.c.
2475         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
2476         * modules/fabsl-tests (Files): Add tests/randoml.c.
2477         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
2478
2479 2012-03-03  Bruno Haible  <bruno@clisp.org>
2480
2481         ldexp* tests: More tests.
2482         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
2483         * tests/test-ldexp.c (RANDOM): New macro.
2484         * tests/test-ldexpf.c (RANDOM): New macro.
2485         * tests/test-ldexpl.c (RANDOM): New macro.
2486         * modules/ldexp-tests (Files): Add tests/randomd.c.
2487         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
2488         * modules/ldexpf-tests (Files): Add tests/randomf.c.
2489         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
2490         * modules/ldexpl-tests (Files): Add tests/randoml.c.
2491         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
2492
2493 2012-03-03  Bruno Haible  <bruno@clisp.org>
2494
2495         frexp* tests: More tests.
2496         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
2497         * tests/test-frexp.c (RANDOM): New macro.
2498         * tests/test-frexpf.c (RANDOM): New macro.
2499         * tests/test-frexpl.c (RANDOM): New macro.
2500         * modules/frexp-tests (Files): Add tests/randomd.c.
2501         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
2502         * modules/frexpf-tests (Files): Add tests/randomf.c.
2503         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
2504         * modules/frexpl-tests (Files): Add tests/randoml.c.
2505         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
2506
2507 2012-03-03  Bruno Haible  <bruno@clisp.org>
2508
2509         Support for pseudo-random numbers in tests.
2510         * tests/randomf.c: New file.
2511         * tests/randomd.c: New file.
2512         * tests/randoml.c: New file.
2513         * tests/macros.h (randomf, randomd, randoml): New declarations.
2514
2515 2012-03-03  Bruno Haible  <bruno@clisp.org>
2516
2517         frexp* tests: Refactor.
2518         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
2519         * tests/test-frexp.c: Include and use it.
2520         * tests/test-frexpf.c: Likewise.
2521         * tests/test-frexpl.c: Likewise.
2522         * modules/frexp-tests (Files): Add tests/test-frexp.h.
2523         * modules/frexpf-tests (Files): Likewise.
2524         * modules/frexpl-tests (Files): Likewise.
2525
2526 2012-03-02  Jim Meyering  <meyering@redhat.com>
2527
2528         maint: don't specify XZ_OPT=-9ev in dist-related rule
2529         Using xz's -9 option is warranted only if you have a very large
2530         tarball (see xz's documentation for the sizes vs. presets), and
2531         requires 64MiB of memory at decompression time.
2532         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
2533         Automake's default of just "-e" is fine.  Override on a
2534         per-package basis by setting XZ_OPT e.g., in cfg.mk.
2535
2536 2012-03-01  Eric Blake  <eblake@redhat.com>
2537
2538         maint.mk: allow announcement for non-gnulib project
2539         * maint.mk (announcement): Skip gnulib version if not used.
2540
2541 2012-03-01  Jim Meyering  <meyering@redhat.com>
2542
2543         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
2544         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
2545         envvar settings cannot interfere.  Otherwise, setting envvars like
2546         prohibit=foo require=bar, etc. would cause spurious test failures.
2547
2548 2012-03-01  Eric Blake  <eblake@redhat.com>
2549
2550         maint.mk: add per-line exclusions to prohibitions
2551         * maint.mk (_sc_search_regexp): Add $exclude parameter.
2552         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
2553         (sc_const_long_option): Use it.
2554
2555 2012-03-01  Bruno Haible  <bruno@clisp.org>
2556
2557         Tests for module 'expl-ieee'.
2558         * modules/expl-ieee-tests: New file.
2559         * tests/test-expl-ieee.c: New file.
2560
2561         New module 'expl-ieee'.
2562         * modules/expl-ieee: New file.
2563
2564         Tests for module 'exp-ieee'.
2565         * modules/exp-ieee-tests: New file.
2566         * tests/test-exp-ieee.c: New file.
2567
2568         New module 'exp-ieee'.
2569         * modules/exp-ieee: New file.
2570
2571         Tests for module 'expf-ieee'.
2572         * modules/expf-ieee-tests: New file.
2573         * tests/test-expf-ieee.c: New file.
2574         * tests/test-exp-ieee.h: New file.
2575
2576         New module 'expf-ieee'.
2577         * modules/expf-ieee: New file.
2578
2579 2012-02-29  Bruno Haible  <bruno@clisp.org>
2580
2581         cbrtl-ieee: Work around test failure on IRIX 6.5.
2582         * m4/cbrtl-ieee.m4: New file.
2583         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
2584         test whether cbrtl works with a minus zero argument. Replace it if not.
2585         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
2586         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
2587         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
2588         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
2589         (Depends-on): Update conditions.
2590         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
2591         m4/signbit.m4.
2592         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
2593         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
2594         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
2595
2596         Tests for module 'cbrtl-ieee'.
2597         * modules/cbrtl-ieee-tests: New file.
2598         * tests/test-cbrtl-ieee.c: New file.
2599
2600         New module 'cbrtl-ieee'.
2601         * modules/cbrtl-ieee: New file.
2602
2603         Tests for module 'cbrt-ieee'.
2604         * modules/cbrt-ieee-tests: New file.
2605         * tests/test-cbrt-ieee.c: New file.
2606
2607         New module 'cbrt-ieee'.
2608         * modules/cbrt-ieee: New file.
2609
2610         Tests for module 'cbrtf-ieee'.
2611         * modules/cbrtf-ieee-tests: New file.
2612         * tests/test-cbrtf-ieee.c: New file.
2613         * tests/test-cbrt-ieee.h: New file.
2614
2615         New module 'cbrtf-ieee'.
2616         * modules/cbrtf-ieee: New file.
2617
2618 2012-02-29  Bruno Haible  <bruno@clisp.org>
2619
2620         cbrtf: Work around bug in IRIX 6.5 system function.
2621         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
2622         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
2623         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
2624         work.
2625         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
2626         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
2627         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
2628         (Depends-on): Update conditions.
2629         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
2630
2631 2012-02-29  Bruno Haible  <bruno@clisp.org>
2632
2633         Tests for module 'cbrtl'.
2634         * modules/cbrtl-tests: New file.
2635         * tests/test-cbrtl.c: New file.
2636
2637         New module 'cbrtl'.
2638         * lib/math.in.h (cbrtl): New declaration.
2639         * lib/cbrtl.c: New file.
2640         * m4/cbrtl.m4: New file.
2641         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
2642         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
2643         HAVE_DECL_CBRTL.
2644         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
2645         HAVE_DECL_CBRTL.
2646         * modules/cbrtl: New file.
2647         * tests/test-math-c++.cc: Check the declaration of cbrtl.
2648         * doc/posix-functions/cbrtl.texi: Mention the new module.
2649
2650 2012-02-29  Bruno Haible  <bruno@clisp.org>
2651
2652         Tests for module 'cbrtf'.
2653         * modules/cbrtf-tests: New file.
2654         * tests/test-cbrtf.c: New file.
2655
2656         New module 'cbrtf'.
2657         * lib/math.in.h (cbrtf): New declaration.
2658         * lib/cbrtf.c: New file.
2659         * m4/cbrtf.m4: New file.
2660         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
2661         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
2662         HAVE_DECL_CBRTF.
2663         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
2664         HAVE_DECL_CBRTF.
2665         * modules/cbrtf: New file.
2666         * tests/test-math-c++.cc: Check the declaration of cbrtf.
2667         * doc/posix-functions/cbrtf.texi: Mention the new module.
2668
2669 2012-02-29  Bruno Haible  <bruno@clisp.org>
2670
2671         cbrt: Provide replacement on MSVC and Minix.
2672         * lib/math.in.h (cbrt): New declaration.
2673         * lib/cbrt.c: New file.
2674         * m4/cbrt.m4: New file.
2675         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
2676         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
2677         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
2678         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
2679         (Depends-on): Add dependencies.
2680         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
2681         * tests/test-math-c++.cc: Check the declaration of cbrt.
2682         * doc/posix-functions/cbrt.texi: Mention that the module provides a
2683         replacement.
2684
2685 2012-02-29  Bruno Haible  <bruno@clisp.org>
2686
2687         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
2688         * m4/hypotl-ieee.m4: New file.
2689         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
2690         test whether hypotl works with mixed NaN and Infinity arguments.
2691         Replace it if not.
2692         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
2693         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
2694         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
2695         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
2696         (Depends-on): Update conditions.
2697         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
2698         (Depends-on): Add hypot-ieee.
2699         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
2700         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
2701
2702         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
2703         * m4/hypotf-ieee.m4: New file.
2704         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
2705         test whether hypotf works with mixed NaN and Infinity arguments.
2706         Replace it if not.
2707         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
2708         (Depends-on): Add hypot-ieee.
2709         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
2710         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
2711
2712         hypot-ieee: Work around test failure on OSF/1 and native Windows.
2713         * lib/math.in.h (hypot): New declaration.
2714         * lib/hypot.c: New file.
2715         * m4/hypot-ieee.m4: New file.
2716         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
2717         whether hypot works with mixed NaN and Infinity arguments. Replace it
2718         if not.
2719         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
2720         REPLACE_HYPOT.
2721         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
2722         * modules/hypot (Files): Add lib/hypot.c.
2723         (Depends-on): Add dependencies.
2724         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
2725         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
2726         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
2727         * tests/test-math-c++.cc: Check the declaration of hypot.
2728         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
2729
2730         Tests for module 'hypotl-ieee'.
2731         * modules/hypotl-ieee-tests: New file.
2732         * tests/test-hypotl-ieee.c: New file.
2733
2734         New module 'hypotl-ieee'.
2735         * modules/hypotl-ieee: New file.
2736
2737         Tests for module 'hypot-ieee'.
2738         * modules/hypot-ieee-tests: New file.
2739         * tests/test-hypot-ieee.c: New file.
2740
2741         New module 'hypot-ieee'.
2742         * modules/hypot-ieee: New file.
2743
2744         Tests for module 'hypotf-ieee'.
2745         * modules/hypotf-ieee-tests: New file.
2746         * tests/test-hypotf-ieee.c: New file.
2747         * tests/test-hypot-ieee.h: New file.
2748
2749         New module 'hypotf-ieee'.
2750         * modules/hypotf-ieee: New file.
2751
2752 2012-02-29  Bruno Haible  <bruno@clisp.org>
2753
2754         Remove unused variables.
2755         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
2756         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
2757         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
2758         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
2759
2760 2012-02-29  Eric Blake  <eblake@redhat.com>
2761
2762         termios: fix pid_t always, not just for tcgetsid
2763         * doc/posix-headers/termios.texi (termios.h): Mention problem.
2764         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
2765         just when building tcgetsid.
2766
2767 2012-02-29  Bruno Haible  <bruno@clisp.org>
2768
2769         Tests for module 'hypotl'.
2770         * modules/hypotl-tests: New file.
2771         * tests/test-hypotl.c: New file.
2772
2773         New module 'hypotl'.
2774         * lib/math.in.h (hypotl): New declaration.
2775         * lib/hypotl.c: New file.
2776         * m4/hypotl.m4: New file.
2777         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
2778         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
2779         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
2780         * modules/hypotl: New file.
2781         * tests/test-math-c++.cc: Check the hypotl declaration.
2782         * doc/posix-functions/hypotl.texi: Mention the new module.
2783
2784 2012-02-29  Eric Blake  <eblake@redhat.com>
2785
2786         tcgetsid: fix cygwin header bug
2787         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
2788
2789         docs: update cygwin progress
2790         * doc/posix-functions/llround.texi (llround): Added in cygwin
2791         1.7.8.
2792         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
2793         * doc/glibc-functions/program_invocation_name.texi
2794         (program_invocation_name): Likewise.
2795         * doc/glibc-functions/program_invocation_short_name.texi
2796         (program_invocation_short_name): Likewise.
2797         * doc/glibc-functions/madvise.texi (madvise): Likewise.
2798         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
2799         Likewise.
2800         * doc/posix-functions/pthread_spin_destroy.texi
2801         (pthread_spin_destroy): Added in cygwin 1.7.10.
2802         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
2803         Likewise.
2804         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
2805         Likewise.
2806         * doc/posix-functions/pthread_spin_trylock.texi
2807         (pthread_spin_trylock): Likewise.
2808         * doc/posix-functions/pthread_spin_unlock.texi
2809         (pthread_spin_unlock): Likewise.
2810         * doc/posix-functions/pthread_setschedprio.texi
2811         (pthread_setschedprio): Likewise.
2812         * doc/posix-functions/pthread_attr_getstack.texi
2813         (pthread_attr_getstack): Likewise.
2814         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
2815         (pthread_attr_getstackaddr): Likewise.
2816         * doc/glibc-functions/pthread_getattr_np.texi
2817         (pthread_getattr_np): Likewise.
2818         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
2819         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
2820         * doc/posix-functions/clock_settime.texi (clock_settime):
2821         Likewise.
2822         * doc/posix-functions/pthread_attr_getguardsize.texi
2823         (pthread_attr_getguardsize): Likewise.
2824         * doc/posix-functions/pthread_attr_setguardsize.texi
2825         (pthread_attr_setguardsize): Likewise.
2826         * doc/posix-functions/pthread_attr_setstack.texi
2827         (pthread_attr_setstack): Likewise.
2828         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
2829         (pthread_attr_setstackaddr): Likewise.
2830         * doc/posix-functions/clock_getcpuclockid.texi
2831         (clock_getcpuclockid): Likewise.
2832         * doc/posix-functions/pthread_getcpuclockid.texi
2833         (pthread_getcpuclockid): Likewise.
2834         * doc/glibc-functions/error.texi (error): Likewise.
2835         * doc/glibc-functions/error_at_line.texi (error_at_line):
2836         Likewise.
2837         * doc/glibc-functions/error_message_count.texi
2838         (error_message_count): Likewise.
2839         * doc/glibc-functions/error_one_per_line.texi
2840         (error_one_per_line): Likewise.
2841         * doc/glibc-functions/error_print_progname.texi
2842         (error_print_progname): Likewise.
2843         * doc/posix-functions/pthread_condattr_getclock.texi
2844         (pthread_condattr_getclock): Likewise.
2845         * doc/posix-functions/pthread_condattr_setclock.texi
2846         (pthread_condattr_setclock): Likewise.
2847         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
2848         Likewise.
2849         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
2850         * doc/glibc-functions/getpt.texi (getpt): Likewise.
2851         * doc/glibc-functions/get_current_dir_name.texi
2852         (get_current_dir_name): Likewise.
2853         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
2854         Likewise.
2855         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
2856         wrong return type.
2857         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
2858         1.7.11.
2859
2860 2012-02-29  Bruno Haible  <bruno@clisp.org>
2861
2862         Tests for module 'hypotf'.
2863         * modules/hypotf-tests: New file.
2864         * tests/test-hypotf.c: New file.
2865
2866         New module 'hypotf'.
2867         * lib/math.in.h (hypotf): New declaration.
2868         * lib/hypotf.c: New file.
2869         * m4/hypotf.m4: New file.
2870         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
2871         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
2872         REPLACE_HYPOTF.
2873         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
2874         REPLACE_HYPOTF.
2875         * modules/hypotf: New file.
2876         * tests/test-math-c++.cc: Check the hypotf declaration.
2877         * doc/posix-functions/hypotf.texi: Mention the new module.
2878
2879         hypot: Prepare for hypotf module.
2880         * m4/hypot.m4: New file.
2881         * modules/hypot (Files): Add m4/hypot.m4.
2882         (configure.ac): Invoke gl_FUNC_HYPOT.
2883
2884 2012-02-29  Bruno Haible  <bruno@clisp.org>
2885
2886         hypot tests: More tests.
2887         * tests/test-hypot.c: Include <float.h>.
2888         (main): Add tests about overflow and underflow.
2889
2890 2012-02-29  Bruno Haible  <bruno@clisp.org>
2891
2892         math code: Add comments.
2893         * lib/acosl.c: Add comment about related glibc source files.
2894         * lib/asinl.c: Likewise.
2895         * lib/atanl.c: Likewise.
2896         * lib/expl.c: Likewise.
2897         * lib/logl.c: Likewise.
2898         * lib/sincosl.c: Likewise.
2899         * lib/sinl.c: Likewise.
2900         * lib/tanl.c: Likewise.
2901         * lib/trigl.c: Likewise.
2902         * lib/cosl.c: Likewise. Fix comments.
2903
2904 2012-02-28  Bruno Haible  <bruno@clisp.org>
2905
2906         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
2907         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
2908         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
2909         HUGE_VALL are defined.
2910         (numeric_equald): Renamed from numeric_equal.
2911         (numeric_equalf, numeric_equall): New functions.
2912         (main): Check also HUGE_VALF, HUGE_VALL.
2913         * modules/math-tests (Files): Add tests/macros.h.
2914         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
2915         HUGE_VALL.
2916
2917 2012-02-28  Bruno Haible  <bruno@clisp.org>
2918
2919         doc: Move ISO C11 feature notes into POSIX chapters.
2920         * doc/posix-functions/aligned_alloc.texi: Renamed from
2921         doc/glibc-functions/aligned_alloc.texi.
2922         * doc/posix-functions/quick_exit.texi: Renamed from
2923         doc/glibc-functions/quick_exit.texi.
2924         * doc/posix-headers/uchar.texi: Renamed from
2925         doc/glibc-headers/uchar.texi.
2926         * doc/posix-functions/c16rtomb.texi: Renamed from
2927         doc/glibc-functions/c16rtomb.texi.
2928         * doc/posix-functions/c32rtomb.texi: Renamed from
2929         doc/glibc-functions/c32rtomb.texi.
2930         * doc/posix-functions/mbrtoc16.texi: Renamed from
2931         doc/glibc-functions/mbrtoc16.texi.
2932         * doc/posix-functions/mbrtoc32.texi: Renamed from
2933         doc/glibc-functions/mbrtoc32.texi.
2934         * doc/gnulib.texi: Update.
2935         (Glibc uchar.h): Remove section.
2936         Suggested by Eric Blake.
2937
2938 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
2939
2940         stdnoreturn: port to MSVC better
2941         MSVC standard headers use __declspec(noreturn), so #define noreturn
2942         to empty on that platform.  Reported by Bruno Haible in
2943         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
2944         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
2945         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
2946
2947 2012-02-28  Bruno Haible  <bruno@clisp.org>
2948
2949         doc: Mention new glibc headers and functions.
2950         * doc/glibc-headers/uchar.texi: New file.
2951         * doc/glibc-functions/aligned_alloc.texi: New file.
2952         * doc/glibc-functions/c16rtomb.texi: New file.
2953         * doc/glibc-functions/c32rtomb.texi: New file.
2954         * doc/glibc-functions/clock_adjtime.texi: New file.
2955         * doc/glibc-functions/fanotify_init.texi: New file.
2956         * doc/glibc-functions/fanotify_mark.texi: New file.
2957         * doc/glibc-functions/inet6_opt_append.texi: New file.
2958         * doc/glibc-functions/inet6_opt_find.texi: New file.
2959         * doc/glibc-functions/inet6_opt_finish.texi: New file.
2960         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
2961         * doc/glibc-functions/inet6_opt_init.texi: New file.
2962         * doc/glibc-functions/inet6_opt_next.texi: New file.
2963         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
2964         * doc/glibc-functions/inet6_rth_add.texi: New file.
2965         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
2966         * doc/glibc-functions/inet6_rth_init.texi: New file.
2967         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
2968         * doc/glibc-functions/inet6_rth_segments.texi: New file.
2969         * doc/glibc-functions/inet6_rth_space.texi: New file.
2970         * doc/glibc-functions/login.texi: New file.
2971         * doc/glibc-functions/mbrtoc16.texi: New file.
2972         * doc/glibc-functions/mbrtoc32.texi: New file.
2973         * doc/glibc-functions/name_to_handle_at.texi: New file.
2974         * doc/glibc-functions/ntp_gettimex.texi: New file.
2975         * doc/glibc-functions/open_by_handle_at.texi: New file.
2976         * doc/glibc-functions/prlimit.texi: New file.
2977         * doc/glibc-functions/process_vm_readv.texi: New file.
2978         * doc/glibc-functions/process_vm_writev.texi: New file.
2979         * doc/glibc-functions/recvmmsg.texi: New file.
2980         * doc/glibc-functions/scandirat.texi: New file.
2981         * doc/glibc-functions/sendmmsg.texi: New file.
2982         * doc/glibc-functions/setns.texi: New file.
2983         * doc/glibc-functions/timespec_get.texi: New file.
2984         * doc/gnulib.texi: Include them.
2985         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
2986         sections.
2987         Reported by Eric Blake.
2988
2989 2012-02-28  Bruno Haible  <bruno@clisp.org>
2990
2991         Avoid compilation errors with MSVC option -fp:strict.
2992         * lib/floor.c: Use MSVC specific pragma fenv_access.
2993         * lib/ceil.c: Likewise.
2994         * lib/trunc.c: Likewise.
2995         * lib/round.c: Likewise.
2996         * lib/rint.c: Likewise.
2997         * lib/fma.c: Likewise.
2998         * lib/integer_length.c: Likewise.
2999         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
3000         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
3001         * tests/test-floor2.c: Likewise.
3002         * tests/test-floorf2.c: Likewise.
3003         * tests/test-ceil2.c: Likewise.
3004         * tests/test-ceilf2.c: Likewise.
3005         * tests/test-trunc2.c: Likewise.
3006         * tests/test-truncf2.c: Likewise.
3007         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
3008
3009 2012-02-27  Bruno Haible  <bruno@clisp.org>
3010
3011         Tests for module 'sqrtl-ieee'.
3012         * modules/sqrtl-ieee-tests: New file.
3013         * tests/test-sqrtl-ieee.c: New file.
3014
3015         New module 'sqrtl-ieee'.
3016         * modules/sqrtl-ieee: New file.
3017
3018         Tests for module 'sqrt-ieee'.
3019         * modules/sqrt-ieee-tests: New file.
3020         * tests/test-sqrt-ieee.c: New file.
3021
3022         New module 'sqrt-ieee'.
3023         * modules/sqrt-ieee: New file.
3024
3025         Tests for module 'sqrtf-ieee'.
3026         * modules/sqrtf-ieee-tests: New file.
3027         * tests/test-sqrtf-ieee.c: New file.
3028         * tests/test-sqrt-ieee.h: New file.
3029
3030         New module 'sqrtf-ieee'.
3031         * modules/sqrtf-ieee: New file.
3032
3033 2012-02-27  Bruno Haible  <bruno@clisp.org>
3034
3035         remainderl-ieee: Work around test failure on OSF/1.
3036         * m4/remainderl-ieee.m4: New file.
3037         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
3038         present, test whether remainderl works with a zero second argument.
3039         Replace it if not.
3040         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
3041         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
3042         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
3043         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
3044         (Depends-on): Update conditions.
3045         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
3046         (Depends-on): Add remainder-ieee.
3047         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
3048         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
3049         module.
3050
3051         remainderf-ieee: Work around test failure on OSF/1.
3052         * m4/remainderf-ieee.m4: New file.
3053         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
3054         present, test whether remainderf works with a zero second argument.
3055         Replace it if not.
3056         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
3057         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
3058         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
3059         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
3060         (Depends-on): Update conditions.
3061         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
3062         (Depends-on): Add remainder-ieee.
3063         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
3064         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
3065         module.
3066
3067         remainder-ieee: Work around test failure on OSF/1.
3068         * m4/remainder-ieee.m4: New file.
3069         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
3070         present, test whether remainder works with a zero second argument.
3071         Replace it if not.
3072         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
3073         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
3074         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
3075         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
3076         (Depends-on): Update dependencies.
3077         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
3078         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
3079         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
3080
3081         Tests for module 'remainderl-ieee'.
3082         * modules/remainderl-ieee-tests: New file.
3083         * tests/test-remainderl-ieee.c: New file.
3084
3085         New module 'remainderl-ieee'.
3086         * modules/remainderl-ieee: New file.
3087
3088         Tests for module 'remainder-ieee'.
3089         * modules/remainder-ieee-tests: New file.
3090         * tests/test-remainder-ieee.c: New file.
3091
3092         New module 'remainder-ieee'.
3093         * modules/remainder-ieee: New file.
3094
3095         Tests for module 'remainderf-ieee'.
3096         * modules/remainderf-ieee-tests: New file.
3097         * tests/test-remainderf-ieee.c: New file.
3098         * tests/test-remainder-ieee.h: New file.
3099
3100         New module 'remainderf-ieee'.
3101         * modules/remainderf-ieee: New file.
3102
3103 2012-02-27  Bruno Haible  <bruno@clisp.org>
3104
3105         modff, modfl: Fix configure syntax error.
3106         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
3107         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
3108
3109 2012-02-27  Bruno Haible  <bruno@clisp.org>
3110
3111         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
3112         * m4/fmodl-ieee.m4: New file.
3113         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
3114         whether fmodl works with zero arguments. Replace it if not.
3115         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
3116         (Depends-on): Add fmod-ieee.
3117         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
3118         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
3119
3120         fmodf-ieee: Work around test failure on OSF/1.
3121         * m4/fmodf-ieee.m4: New file.
3122         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
3123         whether fmodf works with zero arguments. Replace it if not.
3124         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
3125         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
3126         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
3127         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
3128         (Depends-on): Update dependencies.
3129         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
3130         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
3131         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
3132
3133         fmodf-ieee: Work around test failure on MSVC 9.
3134         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
3135         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
3136
3137         fmod-ieee: Work around test failures on OSF/1, mingw.
3138         * m4/fmod-ieee.m4: New file.
3139         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
3140         whether fmod works with zero arguments. Replace it if not.
3141         * lib/math.in.h (fmod): New declaration.
3142         * lib/fmod.c: New file.
3143         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
3144         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
3145         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
3146         * modules/fmod (Files): Add lib/fmod.c.
3147         (Depends-on): Add math, isinf, trunc, fma.
3148         (configure.ac): Arrange to compile lib/fmod.c if needed.
3149         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
3150         m4/signbit.m4.
3151         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
3152         * tests/test-math-c++.cc: Check the declaration of fmod.
3153         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
3154
3155         fmodl-ieee: Fix test failures.
3156         * lib/fmodl.c (fmodl): Treat Inf specially.
3157         * modules/fmodl (Depends-on): Add isinf.
3158
3159         Tests for module 'fmodl-ieee'.
3160         * modules/fmodl-ieee-tests: New file.
3161         * tests/test-fmodl-ieee.c: New file.
3162
3163         New module 'fmodl-ieee'.
3164         * modules/fmodl-ieee: New file.
3165
3166         Tests for module 'fmod-ieee'.
3167         * modules/fmod-ieee-tests: New file.
3168         * tests/test-fmod-ieee.c: New file.
3169
3170         New module 'fmod-ieee'.
3171         * modules/fmod-ieee: New file.
3172
3173         Tests for module 'fmodf-ieee'.
3174         * modules/fmodf-ieee-tests: New file.
3175         * tests/test-fmodf-ieee.c: New file.
3176         * tests/test-fmod-ieee.h: New file.
3177
3178         New module 'fmodf-ieee'.
3179         * modules/fmodf-ieee: New file.
3180
3181 2012-02-27  Bruno Haible  <bruno@clisp.org>
3182
3183         Tests for module 'rintl-ieee'.
3184         * modules/rintl-ieee-tests: New file.
3185         * tests/test-rintl-ieee.c: New file.
3186
3187         New module 'rintl-ieee'.
3188         * modules/rintl-ieee: New file.
3189
3190         Tests for module 'rint-ieee'.
3191         * modules/rint-ieee-tests: New file.
3192         * tests/test-rint-ieee.c: New file.
3193
3194         New module 'rint-ieee'.
3195         * modules/rint-ieee: New file.
3196
3197         Tests for module 'rintf-ieee'.
3198         * modules/rintf-ieee-tests: New file.
3199         * tests/test-rintf-ieee.c: New file.
3200         * tests/test-rint-ieee.h: New file.
3201
3202         New module 'rintf-ieee'.
3203         * modules/rintf-ieee: New file.
3204
3205 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
3206
3207         regex: re_search etc. should return -2 when memory exhausted
3208         This bug was uncovered when testing 'grep'.  Without the fix,
3209         re_search and friends return -1 when memory is exhausted, but -1
3210         means no match, and this causes grep to falsely report no-match
3211         instead of memory-exhaustion.  See
3212         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
3213         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
3214         trouble; this can occur if re_search_internal ran out of memory.
3215
3216 2012-02-26  Bruno Haible  <bruno@clisp.org>
3217
3218         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
3219         * m4/modfl-ieee.m4: New file.
3220         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
3221         whether modfl works with Inf. Replace it if not.
3222         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
3223         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
3224         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
3225         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
3226         (Depends-on): Update dependencies.
3227         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
3228         m4/signbit.m4.
3229         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
3230         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
3231
3232         modfl-ieee: Fix dependencies.
3233         * modules/modfl-ieee (Depends-on): Add modf-ieee.
3234
3235         modfl-ieee: Fix test failures.
3236         * lib/modfl.c (modfl): Treat NaN and Inf specially.
3237         * modules/modfl (Depends-on): Add isfinite, isinf.
3238
3239         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
3240         * m4/modff-ieee.m4: New file.
3241         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
3242         whether modff works with NaN and Inf. Replace it if not.
3243         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
3244         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
3245         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
3246         * modules/modff (configure.ac): Consider REPLACE_MODFF.
3247         (Depends-on): Update dependencies.
3248         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
3249         m4/signbit.m4.
3250         (Depends-on): Add modf-ieee.
3251         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
3252         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
3253
3254         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
3255         * m4/modf-ieee.m4: New file.
3256         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
3257         whether modf works with NaN and Inf. Replace it if not.
3258         * lib/math.in.h (modf): New declaration.
3259         * lib/modf.c: New file.
3260         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
3261         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
3262         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
3263         * modules/modf (Files): Add lib/modf.c.
3264         (Depends-on): Add math, isfinite, trunc, isinf.
3265         (configure.ac): Addrange to compile lib/modf.c if needed.
3266         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
3267         m4/signbit.m4.
3268         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
3269         * tests/test-math-c++.cc: Check the declaration of modf.
3270         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
3271
3272         Tests for module 'modfl-ieee'.
3273         * modules/modfl-ieee-tests: New file.
3274         * tests/test-modfl-ieee.c: New file.
3275
3276         New module 'modfl-ieee'.
3277         * modules/modfl-ieee: New file.
3278
3279         Tests for module 'modf-ieee'.
3280         * modules/modf-ieee-tests: New file.
3281         * tests/test-modf-ieee.c: New file.
3282
3283         New module 'modf-ieee'.
3284         * modules/modf-ieee: New file.
3285
3286         Tests for module 'modff-ieee'.
3287         * modules/modff-ieee-tests: New file.
3288         * tests/test-modff-ieee.c: New file.
3289         * tests/test-modf-ieee.h: New file.
3290
3291         New module 'modff-ieee'.
3292         * modules/modff-ieee: New file.
3293
3294 2012-02-26  Bruno Haible  <bruno@clisp.org>
3295
3296         Tests for module 'fabsl-ieee'.
3297         * modules/fabsl-ieee-tests: New file.
3298         * tests/test-fabsl-ieee.c: New file.
3299
3300         New module 'fabsl-ieee'.
3301         * modules/fabsl-ieee: New file.
3302
3303         Tests for module 'fabs-ieee'.
3304         * modules/fabs-ieee-tests: New file.
3305         * tests/test-fabs-ieee.c: New file.
3306
3307         New module 'fabs-ieee'.
3308         * modules/fabs-ieee: New file.
3309
3310         Tests for module 'fabsf-ieee'.
3311         * modules/fabsf-ieee-tests: New file.
3312         * tests/test-fabsf-ieee.c: New file.
3313         * tests/test-fabs-ieee.h: New file.
3314
3315         New module 'fabsf-ieee'.
3316         * modules/fabsf-ieee: New file.
3317
3318 2012-02-26  Bruno Haible  <bruno@clisp.org>
3319
3320         Tests for module 'fmal-ieee'.
3321         * modules/fmal-ieee-tests: New file.
3322         * tests/test-fmal-ieee.c: New file.
3323
3324         New module 'fmal-ieee'.
3325         * modules/fmal-ieee: New file.
3326
3327         Tests for module 'fma-ieee'.
3328         * modules/fma-ieee-tests: New file.
3329         * tests/test-fma-ieee.c: New file.
3330
3331         New module 'fma-ieee'.
3332         * modules/fma-ieee: New file.
3333
3334         Tests for module 'fmaf-ieee'.
3335         * modules/fmaf-ieee-tests: New file.
3336         * tests/test-fmaf-ieee.c: New file.
3337         * tests/test-fma-ieee.h: New file.
3338
3339         New module 'fmaf-ieee'.
3340         * modules/fmaf-ieee: New file.
3341
3342 2012-02-26  Bruno Haible  <bruno@clisp.org>
3343
3344         Tests for module 'ldexpl-ieee'.
3345         * modules/ldexpl-ieee-tests: New file.
3346         * tests/test-ldexpl-ieee.c: New file.
3347
3348         New module 'ldexpl-ieee'.
3349         * modules/ldexpl-ieee: New file.
3350
3351         Tests for module 'ldexp-ieee'.
3352         * modules/ldexp-ieee-tests: New file.
3353         * tests/test-ldexp-ieee.c: New file.
3354
3355         New module 'ldexp-ieee'.
3356         * modules/ldexp-ieee: New file.
3357
3358         Tests for module 'ldexpf-ieee'.
3359         * modules/ldexpf-ieee-tests: New file.
3360         * tests/test-ldexpf-ieee.c: New file.
3361         * tests/test-ldexp-ieee.h: New file.
3362
3363         New module 'ldexpf-ieee'.
3364         * modules/ldexpf-ieee: New file.
3365
3366 2012-02-26  Bruno Haible  <bruno@clisp.org>
3367
3368         Refactor frexp*-ieee tests.
3369         * tests/test-frexp-ieee.h: New file.
3370         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
3371         (main): Just call test_function.
3372         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
3373         (main): Just call test_function.
3374         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
3375         (main): Just call test_function.
3376         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
3377         * modules/frexp-ieee-tests (Files): Likewise.
3378         * modules/frexpl-ieee-tests (Files): Likewise.
3379
3380         Tests for module 'frexpl-ieee'.
3381         * modules/frexpl-ieee-tests: New file.
3382         * tests/test-frexpl-ieee.c: New file.
3383
3384         New module 'frexpl-ieee'.
3385         * modules/frexpl-ieee: New file.
3386
3387         Tests for module 'frexp-ieee'.
3388         * modules/frexp-ieee-tests: New file.
3389         * tests/test-frexp-ieee.c: New file.
3390
3391         New module 'frexp-ieee'.
3392         * modules/frexp-ieee: New file.
3393
3394         Tests for module 'frexpf-ieee'.
3395         * modules/frexpf-ieee-tests: New file.
3396         * tests/test-frexpf-ieee.c: New file.
3397
3398         New module 'frexpf-ieee'.
3399         * modules/frexpf-ieee: New file.
3400
3401 2012-02-26  Bruno Haible  <bruno@clisp.org>
3402
3403         roundl-ieee tests: More tests.
3404         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
3405         (main): Add tests for [MX] shaded specification in POSIX.
3406         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3407         (Depends-on): Add isnanl-nolibm.
3408
3409         round-ieee tests: More tests.
3410         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
3411         (main): Add tests for [MX] shaded specification in POSIX.
3412         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3413         (Depends-on): Add isnand-nolibm.
3414
3415         roundf-ieee tests: More tests.
3416         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
3417         (main): Add tests for [MX] shaded specification in POSIX.
3418         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3419         (Depends-on): Add isnanf-nolibm.
3420
3421         truncl-ieee tests: More tests.
3422         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
3423         (main): Add tests for [MX] shaded specification in POSIX.
3424         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3425         (Depends-on): Add isnanl-nolibm.
3426
3427         trunc-ieee tests: More tests.
3428         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
3429         (main): Add tests for [MX] shaded specification in POSIX.
3430         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3431         (Depends-on): Add isnand-nolibm.
3432
3433         truncf-ieee tests: More tests.
3434         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
3435         (main): Add tests for [MX] shaded specification in POSIX.
3436         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3437         (Depends-on): Add isnanf-nolibm.
3438
3439         ceill-ieee tests: More tests.
3440         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
3441         (main): Add tests for [MX] shaded specification in POSIX.
3442         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3443         (Depends-on): Add isnanl-nolibm.
3444
3445         ceil-ieee tests: More tests.
3446         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
3447         (main): Add tests for [MX] shaded specification in POSIX.
3448         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3449         (Depends-on): Add isnand-nolibm.
3450
3451         ceilf-ieee tests: More tests.
3452         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
3453         (main): Add tests for [MX] shaded specification in POSIX.
3454         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3455         (Depends-on): Add isnanf-nolibm.
3456
3457         floorl-ieee tests: More tests.
3458         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
3459         (main): Add tests for [MX] shaded specification in POSIX.
3460         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3461         (Depends-on): Add isnanl-nolibm.
3462
3463         floor-ieee tests: More tests.
3464         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
3465         (main): Add tests for [MX] shaded specification in POSIX.
3466         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3467         (Depends-on): Add isnand-nolibm.
3468
3469         floorf-ieee tests: More tests.
3470         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
3471         (main): Add tests for [MX] shaded specification in POSIX.
3472         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3473         (Depends-on): Add isnanf-nolibm.
3474
3475 2012-02-26  Bruno Haible  <bruno@clisp.org>
3476
3477         fpieee: More comments.
3478         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
3479
3480 2012-02-25  Bruno Haible  <bruno@clisp.org>
3481
3482         Tests for module 'log10l'.
3483         * modules/log10l-tests: New file.
3484         * tests/test-log10l.c: New file.
3485         * tests/test-math-c++.cc: Check the declaration of log10l.
3486
3487         New module 'log10l'.
3488         * lib/math.in.h (log10l): New declaration.
3489         * lib/log10l.c: New file.
3490         * m4/log10l.m4: New file.
3491         * modules/log10l: New file.
3492         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
3493         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
3494         HAVE_DECL_LOG10L.
3495         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
3496         HAVE_DECL_LOG10L.
3497         * doc/posix-functions/log10l.texi: Mention the new module.
3498
3499 2012-02-25  Bruno Haible  <bruno@clisp.org>
3500
3501         fmodl, remainder*: Avoid wrong results due to rounding errors.
3502         * lib/fmodl.c (fmodl): Correct the result if it is not within the
3503         expected bounds.
3504         * lib/remainderf.c (remainderf): Likewise.
3505         * lib/remainder.c (remainder): Likewise.
3506         * lib/remainderl.c (remainderl): Likewise.
3507
3508 2012-02-25  Bruno Haible  <bruno@clisp.org>
3509
3510         Tests for module 'remainderl'.
3511         * modules/remainderl-tests: New file.
3512         * tests/test-remainderl.c: New file.
3513         * tests/test-math-c++.cc: Check the declaration of remainderl.
3514
3515         New module 'remainderl'.
3516         * lib/math.in.h (remainderl): New declaration.
3517         * lib/remainderl.c: New file.
3518         * m4/remainderl.m4: New file.
3519         * modules/remainderl: New file.
3520         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
3521         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
3522         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
3523         HAVE_REMAINDERL.
3524         * doc/posix-functions/remainderl.texi: Mention the new module.
3525
3526 2012-02-25  Bruno Haible  <bruno@clisp.org>
3527
3528         Tests for module 'remainderf'.
3529         * modules/remainderf-tests: New file.
3530         * tests/test-remainderf.c: New file.
3531         * tests/test-math-c++.cc: Check the declaration of remainderf.
3532
3533         New module 'remainderf'.
3534         * lib/math.in.h (remainderf): New declaration.
3535         * lib/remainderf.c: New file.
3536         * m4/remainderf.m4: New file.
3537         * modules/remainderf: New file.
3538         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
3539         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
3540         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
3541         HAVE_REMAINDERF.
3542         * doc/posix-functions/remainderf.texi: Mention the new module.
3543
3544 2012-02-25  Bruno Haible  <bruno@clisp.org>
3545
3546         remainder: Support for MSVC.
3547         * lib/math.in.h (remainder): New declaration.
3548         * lib/remainder.c: New file.
3549         * m4/remainder.m4: New file.
3550         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
3551         (Depends-on): Add math, round, fma.
3552         (configure.ac): Use results of gl_FUNC_REMAINDER.
3553         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
3554         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
3555         HAVE_DECL_REMAINDER.
3556         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
3557         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
3558         * tests/test-math-c++.cc: Check the declaration of remainder.
3559         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
3560         problems are fixed.
3561
3562 2012-02-25  Bruno Haible  <bruno@clisp.org>
3563
3564         Tests for module 'fmodl'.
3565         * modules/fmodl-tests: New file.
3566         * tests/test-fmodl.c: New file.
3567         * tests/test-math-c++.cc: Check the declaration of fmodl.
3568
3569         New module 'fmodl'.
3570         * lib/math.in.h (fmodl): New declaration.
3571         * lib/fmodl.c: New file.
3572         * m4/fmodl.m4: New file.
3573         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
3574         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
3575         REPLACE_FMODL.
3576         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
3577         REPLACE_FMODL.
3578         * modules/fmodl: New file.
3579         * doc/posix-functions/fmodl.texi: Mention the new module.
3580
3581 2012-02-25  Bruno Haible  <bruno@clisp.org>
3582
3583         Tests for module 'modfl'.
3584         * modules/modfl-tests: New file.
3585         * tests/test-modfl.c: New file.
3586         * tests/test-math-c++.cc: Check the declaration of modfl.
3587
3588         New module 'modfl'.
3589         * lib/math.in.h (modfl): New declaration.
3590         * lib/modfl.c: New file.
3591         * m4/modfl.m4: New file.
3592         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
3593         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
3594         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
3595         * modules/modfl: New file.
3596         * doc/posix-functions/modfl.texi: Mention the new module.
3597
3598 2012-02-25  Bruno Haible  <bruno@clisp.org>
3599
3600         Tests for module 'fabsl'.
3601         * modules/fabsl-tests: New file.
3602         * tests/test-fabsl.c: New file.
3603         * tests/test-math-c++.cc: Check the declaration of fabsl.
3604
3605         New module 'fabsl'.
3606         * lib/math.in.h (fabsl): New declaration.
3607         * lib/fabsl.c: New file.
3608         * m4/fabsl.m4: New file.
3609         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
3610         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
3611         REPLACE_FABSL.
3612         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
3613         REPLACE_FABSL.
3614         * modules/fabsl: New file.
3615         * doc/posix-functions/fabsl.texi: Mention the new module.
3616
3617 2012-02-25  Bruno Haible  <bruno@clisp.org>
3618
3619         fabs tests: More tests.
3620         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
3621         (zero): New variable.
3622         (main): Add tests for signed zero.
3623         * modules/fabs-tests (Files): Add tests/minus-zero.h.
3624
3625         fabsf tests: More tests.
3626         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
3627         (zero): New variable.
3628         (main): Add tests for signed zero.
3629         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
3630
3631 2012-02-24  Bruno Haible  <bruno@clisp.org>
3632
3633         atanl: Provide function definition on MSVC.
3634         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
3635         function pointer.
3636         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
3637
3638 2012-02-24  Bruno Haible  <bruno@clisp.org>
3639
3640         acosl: Provide function definition on MSVC.
3641         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
3642         function pointer.
3643         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
3644
3645 2012-02-24  Bruno Haible  <bruno@clisp.org>
3646
3647         asinl: Provide function definition on MSVC.
3648         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
3649         function pointer.
3650         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
3651
3652 2012-02-24  Bruno Haible  <bruno@clisp.org>
3653
3654         tanl: Provide function definition on MSVC.
3655         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
3656         function pointer.
3657         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
3658
3659 2012-02-24  Bruno Haible  <bruno@clisp.org>
3660
3661         cosl: Provide function definition on MSVC.
3662         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
3663         function pointer.
3664         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
3665
3666 2012-02-24  Bruno Haible  <bruno@clisp.org>
3667
3668         sinl: Provide function definition on MSVC.
3669         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
3670         function pointer.
3671         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
3672
3673 2012-02-24  Bruno Haible  <bruno@clisp.org>
3674
3675         logl: Provide function definition on MSVC.
3676         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
3677         function pointer.
3678         * lib/math.in.h (logl): Undefine if it does not exist as a function.
3679
3680 2012-02-24  Bruno Haible  <bruno@clisp.org>
3681
3682         expl: Provide function definition on MSVC.
3683         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
3684         function pointer.
3685         * lib/math.in.h (expl): Undefine if it does not exist as a function.
3686
3687 2012-02-24  Bruno Haible  <bruno@clisp.org>
3688
3689         sqrtl: Provide function definition on MSVC.
3690         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
3691         a function pointer.
3692         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
3693
3694 2012-02-24  Bruno Haible  <bruno@clisp.org>
3695
3696         ceill: Provide function definition on MSVC.
3697         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
3698         used as a function pointer.
3699         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
3700
3701 2012-02-24  Bruno Haible  <bruno@clisp.org>
3702
3703         floorl: Provide function definition on MSVC.
3704         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
3705         used as a function pointer.
3706         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
3707
3708 2012-02-24  Bruno Haible  <bruno@clisp.org>
3709
3710         ceilf: Provide function definition on MSVC.
3711         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
3712         used as a function pointer.
3713         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
3714
3715 2012-02-24  Bruno Haible  <bruno@clisp.org>
3716
3717         floorf: Provide function definition on MSVC.
3718         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
3719         used as a function pointer.
3720         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
3721
3722 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
3723
3724         stdnoreturn: new module
3725         This implements a replacement for C11's <stdnoreturn.h>.
3726         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
3727         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
3728         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
3729         * tests/test-stdnoreturn.c: New files.
3730
3731 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
3732
3733         regex: fix false multibyte matches in some regular expressions
3734         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
3735         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
3736         * lib/regex_internal.c (re_string_skip_chars):
3737         Fix miscomputation of remain_len that may cause incomplete
3738         multi-byte character and false match.
3739
3740 2012-02-24  Jim Meyering  <meyering@redhat.com>
3741
3742         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
3743         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
3744         uses with "==" *before* the call, e.g., 0 == strcmp (...)
3745         Remove now-unnecessary str''cmp obfuscation.
3746         Suggested by Akim Demaille.
3747
3748 2012-02-24  Bruno Haible  <bruno@clisp.org>
3749
3750         streq: Rename macro.
3751         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
3752         * NEWS: Mention the change.
3753         * lib/mbrtowc.c (mbrtowc): Update.
3754         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
3755         * lib/wcwidth.c (wcwidth): Update.
3756         Suggested by Akim Demaille and Jim Meyering.
3757
3758 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
3759
3760         regex: fix typo in definition of MIN
3761         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
3762         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
3763
3764 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
3765             Bruno Haible  <bruno@clisp.org>
3766
3767         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
3768         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
3769         entries into a stack-allocated buffer directly.
3770         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
3771
3772 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
3773             Bruno Haible  <bruno@clisp.org>
3774
3775         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
3776
3777          - There were several instances of this pattern:
3778
3779              for (;;) {
3780                n = acl (f, GETACLCNT, 0, NULL);
3781                [ allocate an array A of size N ]
3782                if (acl (f, GETACL, n, a) == n)
3783                  break;
3784              }
3785
3786            This loop might never terminate if some other process is constantly
3787            manipulating the file's ACL.  The loop should be rewritten to
3788            terminate.
3789
3790          - The acl (... GETACLNT ...) call is merely an optimization; its value
3791            is merely a hint as to how big to make the array.  A better
3792            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
3793            and just guess a reasonably-big size, growing the size and trying
3794            again if it's not large enough.  This guarantees termination, and
3795            saves a system call.
3796
3797         * lib/acl-internal.h: Include <limits.h>.
3798         (MIN, SIZE_MAX): New macros.
3799         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
3800         a stack-allocated buffer, and use malloc if it does not fit. Don't
3801         use GETACLCNT.
3802         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
3803
3804 2012-02-19  Bruno Haible  <bruno@clisp.org>
3805
3806         acl: Fix endless loop on Solaris with vxfs.
3807         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
3808         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
3809         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
3810         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
3811         * tests/test-sameacls.c (main)[Solaris]: Likewise.
3812         Reported by Bill Jones in
3813         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
3814
3815 2012-02-19  Bruno Haible  <bruno@clisp.org>
3816
3817         acl: Fix copy-acl test failure on Solaris 11 2011-11.
3818         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
3819         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
3820         that this function returns 0 in some more cases.
3821
3822 2012-02-19  Bruno Haible  <bruno@clisp.org>
3823
3824         acl: Update doc references.
3825         * doc/acl-resources.txt: Update links to Solaris documentation.
3826
3827 2012-02-19  Bruno Haible  <bruno@clisp.org>
3828
3829         Fix test failure in many locales on Solaris 11.
3830         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
3831         'tr' arguments.
3832         * tests/test-pipe-filter-ii1.c (main): Likewise.
3833         * build-aux/bootstrap (check_versions): Run 'tr' command with range
3834         expressions in the C locale.
3835         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
3836         * m4/host-os.m4 (gl_HOST_OS): Likewise.
3837
3838 2012-02-19  Bruno Haible  <bruno@clisp.org>
3839
3840         gnulib-tool: Improve usage message.
3841         * gnulib-tool (func_usage): Move doc of --help and --version to the
3842         section "Operation modes".
3843
3844 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
3845
3846         README-release: make it easier to execute commands
3847         * top/README-release: break commands out on to separate lines.
3848
3849 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
3850
3851         GNUmakefile: simplify detection of unconfigured trees
3852         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
3853         whether the tree make is being run from is already configured or
3854         not.  Related simplifications.
3855
3856 2012-02-13  Simon Josefsson  <simon@josefsson.org>
3857
3858         * gnulib-tool (func_usage): Document --help and --version.
3859
3860 2012-02-11  Jim Meyering  <meyering@redhat.com>
3861
3862         bootstrap: don't exit 0 upon gnulib-tool failure
3863         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
3864         its exit status, not 0.
3865
3866 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
3867
3868         README-release: various improvements
3869         * top/README-release: Give a command to push changes for the
3870         release.  Add "distcheck" to list of other pre-release checks.
3871         Fix instance of "make stable" which should be "make TYPE".
3872
3873 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
3874
3875         maint: replace FSF snail-mail addresses with URLs
3876         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
3877         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
3878         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
3879         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
3880         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
3881         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
3882         * lib/check-version.c, lib/check-version.h, lib/config.charset:
3883         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
3884         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
3885         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
3886         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
3887         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
3888         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
3889         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
3890         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
3891         * lib/glthread/thread.c, lib/glthread/thread.h:
3892         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
3893         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
3894         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
3895         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
3896         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
3897         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
3898         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
3899         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
3900         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
3901         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
3902         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
3903         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
3904         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
3905         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
3906         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
3907         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
3908         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
3909         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
3910         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
3911         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
3912         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
3913         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
3914         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
3915         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
3916         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
3917         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
3918         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
3919         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
3920         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
3921         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
3922         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
3923         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
3924         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
3925         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
3926         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
3927         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
3928         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
3929         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
3930         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
3931         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
3932         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
3933         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
3934         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
3935         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
3936         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
3937         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
3938         * tests/test-poll.c, tests/test-quotearg-simple.c:
3939         * tests/test-quotearg.c, tests/test-quotearg.h:
3940         * tests/test-round-ieee.c, tests/test-round1.c:
3941         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
3942         * tests/test-roundl-ieee.c, tests/test-roundl.c:
3943         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
3944         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
3945         * tests/test-strerror.c, tests/test-strerror_r.c:
3946         * tests/test-strsignal.c, tests/test-strverscmp.c:
3947         * tests/test-xmemdup0.c:
3948         Replace FSF snail mail addresses with URLs, as per GNU coding
3949         standards.  See glibc bug
3950         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
3951
3952 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
3953
3954         README-release: capitalize a word and split a line
3955         * top/README-release: Fix punctuation and spacing.
3956
3957 2012-02-08  Akim Demaille  <demaille@gostai.com>
3958
3959         fatal-signal: use C prototypes (with explicit void).
3960         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
3961         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
3962
3963 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
3964
3965         regex: spelling fix
3966         * lib/regexec.c: spelling fix
3967
3968         regex: rely on stdint.h for SIZE_MAX
3969         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
3970
3971 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
3972
3973         regex: merge glibc changes
3974
3975         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
3976         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
3977         (init_word_char): Work even if bitset words are not exactly 32 or
3978         64 bits wide.  Don't assume there are no padding bits.
3979         * lib/regex.c [_LIBC]: Do not include <config.h>.
3980         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
3981         and -Wtype-limits.
3982         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
3983         needless disagreement with glibc.  All uses changed.  Define it to
3984         1 only if _GNU_SOURCE, to match glibc.
3985         (_REG_RM_NAME): Remove; no longer needed, since the names in
3986         question are now all protected by __USE_GNU.
3987         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
3988         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
3989         * lib/regex_internal.h (MIN): New macro.
3990
3991         2012-01-03 Ulrich Drepper <drepper@gmail.com>
3992         * lib/regcomp.c (init_word_char): Optimize regex a bit.
3993
3994         2011-12-30 Jakub Jelinek <jakub@redhat.com>
3995         * lib/regex_internal.c (re_string_fetch_byte_case):
3996         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
3997         is miscompiled, and it turns out it is because of an incorrect
3998         attribute on re_string_fetch_byte_case.  Unlike
3999         re_string_peek_byte_case, this one is really not pure, it modifies
4000         memory (increments pstr->cur_idx), and with the pure attribute GCC
4001         assumed it doesn't and it cached the presumed value of
4002         regexp->cur_idx in a variable across the
4003          for (;; ++i)
4004            {
4005              if (i >= BRACKET_NAME_BUF_SIZE)
4006                return REG_EBRACK;
4007              if (token->type == OP_OPEN_CHAR_CLASS)
4008                ch = re_string_fetch_byte_case (regexp);
4009              else
4010                ch = re_string_fetch_byte (regexp);
4011              if (re_string_eoi(regexp))
4012                return REG_EBRACK;
4013              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
4014                break;
4015              elem->opr.name[i] = ch;
4016            }
4017
4018         2011-11-29 Andreas Schwab <schwab@redhat.com>
4019         * lib/regcomp.c (build_equiv_class):
4020         Fix access after end of search string in regex matcher.
4021
4022         2011-11-12 Ulrich Drepper <drepper@redhat.com>
4023         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
4024
4025         2011-10-12 Ulrich Drepper <drepper@redhat.com>
4026         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
4027
4028         2011-10-11 Ulrich Drepper <drepper@redhat.com>
4029         * lib/regcomp.c (parse_branch, parse_sub_exp):
4030         More regex memory leak fixes and tests.
4031         (parse_sub_exp, parse_bracket_exp):
4032         Fix memory leak for some invalid regular expressions.
4033
4034         2011-05-28 Ulrich Drepper <drepper@gmail.com>
4035         * lib/regex_internal.c, lib/regexec.c:
4036         Fix unnecessary overallocation due to incomplete character.  When
4037         incomplete characters are found at the end of a string the code
4038         ran amok and allocated lots of memory.  Stricter limits are now in
4039         place.
4040
4041         2011-05-20 Reuben Thomas <rrt@sc3d.org>
4042         * lib/regex.h: Update documentation.
4043
4044         2011-05-16 Aharon Robbins <arnold@skeeve.com>
4045         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
4046
4047         2010-05-05 Andreas Schwab <schwab@redhat.com>
4048         * lib/regexec.c (find_collation_sequence_value):
4049         Fix lookup of collation sequence value during regexp matching.
4050
4051         2010-01-22 Ulrich Drepper <drepper@redhat.com>
4052         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
4053
4054         2008-01-16 Ulrich Drepper <drepper@redhat.com>
4055         * lib/regex.h: Cleanup namespace.
4056
4057         2007-11-26 Ulrich Drepper <drepper@redhat.com>
4058         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
4059
4060         2007-08-26 Ulrich Drepper <drepper@redhat.com>
4061         * lib/regex_internal.h: Prevent some declarations and definitions
4062         to be seen when used in tests.
4063
4064         2005-05-06 Ulrich Drepper <drepper@redhat.com>
4065         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
4066         __libc_lock_* macros if not _LIBC.
4067         (struct re_dfa_t): Add lock.
4068
4069 2012-02-07  Eric Blake  <eblake@redhat.com>
4070
4071         maint.mk: also prohibit lower-case @var@
4072         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
4073         lower case, like @top_srcdir@.
4074
4075 2012-02-04  Eric Blake  <eblake@redhat.com>
4076
4077         canonicalize: avoid uninitialized memory use
4078         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
4079         random '/' left in dest.
4080         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
4081
4082 2012-02-04  Bruno Haible  <bruno@clisp.org>
4083
4084         isatty: Fix test failure of ptsname_r on native Windows.
4085         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
4086         and don't set errno.
4087         (isatty): Test first whether fd is valid. Set errno when returning 0.
4088
4089 2012-02-04  Bruno Haible  <bruno@clisp.org>
4090
4091         spawn-pipe tests: Fix a NULL program name in a diagnostic.
4092         * tests/test-spawn-pipe-main.c: Include progname.h.
4093         (main): Invoke set_program_name.
4094         * modules/spawn-pipe-tests (Depends-on): Add progname.
4095
4096         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
4097         * tests/test-nonblocking-socket-main.c: Include progname.h.
4098         (main): Invoke set_program_name.
4099         * modules/nonblocking-socket-tests (Depends-on): Add progname.
4100
4101         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
4102         * tests/test-nonblocking-pipe-main.c: Include progname.h.
4103         (main): Invoke set_program_name.
4104         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
4105
4106 2012-02-04  Eric Blake  <eblake@redhat.com>
4107
4108         canonicalize-lgpl: fix // handling
4109         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
4110
4111         canonicalize: fix // handling
4112         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
4113         /// to //, since only // is special.
4114
4115 2012-02-04  Bruno Haible  <bruno@clisp.org>
4116
4117         ioctl: Fix test failure on native Windows.
4118         * lib/ioctl.c: Include msvc-nothrow.h.
4119         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
4120
4121 2012-02-04  Bruno Haible  <bruno@clisp.org>
4122
4123         fsync: Avoid test failure on native Windows.
4124         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
4125         read-only.
4126
4127 2012-02-04  Bruno Haible  <bruno@clisp.org>
4128
4129         sys_select: Avoid syntax error on OpenBSD 5.0.
4130         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
4131         currently being included, just include the system's <sys/select.h>.
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: Include <signal.h> only after the include_next
4137         <sys/select.h>, not before.
4138         Reported by Jiri B <jirib@devio.us>.
4139
4140 2012-02-04  Bruno Haible  <bruno@clisp.org>
4141
4142         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
4143         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
4144         global variables.
4145         * tests/test-get-rusage-data.c (main): Likewise.
4146         Reported by Jim Meyering.
4147
4148 2012-02-04  Bruno Haible  <bruno@clisp.org>
4149
4150         stdioext: Fix last commit.
4151         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
4152
4153 2012-02-03  Bruno Haible  <bruno@clisp.org>
4154
4155         stdioext: Add tentative support for Plan9.
4156         * lib/stdio-impl.h: Include <errno.h>.
4157         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
4158         * lib/freadable.c (freadable): Likewise.
4159         * lib/fwritable.c (fwritable): Likewise.
4160         * lib/fbufmode.c (fbufmode): Likewise.
4161         * lib/freading.c (freading): Likewise.
4162         * lib/fwriting.c (fwriting): Likewise.
4163         * lib/freadptr.c (freadptr): Likewise.
4164         * lib/freadseek.c (freadptrinc): Likewise.
4165         * lib/freadahead.c (freadahead): Likewise.
4166         * lib/fpurge.c (fpurge): Likewise.
4167         * lib/fseeko.c (rpl_fseeko): Likewise.
4168         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
4169         Reported by Jens Staal <staal1978@gmail.com>.
4170
4171 2012-02-02  Jim Meyering  <meyering@redhat.com>
4172
4173         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
4174         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
4175         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
4176         not even to try to add the attribute.  Instead, add a pragma to suppress
4177         the suggestion/warning.
4178
4179 2012-01-31  Karl Berry  <karl@gnu.org>
4180
4181         setstate doc: typo.
4182         * doc/posix-functions/setstate.texi (setstate): { not (.
4183
4184 2012-01-31  Bruno Haible  <bruno@clisp.org>
4185
4186         popen: Make more robust on Windows.
4187         * lib/popen.c: On native Windows, use the _popen based code even if
4188         HAVE_POPEN is set.
4189         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
4190         environment variable on native Windows.
4191
4192 2012-01-30  Bruno Haible  <bruno@clisp.org>
4193
4194         pclose: Fix typo.
4195         * lib/stdio.in.h (pclose): Fix typo in warning message.
4196
4197 2012-01-30  Bruno Haible  <bruno@clisp.org>
4198
4199         doc about getlogin_r, setstate.
4200         * doc/posix-functions/getlogin_r.texi: List the incompatible
4201         declaration problem under "not fixed by gnulib".
4202         * doc/posix-functions/setstate.texi: Mention incompatible declaration
4203         problem on Solaris 11 and other platforms.
4204
4205 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
4206             Bruno Haible  <bruno@clisp.org>
4207
4208         poll tests: Make test more robust.
4209         * tests/test-poll.c: Include macros.h.
4210         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
4211         return value of various I/O operations.
4212         * modules/poll-tests (Files): Add tests/macros.h.
4213
4214 2012-01-30  Bruno Haible  <bruno@clisp.org>
4215
4216         sys_stat: Fix support for mingw64 and MSVC.
4217         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
4218         header files already do it.
4219         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
4220         stat itself.
4221         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
4222
4223 2012-01-30  Bruno Haible  <bruno@clisp.org>
4224
4225         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
4226         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
4227         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
4228
4229 2012-01-29  Bruno Haible  <bruno@clisp.org>
4230
4231         quotearg: Fix test failure on MacOS X 10.5.
4232         * tests/test-quotearg-simple.c: Include localcharset.h.
4233         (main): If the locale encoding is not ASCII, bypass the tests of
4234         locale_quoting_style and clocale_quoting_style.
4235         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
4236
4237 2012-01-29  Jim Meyering  <meyering@redhat.com>
4238
4239         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
4240         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
4241         detect uses of canonicalize_file_name.
4242
4243 2012-01-28  Bruno Haible  <bruno@clisp.org>
4244
4245         test-framework-sh: Fix test failure with AIX 7.1 diff.
4246         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
4247         in column 1, like 'diff -c' does.
4248         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
4249         whether 'diff -u' is used. Instead, test whether the output contains
4250         some '@' character.
4251
4252 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
4253
4254         strtoimax: eliminate need for stdint.h, inttypes.h checks
4255         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
4256         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
4257         the prerequisites for a recently-introduced strtoimax test.
4258         I guess this might cause strtoimax to be replaced when not
4259         strictly necessary on older hosts, but this shouldn't introduce
4260         any bugs and it should make Emacs 'configure' faster on typical
4261         modern hosts.  Problem discovered when importing the latest gnulib
4262         to an Emacs test version.
4263         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
4264
4265 2012-01-28  Bruno Haible  <bruno@clisp.org>
4266
4267         sys_time: Override 'struct timeval' on some native Windows platforms.
4268         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
4269         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
4270         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
4271         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
4272         needs to be overridden.
4273         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
4274         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
4275         * tests/test-sys_select.c: Check that the tv_sec member has the same
4276         size as a 'time_t'.
4277         * tests/test-sys_time.c: Likewise.
4278         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
4279         is set, set also REPLACE_GETTIMEOFDAY.
4280         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
4281         convert the resulting 'struct timeval' before returning.
4282         * lib/select.c: Include <sys/time.h>.
4283         (select, timeval): Undefine at the right place.
4284         * modules/select (Depends-on): Add sys_time.
4285         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
4286         some Windows platforms.
4287         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
4288
4289 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
4290
4291         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
4292         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
4293         an integer.
4294         * lib/fcntl.c (dupfd): Likewise.
4295         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
4296
4297 2012-01-28  Bruno Haible  <bruno@clisp.org>
4298
4299         fcntl: Avoid compilation error on native Windows.
4300         * modules/fcntl (Depends-on): Add 'close'.
4301
4302 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
4303
4304         select, poll, isatty: Avoid warnings on x86_64 mingw64.
4305         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
4306         pointer to an integer.
4307         * lib/poll.c (IsConsoleHandle): Likewise.
4308         * lib/isatty.c (IsConsoleHandle): Likewise.
4309
4310 2012-01-28  Jim Meyering  <meyering@redhat.com>
4311
4312         doc: clarify README-release
4313         * top/README-release: Clarify: you should make a point to have
4314         the latest stable versions of build tools in your PATH, and the
4315         reference to buildreq is solely for its list of tool names, not
4316         for its minimal-functional version numbers.
4317         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
4318
4319         maint.mk: use more readable (yet functionally equivalent) quoting
4320         It is common to quote a single quote in a single quoted string like
4321         this:  '...'\''...'.  Unless you know the idiom, that looks like
4322         gibberish, so prefer to double-quote the string when possible.
4323         Then you can use a more readable, lone single quote: "...'..."
4324         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
4325         "don't" is more readable than the equivalent 'don'\''t'.
4326         (sc_cast_of_x_alloc_return_value): Likewise.
4327         (sc_cast_of_alloca_return_value): Likewise.
4328         (sc_makefile_path_separator_check): Similar: use ":" in '...',
4329         rather than '\'':'\''.
4330
4331 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
4332
4333         stdalign: relax _Alignof and tighten _Alignas test
4334         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
4335         as it was too strict: alignof must divide offsetof, but it need
4336         not equal offsetof.  Inspired by Joseph S. Myers's comment
4337         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
4338         Conversely, tighten the _Alignas test a bit, as the resulting
4339         alignment must be exactly 8.
4340
4341 2012-01-27  Bruno Haible  <bruno@clisp.org>
4342
4343         stdalign: Document the last change.
4344         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
4345
4346 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
4347
4348         stdalign: check that alignof and offsetof are consistent
4349         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
4350         Problem reported for gnulib by Richard W.M. Jones in
4351         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
4352
4353 2012-01-27  Jim Meyering  <meyering@redhat.com>
4354
4355         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
4356         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
4357         convert a sequence with gaps to the minimal containing range.
4358         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
4359         * tests/test-update-copyright.sh: Test for this.
4360         The FSF confirmed it is ok to do this, assuming there is at
4361         least one significant change per year in the affected range:
4362         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
4363
4364 2012-01-26  Bruno Haible  <bruno@clisp.org>
4365
4366         pipe2: refine doc about thread-safety
4367         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
4368         multithread-safety problem.
4369         * doc/glibc-functions/accept4.texi: Likewise.
4370
4371 2012-01-26  Bruno Haible  <bruno@clisp.org>
4372
4373         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
4374         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
4375         In the test program, include <fcntl.h>, for O_RDONLY.
4376
4377 2012-01-26  Eric Blake  <eblake@redhat.com>
4378
4379         pipe2: document lack of thread-safety in replacement
4380         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
4381         issue in replacement.
4382         * doc/glibc-functions/accept4.texi (accept4): Likewise.
4383         Based on a report by Eric Wong.
4384
4385 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
4386             Bruno Haible  <bruno@clisp.org>
4387
4388         malloca: Avoid warnings on x86_64 mingw64.
4389         * lib/malloca.c: Include <stdint.h>.
4390         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
4391         * modules/malloca (Depends-on): Add stdint.
4392         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
4393
4394 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
4395
4396         obstack: remove __STDC__ conditionals
4397         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
4398         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
4399         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
4400         m4/include_next.m4 as the only gnulib-maintained places that still
4401         refer to __STDC__.
4402
4403 2012-01-24  Bruno Haible  <bruno@clisp.org>
4404
4405         havelib: Modern quoting.
4406         * build-aux/config.rpath: Quote 'like this', not `like this', as per
4407         the recent change to the GNU coding standards.
4408
4409 2012-01-24  Bruno Haible  <bruno@clisp.org>
4410
4411         stdint: Improve support for Android.
4412         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
4413         Reported by Simon Josefsson <simon@josefsson.org>.
4414
4415 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
4416
4417         doc: omit trailing empty lines from INSTALL etc.
4418         * doc/Makefile (INSTALL): Omit trailing empty lines.
4419         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
4420         omit trailing empty lines.  This simplifies the build procedure.
4421
4422 2012-01-23  Jim Meyering  <meyering@redhat.com>
4423
4424         tests: avoid spurious warnings about gl_sockets_startup
4425         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
4426         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
4427         reporting a "statement with no effect".
4428         * tests/test-accept.c (main): Mark as "(void)".
4429         * tests/test-accept4.c (main): Likewise.
4430         * tests/test-bind.c (main): Likewise.
4431         * tests/test-connect.c (main): Likewise.
4432         * tests/test-getpeername.c (main): Likewise.
4433         * tests/test-getsockname.c (main): Likewise.
4434         * tests/test-getsockopt.c (main): Likewise.
4435         * tests/test-listen.c (main): Likewise.
4436         * tests/test-recv.c (main): Likewise.
4437         * tests/test-recvfrom.c (main): Likewise.
4438         * tests/test-send.c (main): Likewise.
4439         * tests/test-sendto.c (main): Likewise.
4440         * tests/test-setsockopt.c (main): Likewise.
4441         * tests/test-shutdown.c (main): Likewise.
4442
4443 2012-01-21  Bruno Haible  <bruno@clisp.org>
4444
4445         locale-fr.m4: Fix for Android.
4446         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
4447         failure of the test program on Bionic libc.
4448
4449 2012-01-21  Jim Meyering  <meyering@redhat.com>
4450
4451         bootstrap: fail when bootstrap_post_import_hook fails
4452         Otherwise, it's far too easy to miss diagnostics emitted
4453         between gnulib-tool's output and that of running configure.
4454         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
4455
4456 2012-01-17  Jim Meyering  <meyering@redhat.com>
4457
4458         maint: enable sc_trailing_blank
4459         * build-aux/pmccabe.css: Remove trailing blanks.
4460         * doc/acl-cygwin.txt: Likewise.
4461         * doc/gnu-oids.texi: Likewise
4462         * cfg.mk: Enable sc_trailing_blank.
4463         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
4464
4465 2012-01-17  Jim Meyering  <meyering@redhat.com>
4466
4467         maint: enable sc_prohibit_openat_without_use
4468         * cfg.mk: Enable sc_prohibit_openat_without_use.
4469         Exempt lib/selinux-at.c.
4470
4471 2012-01-17  Jim Meyering  <meyering@redhat.com>
4472
4473         maint: enable sc_prohibit_cloexec_without_use
4474         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
4475         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
4476
4477 2012-01-17  Jim Meyering  <meyering@redhat.com>
4478
4479         maint: enable sc_prohibit_intprops_without_use
4480         * cfg.mk: Enable sc_prohibit_intprops_without_use
4481         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
4482
4483 2012-01-17  Jim Meyering  <meyering@redhat.com>
4484
4485         maint: enable sc_prohibit_hash_pjw_without_use
4486         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
4487         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
4488         to match any use of \<hash_pjw\>, i.e., not necessarily with a
4489         following " (".
4490
4491 2012-01-17  Jim Meyering  <meyering@redhat.com>
4492
4493         maint: enable double-word-prohibiting rule
4494         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
4495         Exempt three files.
4496
4497 2012-01-17  Jim Meyering  <meyering@redhat.com>
4498
4499         maint: remove empty lines at EOF, but excluding modules/*
4500         Apply syntax rules at home as well as abroad.  Most changes
4501         were induced by running this:
4502           make srcdir=. _build-aux=build-aux -f top/maint.mk \
4503             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
4504             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
4505         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
4506         Exempt modules/* and two binary files.
4507         Also exempt doc/INSTALL*, per request from Bruno Haible.
4508         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
4509         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
4510         * doc/Copyright/request-assign.future: Likewise.
4511         * doc/Copyright/request-disclaim.changes: Likewise.
4512         * doc/INSTALL: Likewise.
4513         * doc/INSTALL.ISO: Likewise.
4514         * doc/INSTALL.UTF-8: Likewise.
4515         * doc/acl-cygwin.txt: Likewise.
4516         * doc/acl-resources.txt: Likewise.
4517         * doc/fdl-1.2.texi: Likewise.
4518         * doc/fdl-1.3.texi: Likewise.
4519         * doc/fdl.texi: Likewise.
4520         * lib/argp-pin.c: Likewise.
4521         * lib/round.c: Likewise.
4522         * lib/unicase/u16-totitle.c: Likewise.
4523         * lib/unictype/block_test.c: Likewise.
4524         * lib/uninorm/canonical-decomposition.c: Likewise.
4525         * m4/README: Likewise.
4526         * m4/relocatable-lib.m4: Likewise.
4527         * tests/test-isnand-nolibm.c: Likewise.
4528         * tests/test-isnand.c: Likewise.
4529         * tests/uninorm/NormalizationTest.txt: Likewise.
4530
4531 2012-01-17  Jim Meyering  <meyering@redhat.com>
4532
4533         maint: add framework to run syntax-check rules against gnulib sources
4534         * cfg.mk: New file, to disable all currently-failing tests.
4535         We'll enable them one by one, as they are made to pass.
4536         * Makefile (sc_maint): New rule.
4537
4538 2012-01-21  Bruno Haible  <bruno@clisp.org>
4539
4540         stdint: Add support for Android.
4541         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
4542         include the system's <stdint.h>.
4543         Reported by Simon Josefsson <simon@josefsson.org>.
4544
4545 2012-01-19  Jim Meyering  <meyering@redhat.com>
4546
4547         bootstrap: add bootstrap_post_import_hook
4548         Bison does still need something like the gnulib_mk_hook whose
4549         invocation I had to remove along with slurp in commit 767ccd40.
4550         Technically, we could get along without it, but doing so would
4551         have required living with a warning and a mandatory post-bootstrap
4552         automake rerun.
4553         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
4554         (bootstrap_post_import_hook): New function.
4555         Invoke it after gnulib-tool --import and before autoreconf.
4556
4557 2012-01-18  Jim Meyering  <meyering@redhat.com>
4558
4559         gitlog-to-changelog: don't use "no_"-prefixed variable name
4560         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
4561         to enable both --cluster and --no-cluster.  Change variable name,
4562         s/\$no_cluster/$cluster/, and reverse usage to match.
4563
4564         gitlog-to-changelog: use "||", not "or" in expressions
4565         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
4566         expressions.
4567
4568 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
4569
4570         gitlog-to-changelog: new option --no-cluster
4571         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
4572         clustering of adjacent commit messages.
4573
4574 2012-01-17  Jim Meyering  <meyering@redhat.com>
4575
4576         maint: spell file systems with two words, not one
4577         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
4578         two words, not one.
4579
4580 2012-01-16  Jim Meyering  <meyering@redhat.com>
4581
4582         bootstrap: add a FIXME comment to ensure we eventually remove the hack
4583         * build-aux/bootstrap (gnulib_tool_options): Add comment.
4584
4585 2012-01-16  Eric Blake  <eblake@redhat.com>
4586
4587         bootstrap: cater to autoconf 2.59
4588         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
4589         is not available.
4590
4591         bootstrap: properly check for libtool
4592         * build-aux/bootstrap (libtoolize): Also run libtool when older
4593         usage is detected.
4594
4595 2012-01-15  Bruno Haible  <bruno@clisp.org>
4596
4597         Improve support for MSVC 9.
4598         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
4599         clashes on MSVC.
4600         * lib/fcntl.in.h: Likewise.
4601         * lib/stdlib.in.h: Likewise.
4602         * lib/sys_stat.in.h: Likewise.
4603
4604 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
4605
4606         gnupload: we hold the master copy of this script now
4607         For motivation and more information, see:
4608         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
4609         * build-aux/gnupload: Make it clear in the heading comments that the
4610         master copy of this file is maintained by gnulib.  Since we are at
4611         it, bump its copyright year and ...
4612         ($scriptversion): ... the date in its version.
4613         ($usage): Patches and bug reports should be sent to the gnulib list,
4614         not the automake one.
4615         * config/srclist.txt: Don't try to sync 'gnupload' from automake
4616         anymore.
4617
4618 2012-01-15  Bruno Haible  <bruno@clisp.org>
4619
4620         Fix module 'random'.
4621         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
4622         initstate, setstate are declared.
4623
4624 2012-01-14  Bruno Haible  <bruno@clisp.org>
4625
4626         Tests for module 'random'.
4627         * modules/random-tests: New file.
4628         * tests/test-random.c: New file, based on tests/test-random_r.c.
4629
4630         New module 'random'.
4631         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
4632         declarations.
4633         * lib/random.c: New file, based on glibc/stdlib/random.c.
4634         * m4/random.m4: New file.
4635         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
4636         HAVE_RANDOM.
4637         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
4638         * modules/random: New file.
4639         * config/srclist.txt: Add an entry for random.c.
4640         * doc/posix-functions/random.texi: Mention the 'random' module.
4641         * doc/posix-functions/initstate.texi: Likewise.
4642         * doc/posix-functions/setstate.texi: Likewise.
4643         * doc/posix-functions/srandom.texi: Likewise.
4644
4645 2012-01-12  Bruno Haible  <bruno@clisp.org>
4646
4647         random_r: Use common idioms.
4648         * lib/random_r.c: Include <stdlib.h> first.
4649
4650         random_r: Override incompatible API on AIX, OSF/1.
4651         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
4652         Override the system function if REPLACE_RANDOM_R is 1.
4653         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
4654         and OSF/1, set REPLACE_RANDOM_R.
4655         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
4656         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
4657         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
4658         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
4659         * doc/glibc-functions/random_r.texi: Likewise.
4660         * doc/glibc-functions/setstate_r.texi: Likewise.
4661
4662         random_r: Support for MSVC 9.
4663         * lib/random_r.c: Include stdint.h, not inttypes.h.
4664
4665 2012-01-12  Eric Blake  <eblake@redhat.com>
4666
4667         inet_ntop: guard extra work by IF_LINT
4668         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
4669         better code generation when not checking for warnings.
4670         Suggested by Paul Eggert and Jim Meyering.
4671
4672         strptime: fix regression on mingw
4673         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
4674         Fix regression.  Reported by Bruno Haible.
4675
4676 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
4677             Bruno Haible  <bruno@clisp.org>
4678
4679         copy-file: add error-code-returning variant.
4680         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
4681         (qcopy_file_preserving): New declaration.
4682         * lib/copy-file.c (qcopy_file_preserving): Renamed from
4683         copy_file_preserving. Change return type to 'int'. Don't emit an error
4684         message here.
4685         (copy_file_preserving): New function.
4686         * tests/test-copy-file.c: Include <stdlib.h>.
4687         (main): Test qcopy_file_preserving if the environment variable
4688         NO_STDERR_OUTPUT is set.
4689         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
4690         with NO_STDERR_OUTPUT
4691         * tests/test-copy-file-2.sh: Likewise.
4692
4693 2012-01-10  Bruno Haible  <bruno@clisp.org>
4694
4695         copy-file: Use 'quote' module consistently.
4696         * lib/copy-file.c (copy_file_preserving): Use quote().
4697
4698         copy-file: Refactor.
4699         * lib/copy-file.c: Include quote.h.
4700         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
4701         message here.
4702         * modules/copy-file (Depends-on): Add quote.
4703
4704         acl: Export qcopy_acl.
4705         * lib/acl.h (qcopy_acl): New declaration.
4706         * lib/copy-acl.c (qcopy_acl): Make non-static.
4707
4708         acl: Rename a local variable.
4709         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
4710
4711         acl: Align return values of copy_acl and qcopy_acl.
4712         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
4713         maybe < -1.
4714
4715 2012-01-11  Eric Blake  <eblake@redhat.com>
4716
4717         strptime: silence gcc warnings
4718         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
4719         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
4720         Reported by Daniel P. Berrange.
4721
4722         inet_ntop: silence gcc warning
4723         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
4724         Reported by Daniel P. Berrange.
4725
4726 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
4727
4728         getloadavg test: skip the test on GNU/Linux without /proc mounted
4729         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
4730         file.  When /proc is not mounted, it always fails with ENOENT.
4731         * tests/test-getloadavg.c (main): Treat ENOENT return code from
4732         getloadavg(3) the same way as ENOSYS and ENOTSUP.
4733
4734 2012-01-10  Bruno Haible  <bruno@clisp.org>
4735
4736         regex: Avoid link error on MSVC 9.
4737         * modules/regex (Depends-on): Add wctype.
4738
4739 2012-01-10  Bruno Haible  <bruno@clisp.org>
4740
4741         doc: Mention --with-tests option.
4742         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
4743         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
4744         --with-tests.
4745         Reported by Reuben Thomas.
4746
4747 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
4748
4749         users.txt: order package names lexicographically.
4750         * users.txt: Order package names lexicographically.
4751
4752 2012-01-10  Jim Meyering  <meyering@redhat.com>
4753
4754         maint.mk: fix description in comment
4755         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
4756
4757         ignore-value: remove deprecated ignore_ptr function
4758         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
4759         * NEWS: Note this.
4760
4761 2012-01-09  Jim Meyering  <meyering@redhat.com>
4762
4763         test-init.sh: avoid a subshell
4764         * tests/test-init.sh: Remove protective subshell.
4765         Suggested by Bernhard Voelker.  While a subshell is normally
4766         required to protect against older shells (Solaris, FreeBSD) that
4767         warn about a missing program before performing redirection, the
4768         shell-selection tests performed by init.sh probably exclude any
4769         offending shell.
4770
4771 2012-01-08  Bruno Haible  <bruno@clisp.org>
4772
4773         setlocale tests: Avoid test failure on Solaris 11 2011-11.
4774         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
4775         variable.
4776
4777 2012-01-08  Bruno Haible  <bruno@clisp.org>
4778
4779         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
4780         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
4781         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
4782         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
4783         macro.
4784         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
4785         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
4786         * lib/spawn_faction_addopen.c: Add workaround implementation if
4787         HAVE_WORKING_POSIX_SPAWN.
4788         * modules/spawn (Makefile): Substitute
4789         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
4790         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
4791         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
4792         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
4793         (Depends-on): Update conditions.
4794         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
4795         the Solaris 11 bug.
4796
4797 2012-01-08  Bruno Haible  <bruno@clisp.org>
4798
4799         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
4800         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
4801         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
4802         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
4803         macro.
4804         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
4805         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
4806         * lib/spawn_faction_adddup2.c: Add workaround implementation if
4807         HAVE_WORKING_POSIX_SPAWN.
4808         * modules/spawn (Makefile): Substitute
4809         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
4810         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
4811         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
4812         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
4813         (Depends-on): Update conditions.
4814         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
4815         the Solaris 11 bug.
4816
4817 2012-01-08  Bruno Haible  <bruno@clisp.org>
4818
4819         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
4820         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
4821         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
4822         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
4823         HAVE_WORKING_POSIX_SPAWN.
4824         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
4825         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
4826         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
4827         * lib/spawn_faction_addclose.c: Add workaround implementation if
4828         HAVE_WORKING_POSIX_SPAWN.
4829         * modules/spawn (Makefile): Substitute
4830         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
4831         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
4832         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
4833         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
4834         (Depends-on): Update conditions.
4835         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
4836         the Solaris 11 bug.
4837
4838 2012-01-08  Bruno Haible  <bruno@clisp.org>
4839
4840         doc: Update for Solaris 11 2011-11.
4841         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
4842         * m4/printf.m4: Update comments.
4843
4844 2012-01-08  Bruno Haible  <bruno@clisp.org>
4845
4846         mktime: Avoid compilation error on Solaris 11.
4847         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
4848
4849 2012-01-08  Bruno Haible  <bruno@clisp.org>
4850
4851         doc: Small fix.
4852         * doc/posix-headers/nl_types.texi: Correct platforms list.
4853
4854 2012-01-08  Simon Josefsson  <simon@josefsson.org>
4855
4856         Add lgpl-3.0 module.
4857         * MODULES.html.sh (Support for building documentation): Add
4858         lgpl-3.0.
4859         * modules/lgpl-3.0: New file.
4860
4861 2012-01-08  Jim Meyering  <meyering@redhat.com>
4862
4863         select.c: indent with spaces, not TABs
4864         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
4865
4866 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
4867
4868         quotearg: do not use grave accent for left quote
4869         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
4870         locale_quoting_style.
4871         (quotearg_buffer_restyled): Fix example.
4872         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
4873
4874 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
4875
4876         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
4877         Most programs do not have translation catalogs for English and much
4878         less separate catalogs for British and American English.  Drop the
4879         suggestion to translators about these two, and provide it
4880         automatically for Unicode locales.  Like most programs, even those
4881         using American English, we use single quotation marks.  This conflicts
4882         with the American typographic convention, but works better when you
4883         cite the entire error message within double quotes.  It also tries not
4884         to clash with established practice and with what non-gnulib programs
4885         will usually do.
4886         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
4887         using an UTF-8 or GB-18030 locale.  The list of other locales with
4888         quotes was provided by Bruno Haible.
4889         (quotearg_buffer_restyled): Adjust instructions to translators.
4890         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
4891         text, since this would be wrong when using Unicode.
4892         * modules/quotearg: Depend on c-strcaseeq.
4893
4894 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
4895
4896         quotearg: fix Wikipedia link
4897         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
4898
4899 2012-01-07  Simon Josefsson  <simon@josefsson.org>
4900
4901         Fix for mingw with MSVC9.
4902         * m4/ld-version-script.m4: Check that compiler rejects version
4903         scripts with syntax errors.  Reported by Bruno Haible
4904         <bruno@clisp.org>.
4905
4906 2012-01-06  Bruno Haible  <bruno@clisp.org>
4907
4908         Talk about "native Windows API", not "Woe32".
4909         * lib/accept4.c: Update comments to mention native Windows.
4910         * lib/execute.c: Likewise.
4911         * lib/fatal-signal.c: Likewise.
4912         * lib/localcharset.c: Likewise.
4913         * lib/nanosleep.c: Likewise.
4914         * lib/nl_langinfo.c: Likewise.
4915         * lib/pclose.c: Likewise.
4916         * lib/pipe-filter-gi.c: Likewise.
4917         * lib/pipe-filter-ii.c: Likewise.
4918         * lib/pipe.c: Likewise.
4919         * lib/pipe2.c: Likewise.
4920         * lib/popen.c: Likewise.
4921         * lib/progreloc.c: Likewise.
4922         * lib/relocatable.c: Likewise.
4923         * lib/sigaction.c: Likewise.
4924         * lib/sigprocmask.c: Likewise.
4925         * lib/spawn-pipe.h: Likewise.
4926         * lib/spawn-pipe.c: Likewise.
4927         * lib/spawni.c: Likewise.
4928         * lib/stat-time.h: Likewise.
4929         * lib/w32spawn.h: Likewise.
4930         * tests/test-isatty.c: Likewise.
4931         * lib/config.charset: More comments.
4932         * doc/gnulib-intro.texi: Mention native Windows.
4933         * doc/posix-functions/_Exit_C99.texi: Likewise.
4934         * doc/posix-headers/fcntl.texi: Likewise.
4935
4936 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
4937
4938         argp: Avoid crash if translator uses % characters in a translation.
4939         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
4940         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
4941
4942 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
4943
4944         doc: C11 and C++11 are now official
4945         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
4946         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
4947         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
4948         * modules/stdalign:
4949         Replace references to draft C1X to C11, and to draft C++0X to C++11.
4950
4951 2012-01-06  Bruno Haible  <bruno@clisp.org>
4952
4953         uc-is-grapheme-break tests: Tweak.
4954         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
4955         message.
4956
4957 2012-01-06  Bruno Haible  <bruno@clisp.org>
4958
4959         test-init.sh: correct the test for diff -u
4960         * tests/test-init.sh: Also redirect stdout to /dev/null.
4961
4962 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
4963
4964         Use ', not `, for quoting output.
4965         * build-aux/announce-gen (usage, sizes, print_news_deltas)
4966         (print_changelog_deltas, get_tool_versions, main program):
4967         * build-aux/git-version-gen:
4968         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
4969         * build-aux/move-if-change (help):
4970         * build-aux/useless-if-before-free (usage, main program):
4971         * check-module (parse_module_file, usage)
4972         (find_included_lib_files, check_module):
4973         * lib/argmatch.c (main) [TEST]:
4974         * lib/argp-help.c (_help):
4975         * lib/getopt1.c (main) [TEST]:
4976         * lib/git-merge-changelog.c (usage):
4977         * lib/xstrtol-error.c (xstrtol_error):
4978         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
4979         * m4/argz.m4 (gl_FUNC_ARGZ):
4980         * m4/bison.m4 (gl_BISON):
4981         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
4982         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
4983         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
4984         * m4/fpending.m4 (gl_PREREQ_FPENDING):
4985         * m4/gc-random.m4 (gl_GC_RANDOM):
4986         * m4/intl.m4 (gt_CHECK_DECL):
4987         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
4988         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
4989         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
4990         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
4991         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
4992         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
4993         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
4994         * tests/test-dirname.c (main):
4995         * tests/test-getpass.c (main):
4996         * tests/test-iconvme.c (main):
4997         * tests/test-parse-datetime.c (LOG):
4998         * tests/test-xstrtoimax.sh:
4999         * tests/test-xstrtol.sh:
5000         * tests/test-xstrtoll.sh:
5001         * tests/test-xstrtoumax.sh:
5002         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
5003         * top/GNUmakefile (abort-due-to-no-makefile):
5004         Quote 'like this', not `like this', as per the recent change to
5005         the GNU coding standards.
5006
5007 2012-01-05  Bruno Haible  <bruno@clisp.org>
5008
5009         strtoimax: Don't force a replacement on systems where intmax_t is int.
5010         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
5011         'intmax_t' is not larger than 'int'.
5012         Reported by Pádraig Brady <P@draigBrady.com>.
5013
5014 2012-01-05  Bruno Haible  <bruno@clisp.org>
5015
5016         doc: Mention NetBSD bugs.
5017         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
5018         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
5019
5020 2012-01-05  Bruno Haible  <bruno@clisp.org>
5021
5022         strtoumax tests: Enhance tests.
5023         * tests/test-strtoumax.c (main): Add tests for large values.
5024
5025 2012-01-05  Bruno Haible  <bruno@clisp.org>
5026
5027         strtoimax: Work around AIX 5.1 bug.
5028         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
5029         definition.
5030         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
5031         Set HAVE_STRTOIMAX.
5032         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
5033         REPLACE_STRTOIMAX.
5034         * modules/inttypes-incomplete (Makefile.am): Substitute
5035         REPLACE_STRTOIMAX.
5036         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
5037         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
5038         (Depends-on): Update conditions.
5039         * tests/test-strtoimax.c (main): Add tests for large values.
5040         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
5041
5042 2012-01-05  Bruno Haible  <bruno@clisp.org>
5043
5044         inttypes: Modernize.
5045         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
5046         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
5047         (Makefile.am): Update inttypes.h rule.
5048
5049 2012-01-05  Jim Meyering  <meyering@redhat.com>
5050
5051         init.sh: don't waste a subshell just to redirect stderr
5052         * tests/init.sh: In testing for diff -u and diff -c, use a
5053         stderr-redirecting exec inside `...` rather than a subshell.
5054
5055         test-init.sh: avoid failure on HP-UX 11.00
5056         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
5057         resolves to diff -c or cmp.  Reported by Bruno Haible.
5058
5059 2012-01-05  Bruno Haible  <bruno@clisp.org>
5060
5061         Tests for module 'strtoull'.
5062         * modules/strtoull-tests: New file.
5063         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
5064
5065 2012-01-05  Bruno Haible  <bruno@clisp.org>
5066
5067         Tests for module 'strtoll'.
5068         * modules/strtoll-tests: New file.
5069         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
5070
5071 2012-01-05  Bruno Haible  <bruno@clisp.org>
5072
5073         Tests for module 'strtoul'.
5074         * modules/strtoul-tests: New file.
5075         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
5076
5077 2012-01-05  Bruno Haible  <bruno@clisp.org>
5078
5079         Tests for module 'strtol'.
5080         * modules/strtol-tests: New file.
5081         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
5082
5083 2012-01-04  Jim Meyering  <meyering@redhat.com>
5084
5085         test-init.sh: accommodate Solaris 5.10's different diff -u output
5086         * tests/test-init.sh: Also exempt @@ lines from the comparison
5087         of diff output, since Solaris 5.10 and GNU diff formats differ.
5088         Reported by Stefano Lattarini.
5089
5090 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
5091
5092         test-posixtm: don't assume signed integer wraparound
5093         * tests/test-posixtm.c (main): Don't assume wraparound semantics
5094         after signed integer overflow.  Inspired by (though it may not
5095         fix) Bruno Haible's bug report in
5096         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
5097
5098         Spell out "Windows 9x" and "Windows XP".
5099         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
5100         "Windows 9x" and "WinXP" with "Windows XP".
5101
5102 2012-01-04  Jim Meyering  <meyering@redhat.com>
5103
5104         test-vc-list-files-cvs.sh: remove obsolete comment
5105         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
5106         double exit.  Now that's all encapsulated via skip_ and Exit.
5107
5108 2012-01-04  Bruno Haible  <bruno@clisp.org>
5109
5110         Talk about "native Windows API", not "Win32".
5111         * lib/classpath.c: Update comments to mention native Windows.
5112         * lib/csharpexec.c: Likewise.
5113         * lib/dup2.c: Likewise.
5114         * lib/error.c: Likewise.
5115         * lib/fcntl.c: Likewise.
5116         * lib/filename.h: Likewise.
5117         * lib/findprog.c: Likewise.
5118         * lib/get-rusage-as.c: Likewise.
5119         * lib/get-rusage-data.c: Likewise.
5120         * lib/getpagesize.c: Likewise.
5121         * lib/javaexec.c: Likewise.
5122         * lib/msvc-inval.c: Likewise.
5123         * lib/msvc-nothrow.c: Likewise.
5124         * lib/nanosleep.c: Likewise.
5125         * lib/nonblocking.c: Likewise.
5126         * lib/printf-parse.c: Likewise.
5127         * lib/setlocale.c: Likewise.
5128         * lib/sigaction.c: Likewise.
5129         * lib/strerror_r.c: Likewise.
5130         * lib/tmpdir.c: Likewise.
5131         * lib/vasnprintf.c: Likewise.
5132         * lib/w32spawn.h: Likewise.
5133         * lib/waitpid.c: Likewise.
5134         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
5135         * m4/locale-ar.m4: Likewise.
5136         * m4/locale-fr.m4: Likewise.
5137         * m4/locale-ja.m4: Likewise.
5138         * m4/locale-tr.m4: Likewise.
5139         * m4/locale-zh.m4: Likewise.
5140         * m4/printf.m4: Likewise.
5141         * tests/test-cloexec.c: Likewise.
5142         * tests/test-copy-acl.sh: Likewise.
5143         * tests/test-copy-file.sh: Likewise.
5144         * tests/test-file-has-acl.sh: Likewise.
5145         * tests/test-set-mode-acl.sh: Likewise.
5146         * tests/test-dup-safer.c: Likewise.
5147         * tests/test-dup2.c: Likewise.
5148         * tests/test-dup3.c: Likewise.
5149         * tests/test-fcntl.c: Likewise.
5150         * tests/test-nonblocking-pipe.h: Likewise.
5151         * tests/test-nonblocking-socket.h: Likewise.
5152         * tests/test-pipe.c: Likewise.
5153         * tests/test-pipe2.c: Likewise.
5154         * tests/test-spawn-pipe-child.c: Likewise.
5155         * doc/acl-resources.txt: Likewise.
5156         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
5157         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
5158         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
5159         * lib/localcharset.c: Update comments to mention native Windows.
5160         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
5161         * lib/localename.c: Likewise.
5162         * lib/progreloc.c: Likewise.
5163         * lib/relocatable.c: Likewise.
5164         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
5165         (windows_compute_revents): Renamed from win32_compute_revents.
5166         (windows_compute_revents_socket): Renamed from
5167         win32_compute_revents_socket.
5168         * lib/select.c: Update comments to mention native Windows.
5169         (windows_poll_handle): Renamed from win32_poll_handle.
5170         * m4/threadlib.m4: Update comments to mention native Windows.
5171         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
5172         --enable-threads=windows instead of --enable-threads=win32. Set
5173         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
5174         * lib/glthread/lock.h: Update comments to mention native Windows.
5175         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
5176         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
5177         USE_WIN32_THREADS.
5178         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
5179         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
5180         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
5181         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
5182         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
5183         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
5184         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
5185         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
5186         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
5187         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
5188         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
5189         * tests/test-tls.c: Likewise.
5190         Rationale:
5191         Microsoft renamed the "Win32 API" to "Windows API", as it is available
5192         on both 32-bit and 64-bit Windows systems.
5193         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
5194         line of distinction is between "native Windows" on one side and Unix/
5195         POSIX systems on the other side. More details in
5196         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
5197         Suggested by Paul Eggert.
5198
5199 2012-01-03  Bruno Haible  <bruno@clisp.org>
5200
5201         isatty: Support for MSVC 9.
5202         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
5203         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
5204         (_isatty_nothrow): New function.
5205         (isatty): Use it instead of _isatty.
5206         (IsConsoleHandle): Add comment, from Paolo Bonzini.
5207         * lib/poll.c (IsConsoleHandle): Likewise.
5208         * lib/select.c (IsConsoleHandle): Likewise.
5209         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
5210         (gl_PREREQ_ISATTY): New macro.
5211         * modules/isatty (Depends-on): Add msvc-inval.
5212         (configure.ac): Invoke gl_PREREQ_ISATTY.
5213
5214 2012-01-03  Jim Meyering  <meyering@redhat.com>
5215
5216         maint.mk: remove temporary transition aid from over 1.5 years ago
5217         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
5218         purpose was to aid in the transition (avoiding silent malfunction)
5219         from that old name to the new _sc_search_regexp.  This shim was
5220         added by commit 219c504b.
5221
5222         init.sh: do not try to accommodate compare arguments starting with "-"
5223         * tests/init.sh (compare_dev_null_): Do not try to accommodate
5224         compare arguments that start with "-".  Besides, we do not worry
5225         about this when invoking diff or cmp; why start now with sed?
5226         Using "--" to separate options from argument would trigger sed
5227         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
5228         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
5229
5230 2012-01-02  Bruno Haible  <bruno@clisp.org>
5231
5232         Enhance tests for module 'isatty'.
5233         * modules/isatty-tests (Depends-on): Add pipe-posix.
5234         * tests/test-isatty.c: Include <fcntl.h>.
5235         (DEV_NULL): New macro.
5236         (main): Test the resut of isatty() also on regular files, pipes, and
5237         /dev/null.
5238
5239         New module 'isatty'.
5240         * lib/unistd.in.h (isatty): New declaration.
5241         * lib/isatty.c: New file, based on an idea of
5242         Bastien Roucariès <roucaries.bastien@gmail.com>.
5243         * m4/isatty.m4: New file.
5244         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
5245         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
5246         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
5247         REPLACE_ISATTY.
5248         * modules/isatty: New file.
5249         * doc/posix-functions/isatty.texi: Mention the new module.
5250         Suggested by Paolo Bonzini.
5251
5252 2012-01-02  Bruno Haible  <bruno@clisp.org>
5253
5254         canonicalize: Tweak 2011-12-29 commit.
5255         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
5256         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
5257
5258 2012-01-02  Jim Meyering  <meyering@redhat.com>
5259
5260         gitlog-to-changelog: describe input syntax in --help output
5261         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
5262
5263         gitlog-to-changelog: fix typo in --help: show backslash before email @
5264         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
5265         in sources, but not in actual output.
5266
5267 2011-12-30  Jim Meyering  <meyering@redhat.com>
5268
5269         gitlog-to-changelog: don't malfunction when name contains %-directive
5270         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
5271         in a name string cause trouble.  E.g., with a user name of "%s",
5272         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
5273
5274 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
5275
5276         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
5277         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
5278         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
5279         the "  (tiny change)" notation that is appended to the standard
5280         ChangeLog "date  name  email" header line.
5281
5282 2012-01-01  Jim Meyering  <meyering@redhat.com>
5283
5284         test-framework-sh: init.sh: fix "make dist" failure
5285         When using gnulib-tool's --with-tests option and any module that
5286         depends on test-framework-sh, "make dist" would fail due to the
5287         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
5288         in the gltests directory, and not in the gllib/ directory.
5289         One way to work around that is to move the EXTRA_DIST += init.sh
5290         from the primary module to the -tests one:
5291         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
5292         * modules/test-framework-sh (Makefile.am): ...not here.
5293         Reported by Tom G. Christensen in
5294         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
5295
5296         version-etc: update copyright year reported by --version
5297         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
5298
5299 2011-12-31  Pádraig Brady  <P@draigBrady.com>
5300
5301         canonicalize: only stat() if required
5302         * lib/canonicalize.c (canonicalize_filename_mode):
5303         Avoid calling l?stat() when both CAN_MISSING,
5304         and CAN_NOLINKS are set, as we neither need
5305         to resolve symlinks or test component existence.
5306
5307 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
5308
5309         doc: cover st_ino issues once; add OpenVMS etc.
5310         * doc/posix-functions/stat.texi (stat):
5311         * doc/posix-functions/lstat.texi (lstat):
5312         * doc/posix-functions/fstatat.texi (fstatat):
5313         * doc/posix-functions/fstat.texi (fstat):
5314         Move general 'struct stat' stuff to sys_stat.texi,
5315         leaving behind a pointer.
5316         * doc/posix-headers/sys_stat.texi (sys/stat.h):
5317         Merge duplicate info about 'struct stat' problems into here.
5318         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
5319         and suggest partial workarounds.
5320
5321         same-inode: port to OpenVMS
5322         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
5323         three st_ino values.
5324
5325 2011-12-30  Pádraig Brady  <P@draigBrady.com>
5326
5327         canonicalize: fix references to stat() and lstat()
5328         * lib/canonicalize.c (canonicalize_filename_mode):
5329         Ensure references always resolve to a replacement
5330         function if required (even via a macro).
5331
5332 2011-12-30  Jim Meyering  <meyering@redhat.com>
5333
5334         gitlog-to-changelog: remove a little duplication
5335         * build-aux/gitlog-to-changelog (main): Grep @lines once,
5336         rather than twice.
5337
5338 2011-12-29  Pádraig Brady  <P@draigBrady.com>
5339
5340         canonicalize: add support for not resolving symlinks
5341         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
5342         indicate we don't want to follow symlinks.  Also
5343         provide CAN_MODE_MASK to aid setting these existing
5344         mutually exclusive values.
5345         * lib/canonicalize.c (canonicalize_filename_mode):
5346         Extract the flags from can_mode parameter, which
5347         are currently just used to select between stat()
5348         and lstat().  Also ensure that mutually exclusive
5349         values are flagged immediately as invalid.
5350         * tests/test-canonicalize.c: Verify symlinks are
5351         not followed, and that invalid flag combinations
5352         are diagnosed.
5353
5354 2011-12-25  Jim Meyering  <meyering@redhat.com>
5355
5356         gitlog-to-changelog: do not clump multi-paragraph entries
5357         Identical header lines (date,name,email+coauthors) are suppressed,
5358         thus putting all entries with those same characteristics under
5359         a single header.  However, when a log entry consists of two or
5360         more paragraphs, it may not be clear where it starts and ends.
5361         This change makes it so that such an entry is always separated
5362         from others by a header line, even when that header would
5363         otherwise be suppressed.
5364         * build-aux/gitlog-to-changelog: Implement the above.
5365         Inspired by a related request from Stefano Lattarini in
5366         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
5367
5368 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
5369
5370         announce-gen: fix `cmd' typo in diagnostic
5371         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
5372         diagnostic: a missing '$' meant that the command was not output.
5373
5374 2011-12-23  Jim Meyering  <meyering@redhat.com>
5375
5376         test-framework-sh: distribute init.sh
5377         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
5378         Otherwise, "make -C gnulib-tests check" (at least in grep) would
5379         fail due to the lack of init.sh.
5380
5381         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
5382         * modules/atexit-tests: Rather than listing tests/init.sh,
5383         now that there's a module for it, simply depend on that new module.
5384         * modules/closein-tests: Likewise.
5385         * modules/exclude-tests: Likewise.
5386         * modules/getcwd-tests: Likewise.
5387         * modules/perror-tests: Likewise.
5388         * modules/pread-tests: Likewise.
5389         * modules/pwrite-tests: Likewise.
5390         * modules/vc-list-files-tests: Likewise.
5391         * modules/verify-tests: Likewise.
5392         * modules/xalloc-die-tests: Likewise.
5393         * modules/xstrtoimax-tests: Likewise.
5394         * modules/xstrtol-tests: Likewise.
5395         * modules/xstrtoll-tests: Likewise.
5396         * modules/xstrtoumax-tests: Likewise.
5397         * modules/yesno-tests: Likewise.
5398
5399 2011-12-22  Jim Meyering  <meyering@redhat.com>
5400
5401         test-framework-sh: add minimal tests of init.sh's compare function
5402         * modules/test-framework-sh-tests: New file.
5403         * tests/test-init.sh: New file.
5404
5405         test-framework-sh: new module
5406         * modules/test-framework-sh: New file.
5407         * MODULES.html.sh (Support for maintaining and releasing projects):
5408         List it.
5409
5410         init.sh: do not emit simulated diff output to stderr
5411         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
5412
5413 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
5414
5415         .gitignore: ignore gnulib.dvi and regex.info
5416         * doc/.gitignore:add gnulib.dvi and regex.info
5417
5418 2011-12-22  Jim Meyering  <meyering@redhat.com>
5419
5420         init.sh: correct previous change
5421         * tests/init.sh (compare): My previous change was wrong.
5422         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
5423
5424         init.sh: avoid unwarranted test failure when using "set -e"
5425         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
5426         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
5427         a use like "compare exp out" would get evoke an unconditional failure.
5428
5429 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
5430
5431         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
5432         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
5433         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
5434         autoreconf that did not.
5435         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
5436         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
5437
5438 2011-12-17  Jim Meyering  <meyering@redhat.com>
5439
5440         bootstrap: remove some now-unneeded code
5441         This script arose back when gnulib-tool was young.
5442         Since then, it has seen improvements that render much of this
5443         script unnecessary.  In particular, it can now make symlinks
5444         to the files it uses.  Also, I no longer see as much value in
5445         marking files as read-only via comments.
5446         If you relied on the symlink-creation feature of the preceding
5447         version of this script, you can get most of that functionality
5448         by adding the --symlink option to the definition of
5449         gnulib_tool_option_extras in your bootstrap.conf file.
5450         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
5451         Run autopoint and libtoolize *before* gnulib-tool.
5452         After it, run an abbreviated autoreconf, rather than a loop around
5453         all tools.
5454         (slirp, bt_mark_as_generated): Remove functions.
5455
5456 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
5457
5458         ftoastr: fix typo
5459         * lib/ftoastr.h: Fix misspelling in comment.
5460
5461 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
5462
5463         * top/README-release: fix punctuation.
5464
5465 2011-12-17  Jim Meyering  <meyering@redhat.com>
5466
5467         bootstrap: correct the recent buildreq change
5468         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
5469         had no effect.
5470         * build-aux/bootstrap (buildreq): Bracket each search term with
5471         "*...*", so that the shell "case" statement works as intended.
5472         Add comments.
5473
5474 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
5475
5476         build: let bootstrap resort to wget when downloading .po files
5477         * build-aux/bootstrap (download_po_files): Fallback to wget when
5478         downloading the .po files via rsync fails.  This is necessary to
5479         bootstrap from behind a strict firewall.
5480
5481 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
5482
5483         stdint: don't assume C++11 when compiling with g++
5484         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
5485         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
5486         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
5487         work also in C++ before C++11, as that improperly inhibits
5488         generating a substitute stdint.h for that case.
5489
5490 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
5491
5492         alloca: protect comment from gnulib-tool
5493         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
5494         that gnulib-tool doesn't think it's a license, and munge it to
5495         say "GCC version 3".
5496
5497 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
5498
5499         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
5500         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
5501         $(abs_top_builddir) instead of $(top_builddir).
5502
5503 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
5504
5505         strftime-tests: also test nanoseconds
5506         * tests/test-strftime.c (T): Add a test of %N.
5507
5508 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
5509
5510         inttypes, stdint: add C++11 support
5511         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
5512         when including inttypes.h and stdint.h.  Support this change to
5513         the standard.
5514         * doc/posix-headers/inttypes.texi (inttypes.h):
5515         * doc/posix-headers/stdint.texi (stdint.h): Document this.
5516         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
5517         Define if not defined already, for the benefit of pre-C++11 hosts.
5518         Define the standard format macros (e.g., PRId8) always.
5519         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
5520         Likewise, if __cpluspus.  Define the standard constant and limit
5521         macros (e.g., INT8_C, INT8_MAX) always.
5522         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
5523         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
5524         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
5525         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
5526         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
5527         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
5528         Likewise.
5529
5530 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
5531
5532         nonblocking tests: Fix test failure on Linux/PPC.
5533         Suggested by Prerna Saxena in
5534         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
5535         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
5536         Set to 1100000.
5537
5538 2011-12-12  Jim Meyering  <meyering@redhat.com>
5539
5540         argmatch: don't hard-code `' when listing valid option arguments
5541         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
5542         use the quote function to add quotes.  Use fputs rather than
5543         fprintf for the format string with no format directive.
5544
5545 2011-12-07  Eric Blake  <eblake@redhat.com>
5546
5547         bootstrap: detect tools required by gnulib-tool
5548         * build-aux/bootstrap (buildreq): Provide minimum implicit
5549         dependencies.
5550         * DEPENDENCIES: Mention patch as a prereq.
5551
5552 2011-12-04  Bruno Haible  <bruno@clisp.org>
5553
5554         sethostname: Port to Windows platforms.
5555         * lib/sethostname.c: Provide an alternate implementation for Windows
5556         platforms.
5557         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
5558         (main): Skip the test if sethostname() fails with EPERM. On Windows
5559         platforms, don't check the result of gethostname().
5560
5561 2011-12-04  Bruno Haible  <bruno@clisp.org>
5562             Jim Meyering  <meyering@redhat.com>
5563
5564         tests: Avoid spurious error message on platforms without mktemp program.
5565         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
5566
5567 2011-12-04  Bruno Haible  <bruno@clisp.org>
5568
5569         sethostname: Fix documentation.
5570         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
5571         "not fixed" section.
5572
5573 2011-12-03  Bruno Haible  <bruno@clisp.org>
5574
5575         gnulib-tool: Verify that the License field is present and non-empty.
5576         * gnulib-tool (func_get_license_raw): New function, extracted from
5577         func_get_license.
5578         (func_get_license): Use it. Warn if the module is not a test module and
5579         has no license.
5580         Suggested by Jim Meyering.
5581
5582 2011-12-03  Bruno Haible  <bruno@clisp.org>
5583
5584         sethostname tests: Fix link error on mingw.
5585         * tests/test-sethostname1.c: New file, extracted from
5586         tests/test-sethostname.c.
5587         * tests/test-sethostname2.c: New file, extracted from
5588         tests/test-sethostname.c.
5589         * tests/test-sethostname.c: Remove file.
5590         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
5591         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
5592         (Depends-on): Add gethostname.
5593         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
5594         Link the latter with $(GETHOSTNAME_LIB).
5595
5596         sethostname tests: Fix compilation error on mingw.
5597         * tests/test-sethostname.c: Don't include <sys/types.h>.
5598         (geteuid): Use a dummy value without uid_t.
5599         * modules/sethostname-tests (Depends-on): Remove sys_types.
5600
5601         sethostname tests: Avoid a gcc warning.
5602         * tests/test-sethostname.c (main): Remove an unused variable.
5603
5604         Tweak last commit.
5605         * modules/sethostname-tests (Files): Sort by decreasing importance.
5606         (configure.ac): Check for geteuid.
5607         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
5608         the test when there's nothing to test. Drop an unnecessary cast.
5609         Improve an error message. Verify that the final sethostname() call
5610         succeeds.
5611
5612 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
5613
5614         Add a test suite for the sethostname module.
5615         * modules/sethostname-tests: New file.  A test program
5616         for the sethostname module.
5617         * tests/test-sethostname.c: Likewise.
5618
5619 2011-12-03  Bruno Haible  <bruno@clisp.org>
5620
5621         Tweak last commit.
5622         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
5623         Fix preprocessor directives indentation. Fix typos.
5624         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
5625         * modules/unistd (Makefile): Likewise.
5626
5627 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
5628
5629         Integrate the sethostname module into unistd.
5630         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
5631         into the unistd.h header.
5632         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
5633         preprocessor directives.
5634         * modules/unistd: Setup the Makefile substitutions of the
5635         SETHOSTNAME preprocessor directives.
5636
5637 2011-12-03  Bruno Haible  <bruno@clisp.org>
5638
5639         Tweak last commit.
5640         * lib/sethostname.c: Don't include <string.h>.
5641         (sethostname): No need to copy the argument string to the stack. Don't
5642         call clearerr. Preserve errno when fprintf failed.
5643         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
5644         Don't invoke AC_REPLACE_FUNCS.
5645         * modules/sethostname (Link): Remove empty section.
5646         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
5647         failure problem.
5648
5649 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
5650
5651         New module 'sethostname'.
5652         * lib/sethostname.c (sethostname): New file.  Provide sethostname
5653         for systems that lack it.
5654         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
5655         sethostname declaration and function.
5656         * modules/sethostname: New file.  Define the sethostname module.
5657
5658 2011-12-03  Bruno Haible  <bruno@clisp.org>
5659
5660         Tweak last commit.
5661         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
5662
5663 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
5664
5665         Split the HOST_NAME_MAX detection into a separate m4 macro.
5666         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
5667         macro so it can be used by the pending sethostname module.
5668
5669 2011-12-03  Bruno Haible  <bruno@clisp.org>
5670
5671         Fix module descriptions syntax.
5672         * modules/argv-iter (License): Fix syntax.
5673         * modules/di-set (License): Likewise.
5674         * modules/ino-map (License): Likewise.
5675         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
5676
5677 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
5678
5679         stdalign: port to Clang 3.0
5680         Problem reported by Simon Josefsson in
5681         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
5682         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
5683         which has <stdalign.h> but which does not define alignof.
5684         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
5685
5686 2011-12-01  Eric Blake  <eblake@redhat.com>
5687
5688         mktempd: silence dd usage
5689         * build-aux/mktempd (rand_bytes): Silence dd.
5690
5691 2011-11-30  Simon Josefsson  <simon@josefsson.org>
5692
5693         manywarnings: Don't mention gcc version in docstring.
5694         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
5695         Jim Meyering <meyering@redhat.com>.
5696
5697 2011-11-30  Jim Meyering  <meyering@redhat.com>
5698
5699         hash: mark a few floating point constants with "f" suffix
5700         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
5701         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
5702         floating point constants with "f", since they're destined to be
5703         saved/used as "float"s.
5704
5705 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
5706
5707         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
5708         * tests/test-float.c (test_long_double): Correct and re-enable the
5709         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
5710
5711 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
5712
5713         Avoid subtracting two pointers that don't point into the same block.
5714         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
5715         only pointers into the same memory block are subtracted. We cannot
5716         assume that sizeof (ptrdiff_t) == sizeof (void *).
5717
5718 2011-11-29  Eric Blake  <eblake@redhat.com>
5719
5720         maint.mk: add syntax check for use of compare from init.sh
5721         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
5722         moved here from coreutils.
5723
5724         manywarnings: drop -Wunsuffixed-float-constants
5725         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
5726         '1.0D', which is the only way to silence this warning for 'double'.
5727
5728 2011-11-29  Jim Meyering  <meyering@redhat.com>
5729
5730         hash: mark compute_bucket_size with the pure attribute
5731         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
5732
5733         quotearg, propername: correct pragma guard expression
5734         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
5735         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
5736
5737 2011-11-28  Jim Meyering  <meyering@redhat.com>
5738
5739         propername: do not mark proper_name with the const attribute
5740         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
5741         since it examines data pointed to by its parameter.
5742         * lib/propername.c (proper_name): Instead, add a pragma to suppress
5743         the suggestion from -Wsuggest-attribute=const.
5744
5745         propername: mark one more function as const
5746         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
5747
5748 2011-11-27  Jim Meyering  <meyering@redhat.com>
5749
5750         mark functions with const and pure attributes
5751
5752         Mark functions per suggestions from gcc-4.6 when using these options:
5753         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
5754         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
5755         Follow these guidelines: when possible, apply the attribute to
5756         an extern declaration, not to its definition.  Apply it to the
5757         definition only when the definition is static.
5758         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
5759         * lib/argv-iter.h (argv_iter_n_args): Likewise.
5760         * lib/base64.h (isbase64): Likewise.
5761         * lib/basename-lgpl.c (last_component, base_len): Likewise.
5762         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
5763         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
5764         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
5765         (c_tolower, c_toupper): Likewise.
5766         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
5767         * lib/chdir-long.c (find_non_slash): Likewise.
5768         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
5769         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
5770         * lib/file-type.h (file_type): Likewise.
5771         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
5772         * lib/filevercmp.c (verrevcmp): Likewise.
5773         * lib/freadahead.h (freadahead): Likewise.
5774         * lib/fts.c (fts_maxarglen): Likewise.
5775         * lib/hash-pjw.h (hash_pjw): Likewise.
5776         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
5777         * lib/hash.c (is_prime, next_prime): Likewise.
5778         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
5779         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
5780         (hash_table_ok, hash_get_first, hash_string): Likewise.
5781         (compute_bucket_size): Likewise.
5782         * lib/i-ring.h (i_ring_empty): Likewise.
5783         * lib/isnan.c (isnanl): Likewise.
5784         * lib/math.h (isnanl, rpl_isnanl): Likewise.
5785         * lib/memcasecmp.h (memcasecmp): Likewise.
5786         * lib/memchr2.h (memchr2): Likewise.
5787         * lib/memcmp2.h (memcmp2): Likewise.
5788         * lib/parse-datetime.y (lookup_zone): Likewise.
5789         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
5790         [!WINDOWS_SOCKETS]: Likewise.
5791         * lib/strnlen1.h (strnlen1): Likewise.
5792         * lib/uniwidth.in.h (uc_width): Likewise.
5793         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
5794         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
5795         (quoting_options_from_style): Add a comment.
5796         * lib/propername.h (proper_name): Add a comment.
5797
5798 2011-11-27  Bruno Haible  <bruno@clisp.org>
5799
5800         Remove unused macros from !_LIBC code in glibc-borrowed files.
5801         * lib/fnmatch.c (STRCOLL): Remove macro.
5802         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
5803         * lib/glob.c (__stat, __readdir64): Remove macros.
5804         * lib/tempname.c (__open64, __xstat64): Remove macros.
5805         Suggested by Paul Eggert.
5806
5807 2011-11-27  Bruno Haible  <bruno@clisp.org>
5808
5809         getcwd: Fix link error on MSVC 9.
5810         * modules/getcwd (Depends-on): Add readdir, rewinddir.
5811
5812 2011-11-27  Bruno Haible  <bruno@clisp.org>
5813
5814         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
5815         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
5816         HAVE_OPENDIR is 0.
5817         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
5818         HAVE_CLOSEDIR is 0.
5819         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
5820         is 0.
5821         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
5822
5823 2011-11-27  Bruno Haible  <bruno@clisp.org>
5824
5825         getcwd: Fix bug from 2011-08-17.
5826         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
5827         platforms that need it.
5828         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
5829         code of 4 to be a failure, not a success. This ensures that
5830         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
5831
5832 2011-11-27  Bruno Haible  <bruno@clisp.org>
5833
5834         binary-io tests: Avoid test failure on mingw when libtool is used.
5835         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
5836         Don't verify the size of t-bin-out1.tmp here.
5837         * tests/test-binary-io.sh: Verify it here.
5838         Reported by Simon Josefsson.
5839
5840 2011-11-26  Bruno Haible  <bruno@clisp.org>
5841
5842         Fix conflict between two instantiations of module 'unistd'.
5843         * gnulib-tool (func_emit_autoconf_snippet): Substitute
5844         ${include_guard_prefix} also in the autoconf snippet.
5845         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
5846         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
5847         GNULIB_UNISTD_H_GETOPT.
5848         * modules/getopt-posix (configure.ac): Set the
5849         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
5850         * modules/getopt-gnu (configure.ac): Likewise.
5851         * modules/unistd (Makefile.am): Change the substitution value of
5852         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
5853         Reported by Simon Josefsson.
5854
5855 2011-11-25  Bruno Haible  <bruno@clisp.org>
5856
5857         pagealign_alloc: Doc and comments.
5858         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
5859         module.
5860         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
5861
5862 2011-11-25  Jim Meyering  <meyering@redhat.com>
5863
5864         test-update-copyright.sh: avoid false-positive failure
5865         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
5866         around false positive failure on Cygwin/Windows.  The latter was
5867         matching erroneously-created files with names like
5868         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
5869
5870 2011-11-25  Simon Josefsson  <simon@josefsson.org>
5871
5872         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
5873         * m4/valgrind-tests.m4: Check that the parameters that will be
5874         used works, not just a subset of them.  Reported by Bruno Haible
5875         <bruno@clisp.org>.
5876
5877 2011-11-24  Jim Meyering  <meyering@redhat.com>
5878
5879         test-stdalign.c: comment out long double tests
5880         * tests/test-stdalign.c: Don't try to reduce alignment of long double
5881         variables.  That provokes errors like this from gcc-4.7.0 20111124:
5882         error: '_Alignas' specifiers cannot reduce alignment of \
5883         'static_longdouble_alignas'.
5884
5885 2011-11-22  Jim Meyering  <meyering@redhat.com>
5886
5887         init.sh: make "compare /dev/null FILE" output more readable
5888         * tests/init.sh (compare_): Document the preferred order of arguments.
5889         (emit_diff_u_header_): New function.
5890         (compare_dev_null_): Emit a simulated diff, rather than just the
5891         contents of the unexpected file.  Suggestion from Bruno Haible.
5892
5893 2011-11-21  Jim Meyering  <meyering@redhat.com>
5894             Eric Blake  <eblake@redhat.com>
5895
5896         init.sh: work around OSF/1 5.1's mishandling of /dev/null
5897         * tests/init.sh: Make our compare function slightly more portable.
5898         Reported by Bruno Haible in
5899         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
5900
5901 2011-11-21  Simon Josefsson  <simon@josefsson.org>
5902
5903         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
5904         before using it, in code that ends up in config.h.
5905
5906 2011-11-20  Bruno Haible  <bruno@clisp.org>
5907
5908         getcwd: Work around getcwd bug on AIX 5..7.
5909         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
5910         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
5911         Use a different value for gl_cv_func_getcwd_path_max. Move the
5912         definition of HAVE_PARTLY_WORKING_GETCWD from here...
5913         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
5914         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
5915         Define HAVE_MINIMALLY_WORKING_GETCWD.
5916         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
5917         where it is not even minimally working, that is, on AIX.
5918         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
5919         m4/getcwd-path-max.m4.
5920         (main): Update exit code computation.
5921         * doc/posix-functions/getcwd.texi: Mention list of platforms where
5922         getcwd does not handle long file names.
5923
5924 2011-11-20  Bruno Haible  <bruno@clisp.org>
5925
5926         getcwd: Fix bug from 2009-09-10.
5927         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
5928         like "no".
5929
5930 2011-11-20  Simon Josefsson  <simon@josefsson.org>
5931
5932         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
5933
5934 2011-11-20  Bruno Haible  <bruno@clisp.org>
5935
5936         fma tests: Avoid shadowing local variables.
5937         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
5938         expected.
5939
5940 2011-11-20  Bruno Haible  <bruno@clisp.org>
5941
5942         copysignf tests: Fix.
5943         * tests/test-copysignf.c: Fix signature check.
5944
5945 2011-11-20  Bruno Haible  <bruno@clisp.org>
5946
5947         fma: Remove unused code.
5948         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
5949         unused macros.
5950
5951 2011-11-20  Bruno Haible  <bruno@clisp.org>
5952
5953         sethostname: Fix doc about AIX.
5954         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
5955         sethostname; it has it.
5956
5957         sethostname: Mention more portability problems.
5958         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
5959         problem.
5960         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
5961
5962 2011-11-19  Bruno Haible  <bruno@clisp.org>
5963
5964         Depend on module fcntl-h when AT_FDCWD is used.
5965         * modules/utimens (Depends-on): Add fcntl-h.
5966         * modules/areadlinkat (Depends-on): Likewise.
5967         * modules/areadlinkat-with-size (Depends-on): Likewise.
5968         * modules/faccessat (Depends-on): Likewise.
5969         * modules/fchmodat (Depends-on): Likewise.
5970         * modules/fchownat (Depends-on): Likewise.
5971         * modules/getcwd (Depends-on): Likewise.
5972         * modules/mkdirat (Depends-on): Likewise.
5973         * modules/mkfifoat (Depends-on): Likewise.
5974         * modules/readlinkat (Depends-on): Likewise.
5975         * modules/symlinkat (Depends-on): Likewise.
5976         * modules/dup2-tests (Depends-on): Likewise.
5977         * modules/fdutimensat-tests (Depends-on): Likewise.
5978         * modules/futimens-tests (Depends-on): Likewise.
5979
5980 2011-11-19  Bruno Haible  <bruno@clisp.org>
5981
5982         euidaccess: Update a comment.
5983         * lib/euidaccess.c: Update comment about platforms with faccessat.
5984
5985 2011-11-19  Bruno Haible  <bruno@clisp.org>
5986
5987         openat: Fix file list.
5988         * modules/openat (Files): Remove lib/at-func.c.
5989
5990 2011-11-19  Bruno Haible  <bruno@clisp.org>
5991
5992         fstatat: Simplify.
5993         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
5994         gnulib should define rpl_fstatat, there is a
5995         "#define fstatat rpl_fstatat" in <sys/stat.h>.
5996
5997 2011-11-19  Bruno Haible  <bruno@clisp.org>
5998
5999         Ensure 'inline' can be used in tests/test-utimens-common.h.
6000         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
6001         * modules/futimens-tests (configure.ac): Likewise.
6002         * modules/utimens-tests (configure.ac): Likewise.
6003         * modules/utimensat-tests (configure.ac): Likewise.
6004
6005 2011-11-19  Simon Josefsson  <simon@josefsson.org>
6006
6007         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
6008         not hash_insert0.
6009         (hash_insert_if_absent): Doc fix.
6010
6011 2011-11-19  Simon Josefsson  <simon@josefsson.org>
6012
6013         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
6014
6015 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
6016
6017         test-getcwd: disambiguate exit status
6018         * tests/test-getcwd.c (test_long_name): Return 0..7.
6019         (main): Exit with an unambiguous exit status.  The old
6020         code yielded a mysterious mixture of two failure codes.
6021
6022         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
6023         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
6024         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
6025         rpl_fstatat or fstatat.  This should fix the other problem
6026         reported by Kai Habel in
6027         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
6028         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
6029         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
6030         and I reproduced it on a Solaris 8 host we still have in production.
6031
6032 2011-11-18  Jim Meyering  <meyering@redhat.com>
6033
6034         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
6035         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
6036         Add a sentence to the comment.
6037         (hash_insert0): New function that simply calls hash_insert_if_absent.
6038         * lib/hash.h (hash_insert_if_absent): Declare it.
6039         (hash_insert0): Add deprecation attribute.
6040         (_GL_ATTRIBUTE_DEPRECATED): Define.
6041         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
6042         not hash_insert0.
6043         * NEWS: Mention it, even though it's not really an incompatible change.
6044
6045 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
6046
6047         openat: avoid compilation failure due to lack of <errno.h> inclusion
6048         * lib/openat.c: Include <errno.h>.
6049
6050 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
6051
6052         * modules/getcwd (Depends-on): Add fdopendir.
6053         This fixes one of the two problems reported by Kai Habel in
6054         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
6055
6056         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
6057         stdalign problem reported by Ian Beckwith in
6058         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
6059         * modules/crypto/gc-arcfour (Depends-on):
6060         Depend conditionally on crypto/arcfour.
6061         * modules/crypto/gc-arctwo (Depends-on):
6062         Depend conditionally on crypto/arctwo.
6063         * modules/crypto/gc-des (Depends-on):
6064         Depend conditionally on crypto/des.
6065         * modules/crypto/gc-hmac-md5 (Depends-on):
6066         Depend conditionally on crypto/hmac-md5.
6067         * modules/crypto/gc-hmac-sha1 (Depends-on):
6068         Depend conditionally on crypto/hmac-sha1.
6069         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
6070         * modules/crypto/gc-md4 (Depends-on):
6071         Depend conditionally on crypto/md4.
6072         * modules/crypto/gc-md5 (Depends-on):
6073         Depend conditionally on crypto/md5.
6074         * modules/crypto/gc-rijndael (Depends-on):
6075         Depend conditionally on crypto/rijndael.
6076         * modules/crypto/gc-sha1 (Depends-on):
6077         Depend conditionally on crypto/sha1.
6078         * modules/crypto/gc-arcfour:
6079         * modules/crypto/gc-arctwo:
6080         * modules/crypto/gc-des:
6081         * modules/crypto/gc-hmac-md5:
6082         * modules/crypto/gc-hmac-sha1:
6083         * modules/crypto/gc-md2:
6084         * modules/crypto/gc-md4:
6085         * modules/crypto/gc-md5:
6086         * modules/crypto/gc-rijndael:
6087         * modules/crypto/gc-sha1:
6088         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
6089         now that the conditional dependencies do the work for us.
6090
6091 2011-11-17  Jim Meyering  <meyering@redhat.com>
6092
6093         tests: factor st_ctime-comparison out of two headers
6094         * tests/test-utimens-common.h (ctime_compare): Define.
6095         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
6096         * tests/test-lutimens.h (test_lutimens): Likewise.
6097         * tests/test-utimens.h (test_utimens): Likewise.
6098
6099         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
6100         Invoke the test program via an init.sh-using wrapper.
6101         * tests/test-getcwd.sh: New file.
6102         * modules/getcwd-tests (Files): Add it.
6103         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
6104
6105 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
6106
6107         gitlog-to-changelog: support multi-author commits.
6108         The FSF cares about keeping track of all authors of patches to its
6109         projects, but Git doesn't provide obvious support for multi-author
6110         changesets. Consensus seems to be forming around the use of extra
6111         Signed-off-by inspired lines in the log message formatted as
6112         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
6113         multi-author commits between version control systems.
6114         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
6115         log message and output in standard ChangeLog multi-author format.
6116         Reported by Peter Rosin <peda@lysator.liu.se>
6117
6118 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
6119             Bruno Haible  <bruno@clisp.org>
6120
6121         Fix some modules' file list.
6122         * modules/fstatat (Files): Add m4/lstat.m4.
6123         * modules/openat (Files): Likewise.
6124         * modules/unlinkat (Files): Likewise.
6125
6126 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
6127
6128         maint.mk: fix tight-scope.mk generation in VPATH builds.
6129         * top/maint.mk (tight-scope.mk): Make sure to prefix file
6130         reference with $(srcdir) so that the file is found correctly even
6131         when running `make syntax-check' in a VPATH build.
6132
6133 2011-11-13  Bruno Haible  <bruno@clisp.org>
6134             Jim Meyering  <meyering@redhat.com>
6135
6136         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
6137         * tests/init.sh (compare): Remove "No differences encountered" or
6138         synonymous output from the 'diff' program.
6139
6140 2011-11-13  Bruno Haible  <bruno@clisp.org>
6141
6142         Makefile: Tweak indentation.
6143         * Makefile: Use tab as first character in every line that contains rule
6144         commands.
6145
6146 2011-11-13  Bruno Haible  <bruno@clisp.org>
6147
6148         Syntax check for copyright statements.
6149         * check-copyright: New file.
6150         * Makefile (sc_check_copyright): New rule.
6151
6152 2011-11-13  Simon Josefsson  <simon@josefsson.org>
6153
6154         * build-aux/git-version-gen: Add --prefix to configure the tag
6155         match string.
6156
6157 2011-11-13  Simon Josefsson  <simon@josefsson.org>
6158
6159         * build-aux/git-version-gen: Add --help and --version.
6160
6161 2011-11-12  Jim Meyering  <meyering@redhat.com>
6162
6163         revamp the other test-exclude?.sh scripts to use init.sh, too
6164         * tests/test-exclude1.sh: Use init.sh.
6165         * tests/test-exclude2.sh: Likewise.
6166         * tests/test-exclude3.sh: Likewise.
6167         * tests/test-exclude4.sh: Likewise.
6168         * tests/test-exclude5.sh: Likewise.
6169         * tests/test-exclude6.sh: Likewise.
6170         * tests/test-exclude7.sh: Likewise.
6171         * tests/test-exclude8.sh: Likewise.
6172         * modules/exclude-tests (Files): List init.sh.
6173
6174         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
6175         These shell scripts ignored failure of the binary test-exclude,
6176         so making the latter return 77 didn't cause them to be skipped.
6177         * tests/test-exclude5.sh: Exit with test-exclude's error status
6178         when that program fails.  Revamp to use init.sh.
6179         * tests/test-exclude2.sh: Likewise.
6180
6181         test-exclude: fix a typo
6182         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
6183
6184 2011-11-11  Bruno Haible  <bruno@clisp.org>
6185
6186         obstack: Fix compilation error on MSVC 9.
6187         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
6188
6189 2011-11-11  Jim Meyering  <meyering@redhat.com>
6190
6191         test-exclude: skip tests rather than failing on deficient systems
6192         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
6193         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
6194         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
6195         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
6196
6197 2011-11-10  Bruno Haible  <bruno@clisp.org>
6198
6199         ptsname_r test: Avoid gcc warning on glibc systems.
6200         * tests/test-ptsname_r.c (null_ptr): New function.
6201         (test_errors): Use it.
6202
6203 2011-11-10  Bruno Haible  <bruno@clisp.org>
6204
6205         ptsname_r: Avoid compilation error on OSF/1 5.1.
6206         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
6207         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
6208         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
6209         function is not declared or incompatibly declared.
6210         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
6211         * modules/ptsname_r (Depends-on, configure.ac): Update.
6212         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
6213
6214 2011-11-10  Bruno Haible  <bruno@clisp.org>
6215
6216         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
6217         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
6218         When cross-compiling, guess yes on all platforms except AIX.
6219         Reported by Ludovic Courtès <ludo@gnu.org>.
6220
6221 2011-11-09  Bruno Haible  <bruno@clisp.org>
6222
6223         ptsname_r tests: Fix bugs.
6224         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
6225         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
6226
6227 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
6228
6229         fstatat: work with cross-compilation
6230         Problem reported by Ludovic Courtès in
6231         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
6232         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
6233         "cross-compiling" and assume the bug is present.  Replace
6234         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
6235         an inverted sense, to be more conservative about our assumptions.
6236         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
6237
6238 2011-11-09  Bruno Haible  <bruno@clisp.org>
6239
6240         Improve MODULES.html output.
6241         * modules/mkfifoat (Description): Use the word "function".
6242         * modules/readlinkat (Description): Likewise.
6243         * modules/symlinkat (Description): Likewise.
6244
6245 2011-11-09  Eric Blake  <eblake@redhat.com>
6246
6247         ptsname_r-tests: new test module
6248         * modules/ptsname_r-tests: New module.
6249         * tests/test-ptsname_r.c: New file.
6250
6251         ptsname_r: new module
6252         * modules/ptsname_r: New module.
6253         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
6254         * lib/ptsname.c (__ptsname_r): Split...
6255         * lib/ptsname_r.c: ...into new file.
6256         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
6257         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
6258         * modules/stdlib (Makefile.am): Substitute witnesses.
6259         * lib/stdlib.in.h (ptsname_r): Declare it.
6260         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
6261         * MODULES.html.sh (Misc): Likewise.
6262         * modules/ptsname (Depends-on): Alter dependency.
6263         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
6264
6265 2011-11-09  Jim Meyering  <meyering@redhat.com>
6266
6267         announce-gen: be more concise when there's only one URL+tarball
6268         * build-aux/announce-gen (get_tool_versions): When you distribute
6269         only one type of tarball, combine the first two "Here are..."
6270         sections and make the key-checking grammar independent of
6271         how many tarballs there are.
6272
6273 2011-11-09  Eric Blake  <eblake@redhat.com>
6274
6275         openpty: provide a stub on mingw
6276         * lib/pty.in.h (includes): Provide forward declarations.
6277         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
6278
6279         raise: fix mingw handling of SIGPIPE
6280         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
6281
6282 2011-11-08  Bruno Haible  <bruno@clisp.org>
6283
6284         More conditional dependencies.
6285         * modules/faccessat (Depends-on): Add conditions.
6286         * modules/fchmodat (Depends-on): Likewise.
6287         * modules/fchownat (Depends-on): Likewise.
6288         * modules/fstatat (Depends-on): Likewise.
6289         * modules/mkfifoat (Depends-on): Likewise.
6290         * modules/readlinkat (Depends-on): Likewise.
6291         * modules/symlinkat (Depends-on): Likewise.
6292         * modules/unlinkat (Depends-on): Likewise.
6293         * modules/utimensat (Depends-on): Likewise.
6294         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
6295         * modules/linkat (Depends-on): Refine the conditions.
6296         * modules/renameat (Depends-on): Likewise.
6297
6298 2011-11-08  Bruno Haible  <bruno@clisp.org>
6299
6300         faccessat: Move AC_LIBOBJ invocation to module description.
6301         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
6302         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
6303         invocation from here...
6304         * modules/faccessat (configure.ac): ... to here. Invoke
6305         gl_PREREQ_FACCESSAT.
6306
6307 2011-11-08  Bruno Haible  <bruno@clisp.org>
6308
6309         faccessat: Simplify autoconf macro.
6310         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
6311         gl_FUNC_EUIDACCESS.
6312
6313 2011-11-08  Bruno Haible  <bruno@clisp.org>
6314
6315         renameat: Fix dependencies.
6316         * modules/renameat (Depends-on): Add stdbool.
6317
6318 2011-11-08  Bruno Haible  <bruno@clisp.org>
6319
6320         mkfifoat: Fix module description.
6321         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
6322         not gl_UNISTD_MODULE_INDICATOR.
6323
6324 2011-11-08  Bruno Haible  <bruno@clisp.org>
6325
6326         fstatat: Remove unused dependency.
6327         * modules/fstatat (Depends-on): Remove fstat.
6328
6329 2011-11-08  Simon Josefsson  <simon@josefsson.org>
6330
6331         GNUmakefile: behave when Makefile is missing.
6332         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
6333
6334 2011-11-08  Bruno Haible  <bruno@clisp.org>
6335
6336         openat: Conditionalize dependencies.
6337         * lib/openat.c: Reduce the scope of some #includes.
6338         * modules/openat (Depends-on): Add conditions.
6339
6340 2011-11-07  Jim Meyering  <meyering@redhat.com>
6341
6342         maint.mk: extract GPG key ID without using a temporary file
6343         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
6344         without using a temporary file.  Based on a suggestion from Werner Koch
6345         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
6346
6347 2011-11-07  Eric Blake  <eblake@redhat.com>
6348
6349         grantpt: fix typo
6350         * lib/stdlib.in.h (grantpt): Check correct function.
6351
6352         maint.mk: silence new syntax check
6353         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
6354
6355 2011-11-06  Bruno Haible  <bruno@clisp.org>
6356
6357         Doc about floating-point and math API.
6358         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
6359         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
6360
6361 2011-11-06  Bruno Haible  <bruno@clisp.org>
6362
6363         stdalign tests: Skip the test when compiled by Sun C.
6364         * tests/test-stdalign.c (main): Skip the test on Sun C.
6365
6366 2011-11-06  Bruno Haible  <bruno@clisp.org>
6367
6368         ansi-c++-opt: Complete the 2011-06-05 change.
6369         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
6370         does not support namespaces, set the variable to "no", not to ":".
6371
6372 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
6373
6374         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
6375
6376 2011-11-06  Bruno Haible  <bruno@clisp.org>
6377
6378         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
6379         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
6380         (minus_zerol) [HP-UX]: New macro.
6381         (unary_minus) [HP-UX]: New function.
6382         (copysignl) [HP-UX]: Use unary_minus function.
6383
6384 2011-11-06  Bruno Haible  <bruno@clisp.org>
6385
6386         ldexp, ldexpf, ldexpl: Enhance tests.
6387         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
6388         and tests/test-ldexpl.c.
6389         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
6390         LDEXP, MIN_EXP, MAX_EXP): New macros.
6391         Include test-ldexp.h.
6392         (main): Just call test_function.
6393         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
6394         infinity.h, nan.h.
6395         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
6396         MAX_EXP): New macros.
6397         Include test-ldexp.h.
6398         (x, y): Remove variables.
6399         (main): Just call test_function.
6400         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
6401         infinity.h, nan.h.
6402         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
6403         MAX_EXP): New macros.
6404         Include test-ldexp.h.
6405         (x, y): Remove variables.
6406         (main): Just call test_function.
6407         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
6408         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
6409         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
6410         (Depends-on): Add isnand-nolibm, signbit, float.
6411         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
6412         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
6413         (Depends-on): Add isnanf-nolibm, signbit, float.
6414
6415 2011-11-06  Bruno Haible  <bruno@clisp.org>
6416
6417         math tests: Cosmetics.
6418         * tests/test-math-c++.cc: Reorder declarations.
6419
6420 2011-11-05  Bruno Haible  <bruno@clisp.org>
6421
6422         fma*: Simplify test.
6423         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
6424         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
6425
6426         Tests for module 'fmal'.
6427         * modules/fmal-tests: New file.
6428         * tests/test-fmal1.c: New file.
6429         * tests/test-fmal2.c: New file.
6430
6431         New module 'fmal'.
6432         * lib/math.in.h (fmal): New declaration.
6433         * lib/fmal.c: New file.
6434         * m4/fmal.m4: New file.
6435         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
6436         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
6437         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
6438         REPLACE_FMAL.
6439         * modules/fmal: New file.
6440         * doc/posix-functions/fmal.texi: Mention the new module and the various
6441         bugs.
6442
6443         Tests for module 'fmaf'.
6444         * modules/fmaf-tests: New file.
6445         * tests/test-fmaf1.c: New file.
6446         * tests/test-fmaf2.c: New file.
6447
6448         New module 'fmaf'.
6449         * lib/math.in.h (fmaf): New declaration.
6450         * lib/fmaf.c: New file.
6451         * m4/fmaf.m4: New file.
6452         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
6453         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
6454         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
6455         REPLACE_FMAF.
6456         * modules/fmaf: New file.
6457         * doc/posix-functions/fmaf.texi: Mention the new module and the various
6458         bugs.
6459
6460         Tests for module 'fma'.
6461         * modules/fma-tests: New file.
6462         * tests/test-fma1.c: New file.
6463         * tests/test-fma1.h: New file.
6464         * tests/test-fma2.c: New file.
6465         * tests/test-fma2.h: New file.
6466
6467         New module 'fma'.
6468         * lib/math.in.h (fma): New declaration.
6469         * lib/fma.c: New file.
6470         * m4/fma.m4: New file.
6471         * m4/fegetround.m4: New file.
6472         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
6473         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
6474         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
6475         REPLACE_FMA.
6476         * modules/fma: New file.
6477         * doc/posix-functions/fma.texi: Mention the new module and the various
6478         bugs.
6479
6480         Extend gl_MATHFUNC.
6481         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
6482         Support 'void' as argument type.
6483         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
6484
6485 2011-11-05  Jim Meyering  <meyering@redhat.com>
6486
6487         maint.mk: also prohibit inclusion of dirent.h without use
6488         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
6489
6490 2011-11-05  Bruno Haible  <bruno@clisp.org>
6491
6492         ldexpl tests: Avoid test failure on MSVC 9.
6493         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
6494         value. Needed in order to enforce the conversion from a value greater
6495         than LDBL_MAX to Infinity.
6496
6497 2011-11-05  Bruno Haible  <bruno@clisp.org>
6498
6499         New modules 'at-internal', 'openat-h', split off from module 'openat'.
6500         * modules/at-internal: New file, extracted from modules/openat.
6501         * modules/openat-h: New file.
6502         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
6503         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
6504         * modules/openat (Description): Add reference to POSIX function.
6505         (Files): Remove lib/openat.h, lib/openat-proc.c.
6506         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
6507         intprops, unistd.
6508         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
6509         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
6510         gl_FCNTL_MODULE_INDICATOR.
6511         (Include): Remove unistd.h, openat.h.
6512         * modules/areadlinkat (Files): Add lib/at-func.c.
6513         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
6514         openat-die, openat-h, save-cwd.
6515         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
6516         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
6517         openat-die, openat-h, save-cwd, unistd.
6518         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
6519         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
6520         openat-h, save-cwd. Remove fcntl-h, openat.
6521         * modules/fchmodat (Files): Remove lib/openat.h.
6522         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
6523         openat, stdbool, unistd.
6524         * modules/fchownat (Files): Remove lib/openat.h.
6525         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
6526         openat, stdbool, sys_stat.
6527         * modules/fdopendir (Files): Remove lib/openat-priv.h,
6528         lib/openat-proc.c.
6529         (Depends-on): Add at-internal.
6530         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
6531         * modules/fstatat (Files): Remove lib/openat.h.
6532         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
6533         stdbool, unistd.
6534         * modules/fts (Depends-on): Add openat-h.
6535         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
6536         openat.
6537         * modules/mkdirat (Files): Remove lib/openat.h.
6538         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
6539         openat, stdbool, sys_stat.
6540         * modules/mkfifoat (Files): Add lib/at-func.c.
6541         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
6542         openat-h, save-cwd. Remove fcntl-h, openat.
6543         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
6544         * modules/readlinkat (Files): Add lib/at-func.c.
6545         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
6546         openat-h, save-cwd. Remove fcntl-h, openat.
6547         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
6548         openat.
6549         * modules/selinux-at (Files): Add lib/at-func.c.
6550         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
6551         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
6552         * modules/symlinkat (Files): Add lib/at-func.c.
6553         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
6554         openat-h, save-cwd. Remove fcntl-h, openat.
6555         * modules/unlinkat (Files): Remove lib/openat.h.
6556         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
6557         stdbool.
6558         * modules/utimensat (Files): Add lib/at-func.c.
6559         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
6560         openat-die, openat-h, save-cwd.
6561         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
6562         * modules/fdutimensat-tests (Depends-on): Add openat.
6563         * modules/fstatat-tests (Depends-on): Add openat-h.
6564         * modules/readlinkat-tests (Depends-on): Add openat.
6565         * modules/symlinkat-tests (Depends-on): Add openat.
6566
6567 2011-11-05  Bruno Haible  <bruno@clisp.org>
6568
6569         openat: Include <stdbool.h>.
6570         * lib/openat.c: Include <stdbool.h>.
6571
6572 2011-11-04  Bruno Haible  <bruno@clisp.org>
6573
6574         fchownat, renameat, unlinkat: Fix dependencies.
6575         * modules/fchownat (Depends-on): Add fstatat.
6576         * modules/renameat (Depends-on): Likewise.
6577         * modules/unlinkat (Depends-on): Likewise.
6578
6579 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
6580
6581         openat: remove direct dependency on dirent
6582         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
6583         and hasn't been needed ever since fdopendir was split into its own
6584         module on 2009-08-31.
6585         * modules/openat (Depends-on): Remove dirent.
6586
6587 2011-11-04  Bruno Haible  <bruno@clisp.org>
6588
6589         renameat: Optimize code size.
6590         * modules/renameat (configure.ac): Don't compile at-func2.c if
6591         REPLACE_RENAMEAT is 1.
6592
6593 2011-11-04  Bruno Haible  <bruno@clisp.org>
6594
6595         openat tests: Fix file list.
6596         * modules/openat-tests (Files): Add tests/test-open.h.
6597
6598 2011-11-04  Bruno Haible  <bruno@clisp.org>
6599
6600         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
6601         * modules/fchmodat (Depends-on): Add openat-die.
6602         * modules/fchownat (Depends-on): Likewise.
6603         * modules/linkat (Depends-on): Likewise.
6604         * modules/renameat (Depends-on): Likewise.
6605         * modules/openat (Depends-on): Add dirent.
6606
6607 2011-11-04  Jim Meyering  <meyering@redhat.com>
6608
6609         at-func*.c: fix comments
6610         * lib/at-func2.c: Correct/improve first-line comment.
6611         * lib/at-func.c: Correct grammar in first-line comment.
6612
6613 2011-11-04  Bruno Haible  <bruno@clisp.org>
6614
6615         New module 'mkdirat', split off from module 'openat'.
6616         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
6617         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
6618         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
6619         * modules/mkdirat: New file, extracted from modules/openat.
6620         * modules/openat (Files): Remove lib/mkdirat.c.
6621         (Depends-on): Remove mkdir.
6622         (configure.ac): Remove AC_LIBOBJ of mkdirat.
6623         (Include): Remove <sys/stat.h>.
6624         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
6625         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
6626         tests/test-mkdir.h.
6627         (Depends-on): Remove ignore-value.
6628         (Makefile.am): Remove rules for test-mkdirat.
6629         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
6630         of module 'openat'.
6631         * NEWS: Mention the change.
6632
6633 2011-11-04  Bruno Haible  <bruno@clisp.org>
6634
6635         closedir: Avoid warning on mingw.
6636         * lib/closedir.c: Include <unistd.h>.
6637
6638 2011-11-04  Bruno Haible  <bruno@clisp.org>
6639
6640         New module 'fstatat', split off from module 'openat'.
6641         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
6642         defined.
6643         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
6644         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
6645         gl_FUNC_FSTATAT.
6646         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
6647         * modules/fstatat: New file, extracted from modules/openat.
6648         * modules/openat (Files): Remove lib/fstatat.c.
6649         (Depends-on): Remove lstat.
6650         (configure.ac): Remove AC_LIBOBJ of fstatat.
6651         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
6652         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
6653         tests/test-lstat.h, tests/test-stat.h.
6654         (Depends-on): Remove getcwd-lgpl.
6655         (Makefile.am): Remove rules for test-fstatat.
6656         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
6657         of module 'openat'.
6658         * NEWS: Mention the change.
6659         * modules/getcwd (Depends-on): Add fstatat.
6660         * modules/linkat (Depends-on): Likewise.
6661         * modules/mkfifoat-tests (Depends-on): Likewise.
6662         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
6663
6664 2011-11-03  Bruno Haible  <bruno@clisp.org>
6665
6666         New module 'unlinkat', split off from module 'openat'.
6667         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
6668         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
6669         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
6670         * modules/unlinkat: New file, extracted from modules/openat. Correct
6671         the dependency conditions.
6672         * modules/openat (Files): Remove lib/unlinkat.c.
6673         (Depends-on): Remove rmdir, unlink.
6674         (configure.ac): Remove AC_LIBOBJ of unlinkat.
6675         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
6676         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
6677         tests/test-rmdir.h, tests/test-unlink.h.
6678         (Depends-on): Remove unlinkdir.
6679         (Makefile.am): Remove rules for test-unlinkat.
6680         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
6681         of module 'openat'.
6682         * NEWS: Mention the change.
6683         * modules/linkat-tests (Depends-on): Add unlinkat.
6684         * modules/mkfifoat-tests (Depends-on): Likewise.
6685         * modules/readlinkat-tests (Depends-on): Likewise.
6686
6687 2011-11-02  Bruno Haible  <bruno@clisp.org>
6688
6689         New module 'fchmodat', split off from module 'openat'.
6690         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
6691         defined.
6692         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
6693         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
6694         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
6695         * modules/fchmodat: New file, extracted from modules/openat.
6696         * modules/openat (Files): Remove lib/fchmodat.c.
6697         (configure.ac): Remove AC_LIBOBJ of fchmodat.
6698         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
6699         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
6700         (Makefile.am): Remove rules for test-fchmodat.
6701         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
6702         of module 'openat'.
6703         * NEWS: Mention the change.
6704
6705 2011-11-02  Jim Meyering  <meyering@redhat.com>
6706
6707         putenv: indent #definition of "environ" to placate cppi
6708         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
6709
6710         gitlog-to-changelog: provide a ChangeLog-repair mechanism
6711         Git logs are often treated as immutable, because editing them
6712         changes the SHA1 checksums of all descendants.  Thus, errors in
6713         git logs tend to stay there forever.  However, when we generate
6714         a ChangeLog file -- typically for distribution -- from that git log,
6715         we can actually make corrections in the generated file.  The key
6716         lies in recording in machine-readable/applicable form the desired
6717         corrections.  See --help for description and an example.
6718         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
6719         (usage): Describe it; alphabetize option descriptions.
6720         (main): Honor the new option, carefully.
6721
6722 2011-11-01  Jim Meyering  <meyering@redhat.com>
6723
6724         gitlog-to-changelog: avoid an infloop
6725         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
6726         that ends up being empty.
6727
6728 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
6729
6730         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
6731         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
6732         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
6733         contains (possibly-quoted) backslashes.  This should avoid
6734         all-too-common shell bugs if COMPLICATED contains backslashes in
6735         the "wrong" places.  Reported by David Evans in
6736         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
6737         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
6738         because we want ASCII ranges.  Is there some reason we don't use
6739         the C locale everywhere in this script?
6740         (func_module, top level): Avoid unwanted pathname expansion when
6741         $repo_url_prefix or $repo_url_suffix_repl contain shell
6742         metacharacters like '?' and '*'.
6743
6744 2011-11-01  Bruno Haible  <bruno@clisp.org>
6745
6746         fchownat: Improve description.
6747         * modules/fchownat (Description): Add link to function.
6748
6749 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
6750
6751         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
6752         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
6753         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
6754         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
6755
6756 2011-11-01  Bruno Haible  <bruno@clisp.org>
6757
6758         alignof: Avoid collision with stdalign module.
6759         * lib/alignof.h (alignof): Remove macro.
6760         * NEWS: Mention the change.
6761         Reported by Paul Eggert.
6762
6763 2011-11-01  Bruno Haible  <bruno@clisp.org>
6764
6765         New module 'fchownat', split off from module 'openat'.
6766         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
6767         defined.
6768         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
6769         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
6770         invoke gl_FUNC_FCHOWNAT.
6771         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
6772         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
6773         * modules/fchownat: New file, extracted from modules/openat.
6774         * modules/openat (Files): Remove lib/fchownat.c.
6775         (Depends-on): Remove lchown.
6776         (configure.ac): Remove AC_LIBOBJ of fchownat.
6777         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
6778         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
6779         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
6780         (Depends-on): Remove mgetgroups, usleep, stat-time.
6781         (configure.ac): Remove test for getegid.
6782         (Makefile.am): Remove rules for test-fchownat.
6783         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
6784         of module 'openat'.
6785         * NEWS: Mention the change.
6786
6787 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
6788
6789         stdalign: port better to MSVC and to Sun C 5.11
6790         This fixes some of the problems reported by Bruno Haible in
6791         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
6792         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
6793         shortcomings of MSVC and of Sun C 5.11.
6794         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
6795         around __declspec arg.
6796         * modules/stdalign-tests (Files): Add tests/macros.h.
6797         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
6798         Include macros.h, for ASSERT.
6799         (DECLARE_ALIGNED): Remove.
6800         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
6801         to catch bug), and to 1 if not (simplifies the rest of the code).
6802         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
6803         (CHECK_AUTO): Remove.
6804         (CHECK_ALIGNED): Check only the alignment of the static vars,
6805         since auto var alignment isn't supported by Sun C 5.11.
6806         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
6807         ASSERT failures are easier to diagnose.
6808
6809 2011-10-31  Bruno Haible  <bruno@clisp.org>
6810
6811         doc about some IRIX 5.3 problems.
6812         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
6813         on IRIX 5.3.
6814         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
6815         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
6816         5.3.
6817         * doc/posix-functions/grantpt.texi: Likewise.
6818         * doc/posix-functions/unlockpt.texi: Likewise.
6819         * doc/posix-functions/lgamma.texi: Likewise.
6820         * doc/posix-functions/nextafter.texi: Likewise.
6821         * doc/posix-functions/remainder.texi: Likewise.
6822         * doc/posix-functions/select.texi: Mention misplaced declaration on
6823         IRIX 5.3.
6824         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6825
6826 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
6827
6828         gitlog-to-changelog: fix git-log invocation.
6829         git-log mishandles date strings before 1970-01-01 UTC, and there is
6830         no use to specify --since=1970-01-01 by default anyway.
6831         * build-aux/gitlog-to-changelog: By default, when no --since option
6832         was given, do not specify explicit --since option to git-log.
6833
6834 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
6835
6836         gitlog-to-changelog: new option --append-dot.
6837         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
6838         first non-blank line of each commit message terminated with a dot.
6839
6840 2011-10-30  Bruno Haible  <bruno@clisp.org>
6841
6842         ffsl, ffsll: Avoid compilation error due to 'restrict'.
6843         * lib/ffsl.h: Include <config.h>.
6844         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
6845
6846 2011-10-30  Jim Meyering  <meyering@redhat.com>
6847
6848         GNUmakefile: reenable "make syntax-check" for most projects
6849         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
6850         build-aux variable", "syntax-check" would do nothing but succeed with
6851         the "No version control files detected..." diagnostic (unless you
6852         happened to override _build-aux via cfg.mk).
6853         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
6854         to precede inclusion of maint.mk.  Otherwise, these variables would
6855         be used undefined in any project that does not override the default.
6856
6857 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
6858
6859         gitlog-to-changelog: treat a message with only blank lines as empty.
6860         * build-aux/gitlog-to-changelog: Move the code that removes leading and
6861         trailing blank lines before the code that issues a warning about an
6862         empty commit message.
6863
6864 2011-10-30  Jim Meyering  <meyering@redhat.com>
6865
6866         test-parse-datetime.c: avoid new DST-related false positive test failure
6867         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
6868         based on the time/date we'll convert, not the current time.
6869         Otherwise, the moment we cross a DST boundary like today's in
6870         Europe, (CEST to CET), that offset ends up being one hour off.
6871
6872 2011-10-27  Bruno Haible  <bruno@clisp.org>
6873
6874         fstat: Tweak documentation.
6875         * modules/fstat (Description): More precise description.
6876
6877 2011-10-27  Bruno Haible  <bruno@clisp.org>
6878
6879         Update documentation regarding 'largefile' module.
6880         * doc/posix-functions/fstat.texi: Tweak wording.
6881         * doc/posix-functions/opendir.texi: Mention that the module fixes the
6882         problems with huge directories and/or small ino_t types.
6883         * doc/posix-functions/readdir.texi: Likewise.
6884         * doc/posix-functions/rewinddir.texi: Likewise.
6885
6886 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
6887
6888         maint.mk: don't maintain a second build-aux variable.
6889         * maint.mk (build_aux): Removed.  The maintainer-makefile module
6890         depends on GNUmakefile, which already maintains a cfg.mk
6891         overridable $(_build-aux) for projects with a non-standard
6892         build-aux directory location, although without the $(srcdir)
6893         prefix.  Use that variable consistently instead of introducing a
6894         second one.  Adjust all call sites.
6895
6896 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
6897
6898         Add stdalign module and use it in other modules.
6899         This is based on a previous proposal by Bruno Haible
6900         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
6901
6902         stdalign: new module
6903         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
6904         * modules/stdalign: New files.
6905         * MODULES.html.sh (c1x_core_properties): Add stdalign.
6906         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
6907
6908         stdalign-tests: new module
6909         * modules/stdalign-tests, tests/test-stdalign.c: New files.
6910
6911         argp: use stdalign
6912         * lib/argp-parse.c: Include <stdalign.h>.
6913         (alignof): Remove.
6914         * modules/argp (Depends-on): Add stdalign.
6915
6916         crypto libraries: use stdalign
6917         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
6918         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
6919         Do not include <stdlib.h> twice, in md4.c.
6920         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
6921         because we are accessing a pointer's bit-pattern, not a size.
6922         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
6923         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
6924         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
6925         * modules/crypto/sha512: Likewise.
6926
6927         sys_socket: use stdalign, not alignof
6928         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
6929         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
6930
6931 2011-10-27  Bruno Haible  <bruno@clisp.org>
6932
6933         raise test: Avoid a test failure on Linux/MIPS.
6934         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
6935         because 99 is a valid signal on Linux/MIPS.
6936
6937 2011-10-27  Bruno Haible  <bruno@clisp.org>
6938
6939         nonblocking tests: Fix test failure on Linux/MIPS.
6940         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
6941         Set to 270000.
6942
6943 2011-10-27  Bruno Haible  <bruno@clisp.org>
6944
6945         utimensat: Work around problem on Linux/hppa.
6946         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
6947         values.
6948         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
6949
6950 2011-10-25  Jim Meyering  <meyering@redhat.com>
6951
6952         maint.mk: fix a bug in sc_prohibit_stddef_without_use
6953         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
6954         after symbols like NULL, size_t, etc.
6955         Reported by Alfred M. Szmidt.
6956
6957         maint.mk: exempt ENODATA from a syntax-check rule
6958         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
6959         from the sc_prohibit_always-defined_macros syntax-check rule.
6960         Add a comment.  See this for more details:
6961         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
6962
6963 2011-10-23  Jim Meyering  <meyering@redhat.com>
6964
6965         fts: close parent dir FD before returning from post-traversal fts_read
6966         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
6967         unlink A, even though an FD open on A remained.  This is suboptimal
6968         (holding a file descriptor open longer than needed), but otherwise not
6969         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
6970         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
6971         that represents a real problem: it causes the removal of A to fail
6972         with e.g., "rm: cannot remove `A': Device or resource busy"
6973
6974         fts visits each directory twice and keeps a cache (fts_fd_ring) of
6975         directory file descriptors.  After completing the final, FTS_DP,
6976         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
6977         cache, but then proceeded to add a new FD to it via the subsequent
6978         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
6979         final file descriptor would be closed only via fts_close's call to
6980         fd_ring_clear.  Now, it is usually closed earlier, via the final
6981         FTS_DP-returning fts_read call.
6982         * lib/fts.c (restore_initial_cwd): New function, converted from
6983         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
6984         Update callers.
6985         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
6986         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
6987
6988 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
6989             Bruno Haible  <bruno@clisp.org>
6990             Jim Meyering  <jim@meyering.net>
6991
6992         readme-release: improve safety of release prep instructions.
6993         * README-release: Don't git pull all branches when only master
6994         is needed for the release process.
6995         Run make maintainer-clean before changing trees and merging.
6996         Don't try to run ./configure right after git pull in case files
6997         that influence the bootstrap process have changed, move the
6998         ./configure step to after running ./bootstrap.
6999         Don't bootstrap "one last time"... it's the first time!
7000
7001 2011-10-22  Bruno Haible  <bruno@clisp.org>
7002
7003         errno, strerror-override: Support for MSVC 10.
7004         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
7005         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
7006         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
7007         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
7008         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
7009         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
7010         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
7011         Assign values compatible with MSVC 10.
7012         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
7013         New macros.
7014         (GNULIB_defined_EWINSOCK): New macro.
7015         * lib/strerror-override.c (strerror_override): Update accordingly.
7016         * lib/strerror-override.h: Likewise.
7017         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
7018         longer equal to the corresponding errno value.
7019         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
7020
7021 2011-10-22  Bruno Haible  <bruno@clisp.org>
7022
7023         perror: Recognize when test program crashes.
7024         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
7025         strerror, set gl_cv_func_perror_works to no.
7026         Reported by Daniel Richard G. <skunk@iskunk.org>.
7027
7028         perror: Fix indentation.
7029         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
7030
7031 2011-10-22  Bruno Haible  <bruno@clisp.org>
7032
7033         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
7034         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
7035         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
7036         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
7037         functions, not as a macro.
7038         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
7039         macros.
7040         (isfinite, isinf, isnan, signbit): Check overloaded functions and
7041         absence of macro.
7042         Suggested by Eric Blake.
7043         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
7044
7045 2011-10-21  Bruno Haible  <bruno@clisp.org>
7046
7047         relocatable-prog-wrapper: Don't leave object files behind.
7048         * build-aux/install-reloc: Re-synchronize list of .o files to be
7049         removed with list of compilation units.
7050
7051 2011-10-20  Bruno Haible  <bruno@clisp.org>
7052
7053         openpty, posix_openpt: Remove code duplication.
7054         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
7055         * lib/openpty.c: Include <stdlib.h>.
7056         (openpty): Use posix_openpt on all platforms except IRIX.
7057         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
7058
7059 2011-10-20  Bruno Haible  <bruno@clisp.org>
7060
7061         unlockpt: Detect invalid argument.
7062         * lib/unlockpt.c: Include <fcntl.h>.
7063         (unlockpt): Check whether fd is valid, using fcntl().
7064         * modules/unlockpt (Depends-on): Add fcntl-h.
7065
7066 2011-10-20  Bruno Haible  <bruno@clisp.org>
7067
7068         openpty: Avoid compilation error on AIX 6.1.
7069         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
7070
7071 2011-10-20  Bruno Haible  <bruno@clisp.org>
7072
7073         posix_openpt: Support for OpenBSD.
7074         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
7075         (posix_openpt) [OpenBSD]: New code.
7076         * lib/grantpt.c: Include <fcntl.h>.
7077         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
7078         * modules/grantpt (Depends-on): Add fcntl-h.
7079
7080 2011-10-20  Bruno Haible  <bruno@clisp.org>
7081
7082         posix_openpt test: Coding style.
7083         * tests/test-posix_openpt.c: Use GNU coding style.
7084
7085 2011-10-20  Bruno Haible  <bruno@clisp.org>
7086
7087         grantpt: Support --avoid=pt_chown.
7088         * modules/grantpt (Files): Add lib/pty-private.h.
7089
7090 2011-10-20  Bruno Haible  <bruno@clisp.org>
7091
7092         posix_openpt: Fix autoconf macro.
7093         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
7094         unneeded check for _getpty.
7095
7096 2011-10-20  Bruno Haible  <bruno@clisp.org>
7097
7098         openpty: Update comments.
7099         * lib/openpty.c: Add comments about Minix.
7100
7101 2011-10-19  Eric Blake  <eblake@redhat.com>
7102
7103         openpty: relax license
7104         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
7105
7106         pt_chown: use configmake to simplify build
7107         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
7108
7109         ptsname and others: relax license
7110         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
7111         * modules/unlockpt (License): Likewise.
7112         * modules/pt_chown (License): Likewise.
7113         * modules/ptsname (License): Likewise.
7114         * modules/ttyname_r (License): Likewise.
7115
7116 2011-10-19  Jim Meyering  <meyering@redhat.com>
7117
7118         posix_openpt: remove spurious #endif
7119         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
7120
7121 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
7122
7123         maint.mk: Respect $(build_aux) in web-manual rule.
7124         * top/maint.mk (web-manual): Find gen-announce script in user's
7125         $(build_aux) directory instead of hard-coding 'build-aux'.
7126
7127 2011-10-19  Bruno Haible  <bruno@clisp.org>
7128
7129         posix_openpt: Fix compilation error.
7130         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
7131         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
7132         Mention the openpty module as an alternative.
7133
7134 2011-10-19  Bruno Haible  <bruno@clisp.org>
7135
7136         Support for old NeXTstep 3.3 frexp().
7137         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
7138         execution time of the test to 5 seconds.
7139         Reported by Daniel Richard G. <skunk@iskunk.org>.
7140
7141 2011-10-19  Bruno Haible  <bruno@clisp.org>
7142
7143         Support for old NeXTstep 3.3 sed.
7144         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
7145         part, use /.../, not \|...|. Escape periods in the header file name.
7146         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
7147         Reported by Daniel Richard G. <skunk@iskunk.org>.
7148
7149 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
7150
7151         Support for old NeXTstep 3.3 gcc.
7152         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
7153         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
7154         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
7155         * lib/spawn.in.h (_Restrict_arr_): Likewise.
7156         * lib/regex.h (_Restrict_arr_): Likewise.
7157         * lib/regex_internal.h (re_token_t): Likewise.
7158         * lib/regexec.c (check_node_accept_bytes): Likewise.
7159         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
7160
7161 2011-10-18  Eric Blake  <eblake@redhat.com>
7162
7163         posix_openpt: new module
7164         * modules/posix_openpt: New module.
7165         * m4/posix_openpt.m4: New file.
7166         * lib/posix_openpt.c: Likewise.
7167         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
7168         (gl_STDLIB_H_DEFAULTS): Set defaults.
7169         * modules/stdlib (Makefile.am): Substitute macros.
7170         * lib/stdlib.in.h (posix_openpt): Declare.
7171         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
7172         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
7173         * modules/posix_openpt-tests: New test module.
7174         * tests/test-posix_openpt.c: New test.
7175
7176 2011-10-15  Bruno Haible  <bruno@clisp.org>
7177
7178         xstrtoll: Fix compilation failure.
7179         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
7180         from lib/strtol.c.
7181         * doc/posix-headers/limits.texi: Mention missing numerical limits on
7182         some platforms.
7183         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7184
7185 2011-10-15  Bruno Haible  <bruno@clisp.org>
7186
7187         vasnprintf: Optimize bit search operation.
7188         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
7189         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
7190         gl_DOUBLE_EXPONENT_LOCATION.
7191         * modules/vasnprintf (Files): Add m4/exponentd.m4.
7192         * modules/unistdio/u8-vasnprintf (Files): Likewise.
7193         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
7194         * modules/unistdio/u16-vasnprintf (Files): Likewise.
7195         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
7196         * modules/unistdio/u32-vasnprintf (Files): Likewise.
7197         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
7198         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
7199         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
7200
7201 2011-10-15  Bruno Haible  <bruno@clisp.org>
7202
7203         vasnprintf: Fix comments.
7204         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
7205
7206 2011-10-14  Bruno Haible  <bruno@clisp.org>
7207
7208         Tests for module 'integer_length_ll'.
7209         * modules/integer_length_ll-tests: New file.
7210         * tests/test-integer_length_ll.c: New file.
7211
7212         New module 'integer_length_ll'.
7213         * lib/integer_length_ll.c: New file.
7214         * modules/integer_length_ll: New file.
7215
7216 2011-10-14  Bruno Haible  <bruno@clisp.org>
7217
7218         Tests for module 'integer_length_l'.
7219         * modules/integer_length_l-tests: New file.
7220         * tests/test-integer_length_l.c: New file.
7221
7222         New module 'integer_length_l'.
7223         * lib/integer_length_l.c: New file.
7224         * modules/integer_length_l: New file.
7225
7226 2011-10-14  Bruno Haible  <bruno@clisp.org>
7227
7228         Tests for module 'integer_length'.
7229         * modules/integer_length-tests: New file.
7230         * tests/test-integer_length.c: New file.
7231
7232         New module 'integer_length'.
7233         * lib/integer_length.h: New file.
7234         * lib/integer_length.c: New file.
7235         * modules/integer_length: New file.
7236
7237 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
7238
7239         popen: Fix dependency conditions.
7240         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
7241
7242 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
7243
7244         perror: Fix autoconf test.
7245         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
7246         <stdlib.h> and <string.h>.
7247
7248 2011-10-14  Bruno Haible  <bruno@clisp.org>
7249
7250         ffsl: Optimize on 64-bit platforms.
7251         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
7252         unrolling.
7253
7254 2011-10-13  Bruno Haible  <bruno@clisp.org>
7255
7256         ffsl: Optimize on 32-bit platforms.
7257         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
7258         use ffs() without a loop.
7259
7260         ffsl, ffsll: Optimize for GCC.
7261         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
7262         * lib/ffsl.c (GCC_BUILTIN): New macro.
7263         * lib/ffsll.c (GCC_BUILTIN): Likewise.
7264
7265 2011-10-13  Bruno Haible  <bruno@clisp.org>
7266
7267         ffs, bcopy, memset: Support symbol renaming via config.h.
7268         * lib/ffs.c: Include <config.h>.
7269         * lib/bcopy.c: Likewise.
7270         * lib/memset.c: Likewise.
7271
7272 2011-10-10  Bruno Haible  <bruno@clisp.org>
7273
7274         atanl: Simplify for platforms where 'long double' == 'double'.
7275         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7276         alternative implementation.
7277         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7278         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7279         * modules/atanl (Depends-on): Add atan. Update conditions.
7280
7281 2011-10-10  Bruno Haible  <bruno@clisp.org>
7282
7283         acosl: Simplify for platforms where 'long double' == 'double'.
7284         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7285         alternative implementation.
7286         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7287         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7288         * modules/acosl (Depends-on): Add acos. Update conditions.
7289
7290 2011-10-10  Bruno Haible  <bruno@clisp.org>
7291
7292         asinl: Simplify for platforms where 'long double' == 'double'.
7293         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7294         alternative implementation.
7295         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7296         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7297         * modules/asinl (Depends-on): Add asin. Update conditions.
7298
7299 2011-10-10  Bruno Haible  <bruno@clisp.org>
7300
7301         tanl: Simplify for platforms where 'long double' == 'double'.
7302         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7303         implementation.
7304         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7305         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7306         * modules/tanl (Depends-on): Add tan. Update conditions.
7307         (configure.ac): Don't compile trigl.c if
7308         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7309
7310 2011-10-10  Bruno Haible  <bruno@clisp.org>
7311
7312         cosl: Simplify for platforms where 'long double' == 'double'.
7313         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7314         implementation.
7315         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7316         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7317         * modules/cosl (Depends-on): Add cos. Update conditions.
7318         (configure.ac): Don't compile sincosl.c and trigl.c if
7319         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7320
7321 2011-10-10  Bruno Haible  <bruno@clisp.org>
7322
7323         sinl: Simplify for platforms where 'long double' == 'double'.
7324         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7325         implementation.
7326         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7327         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7328         * modules/sinl (Depends-on): Add sin. Update conditions.
7329         (configure.ac): Don't compile sincosl.c and trigl.c if
7330         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7331
7332 2011-10-10  Bruno Haible  <bruno@clisp.org>
7333
7334         logl: Simplify for platforms where 'long double' == 'double'.
7335         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7336         implementation.
7337         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7338         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7339         * modules/logl (Depends-on): Add log. Update conditions.
7340
7341 2011-10-10  Bruno Haible  <bruno@clisp.org>
7342
7343         expl: Simplify for platforms where 'long double' == 'double'.
7344         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7345         implementation.
7346         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7347         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7348         * modules/expl (Depends-on): Add exp. Update conditions.
7349
7350 2011-10-10  Bruno Haible  <bruno@clisp.org>
7351
7352         sqrtl: Simplify for platforms where 'long double' == 'double'.
7353         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7354         alternative implementation.
7355         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7356         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7357         * modules/sqrtl (Depends-on): Update conditions.
7358
7359 2011-10-10  Bruno Haible  <bruno@clisp.org>
7360
7361         ldexpl: Simplify for platforms where 'long double' == 'double'.
7362         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7363         alternative implementation.
7364         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7365         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7366         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
7367
7368 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
7369
7370         ffsll: set correct witness
7371         * modules/ffsll (configure.ac): Fix typo.
7372
7373 2011-10-10  Bruno Haible  <bruno@clisp.org>
7374
7375         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
7376         * lib/printf-frexpl.c: Include <config.h>.
7377         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7378         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
7379         second time.
7380         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
7381         gl_LONG_DOUBLE_VS_DOUBLE.
7382         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
7383         conditions.
7384
7385 2011-10-10  Bruno Haible  <bruno@clisp.org>
7386
7387         frexpl: Simplify for platforms where 'long double' == 'double'.
7388         * lib/frexpl.c: Include <config.h>.
7389         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7390         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7391         time.
7392         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7393         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7394         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
7395         * modules/frexpl (Depends-on): Add frexp. Update conditions.
7396         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
7397         conditions.
7398
7399 2011-10-10  Jim Meyering  <meyering@redhat.com>
7400
7401         test-renameat: don't leave behind a temporary file
7402         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
7403           ERROR: files left in build directory after distclean:
7404           ./gltests/test-renameat.too
7405           make[1]: *** [distcleancheck] Error 1
7406         Reported by Tom G. Christensen.
7407
7408 2011-10-09  Bruno Haible  <bruno@clisp.org>
7409
7410         rint: Determine RINT_LIBM correctly on AIX 7.
7411         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
7412         directly, not only through a function pointer. Also accept an optional
7413         4th argument with extra code.
7414         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
7415         rintf() call by gcc when optimizing.
7416
7417         mathfunc.m4: Refactor.
7418         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
7419         m4 variable.
7420
7421 2011-10-09  Bruno Haible  <bruno@clisp.org>
7422
7423         rintl: Simplify for platforms where 'long double' == 'double'.
7424         * lib/rintl.c: Include <config.h>.
7425         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7426         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7427         time.
7428         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7429         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7430         * modules/rintl (Depends-on): Add rint. Update conditions.
7431
7432 2011-10-09  Bruno Haible  <bruno@clisp.org>
7433
7434         roundl: Simplify for platforms where 'long double' == 'double'.
7435         * lib/roundl.c: Include <config.h>.
7436         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7437         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7438         time.
7439         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7440         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7441         * modules/roundl (Depends-on): Add round. Update conditions.
7442
7443 2011-10-09  Bruno Haible  <bruno@clisp.org>
7444
7445         truncl: Simplify for platforms where 'long double' == 'double'.
7446         * lib/truncl.c: Include <config.h>.
7447         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7448         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7449         time.
7450         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7451         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7452         * modules/truncl (Depends-on): Add trunc. Update conditions.
7453
7454 2011-10-09  Bruno Haible  <bruno@clisp.org>
7455
7456         ceill: Simplify for platforms where 'long double' == 'double'.
7457         * lib/ceill.c: Include <config.h>.
7458         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7459         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7460         time.
7461         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7462         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7463         * modules/ceill (Depends-on): Add ceil. Update conditions.
7464
7465 2011-10-09  Bruno Haible  <bruno@clisp.org>
7466
7467         floorl: Simplify for platforms where 'long double' == 'double'.
7468         * lib/floorl.c: Include <config.h>.
7469         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7470         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7471         time.
7472         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7473         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7474         * modules/floorl (Depends-on): Add floor. Update conditions.
7475
7476 2011-10-09  Bruno Haible  <bruno@clisp.org>
7477
7478         rint: Fix ordering constraints.
7479         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
7480         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
7481         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
7482
7483 2011-10-09  Bruno Haible  <bruno@clisp.org>
7484
7485         copysignl: Simplify for platforms where 'long double' == 'double'.
7486         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7487         alternative.
7488         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7489         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7490         * modules/copysignl (Depends-on): Add copysign. Update conditions.
7491
7492 2011-10-09  Bruno Haible  <bruno@clisp.org>
7493
7494         Tests for module 'rintl'.
7495         * modules/rintl-tests: New file.
7496         * tests/test-rintl.c: New file.
7497
7498         New module 'rintl'.
7499         * lib/math.in.h (rintl): New declaration.
7500         * lib/rintl.c: New file.
7501         * m4/rintl.m4: New file.
7502         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
7503         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
7504         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
7505         * modules/rintl: New file.
7506         * tests/test-math-c++.cc: Check the declaration of rintl.
7507         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
7508         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
7509         * doc/posix-functions/rintl.texi: Mention the new module.
7510
7511 2011-10-09  Bruno Haible  <bruno@clisp.org>
7512
7513         Tests for module 'rintf'.
7514         * modules/rintf-tests: New file.
7515         * tests/test-rintf.c: New file.
7516
7517         New module 'rintf'.
7518         * lib/math.in.h (rintf): New declaration.
7519         * lib/rintf.c: New file.
7520         * m4/rintf.m4: New file.
7521         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
7522         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
7523         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
7524         * modules/rintf: New file.
7525         * tests/test-math-c++.cc: Check the declaration of rintf.
7526         * doc/posix-functions/rintf.texi: Mention the new module.
7527
7528 2011-10-09  Bruno Haible  <bruno@clisp.org>
7529
7530         rint: Support for MSVC.
7531         * lib/math.in.h (rint): New declaration.
7532         * lib/rint.c: New file.
7533         * m4/rint.m4: New file.
7534         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
7535         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
7536         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
7537         * modules/rint (Description): Fix.
7538         (Files): Add lib/rint.c, m4/rint.m4.
7539         (Depends-on): Add math.
7540         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
7541         gl_MATH_MODULE_INDICATOR.
7542         * tests/test-math-c++.cc: Check the declaration of rint.
7543         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
7544         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
7545         * doc/posix-functions/rint.texi: Mention the replacement provided by
7546         the module.
7547
7548         rint tests: More tests.
7549         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
7550         minus-zero.h, infinity.h, nan.h.
7551         (main): Skip the test if the current rounding mode is not standard. Add
7552         tests for negative numbers, minus zero, infinity, NaN.
7553         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
7554         tests/nan.h.
7555         (Depends-on): Add isnand-nolibm.
7556
7557 2011-10-09  Bruno Haible  <bruno@clisp.org>
7558
7559         Tests for module 'copysignl'.
7560         * modules/copysignl-tests: New file.
7561         * tests/test-copysignl.c: New file.
7562
7563         New module 'copysignl'.
7564         * lib/math.in.h (copysignl): New declaration.
7565         * lib/copysignl.c: New file.
7566         * m4/copysignl.m4: New file.
7567         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
7568         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
7569         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
7570         HAVE_COPYSIGNL.
7571         * modules/copysignl: New file.
7572         * tests/test-math-c++.cc: Check the declaration of copysignl.
7573         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
7574         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
7575         * doc/posix-functions/copysignl.texi: Mention the new module.
7576
7577 2011-10-09  Bruno Haible  <bruno@clisp.org>
7578
7579         Tests for module 'copysignf'.
7580         * modules/copysignf-tests: New file.
7581         * tests/test-copysignf.c: New file.
7582
7583         New module 'copysignf'.
7584         * lib/math.in.h (copysignf): New declaration.
7585         * lib/copysignf.c: New file.
7586         * m4/copysignf.m4: New file.
7587         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
7588         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
7589         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
7590         HAVE_COPYSIGNF.
7591         * modules/copysignf: New file.
7592         * tests/test-math-c++.cc: Check the declaration of copysignf.
7593         * doc/posix-functions/copysignf.texi: Mention the new module.
7594
7595 2011-10-09  Bruno Haible  <bruno@clisp.org>
7596
7597         Ensure that HAVE_* variables are set to 1 before they are set to 0.
7598         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
7599         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
7600         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
7601         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
7602         gl_SIGNAL_H_DEFAULTS.
7603
7604 2011-10-09  Bruno Haible  <bruno@clisp.org>
7605
7606         poll: Make macro safer.
7607         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
7608         ac_cv_header_poll_h is not set.
7609
7610 2011-10-09  Bruno Haible  <bruno@clisp.org>
7611
7612         copysign: Provide replacement.
7613         * lib/math.in.h (copysign): New declaration.
7614         * lib/copysign.c: New file.
7615         * m4/copysign.m4: New file.
7616         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
7617         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
7618         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
7619         HAVE_COPYSIGN.
7620         * modules/copysign (Description): Clarify.
7621         (Files): Add lib/copysign.c, m4/copysign.m4.
7622         (Depends-on): Add math, signbit.
7623         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
7624         gl_MATH_MODULE_INDICATOR.
7625         * tests/test-math-c++.cc: Check the declaration of copysign.
7626         * doc/posix-functions/copysign.texi: Mention the effects of the module
7627         on Minix and MSVC.
7628
7629 2011-10-09  Bruno Haible  <bruno@clisp.org>
7630
7631         isinf: Ensure macro on AIX 5.1.
7632         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
7633         macro.
7634         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
7635
7636 2011-10-09  Bruno Haible  <bruno@clisp.org>
7637
7638         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
7639         * modules/snprintf-posix-tests (configure.ac): Require
7640         gl_LONG_DOUBLE_VS_DOUBLE.
7641         * modules/sprintf-posix-tests (configure.ac): Likewise.
7642         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
7643         * modules/vasprintf-posix-tests (configure.ac): Likewise.
7644         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
7645         * modules/vsprintf-posix-tests (configure.ac): Likewise.
7646         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
7647         tests on platforms where 'long double' is the same as 'double'.
7648         * tests/test-sprintf-posix.h (test_function): Likewise.
7649         * tests/test-vasnprintf-posix.c (test_function): Likewise.
7650         * tests/test-vasprintf-posix.c (test_function): Likewise.
7651
7652         *printf: Fix for platforms where 'long double' == 'double'.
7653         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
7654         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
7655         * modules/dprintf-posix (Files): Add m4/math_h.m4.
7656         * modules/fprintf-posix (Files): Likewise.
7657         * modules/obstack-printf-posix (Files): Likewise.
7658         * modules/snprintf-posix (Files): Likewise.
7659         * modules/sprintf-posix (Files): Likewise.
7660         * modules/vasnprintf (Files): Likewise.
7661         * modules/vasnprintf-posix (Files): Likewise.
7662         * modules/vasprintf-posix (Files): Likewise.
7663         * modules/vdprintf-posix (Files): Likewise.
7664         * modules/vfprintf-posix (Files): Likewise.
7665         * modules/vsnprintf-posix (Files): Likewise.
7666         * modules/vsprintf-posix (Files): Likewise.
7667         * modules/unistdio/u8-vasnprintf (Files): Likewise.
7668         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
7669         * modules/unistdio/u16-vasnprintf (Files): Likewise.
7670         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
7671         * modules/unistdio/u32-vasnprintf (Files): Likewise.
7672         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
7673         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
7674
7675         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
7676         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
7677         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7678         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
7679         'long double'.
7680         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
7681
7682         isinf: Fix for platforms where 'long double' == 'double'.
7683         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
7684         Don't blindly assume 80-bit 'long double'.
7685
7686         isfinite: Fix for platforms where 'long double' == 'double'.
7687         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
7688         Don't blindly assume 80-bit 'long double'.
7689
7690         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
7691         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
7692         * modules/isfinite-tests (configure.ac): Require
7693         gl_LONG_DOUBLE_VS_DOUBLE.
7694         * modules/isinf-tests (configure.ac): Likewise.
7695         * modules/isnan-tests (configure.ac): Likewise.
7696         * modules/isnanl-tests (configure.ac): Likewise.
7697         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
7698         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
7699         tests on platforms where 'long double' is the same as 'double'.
7700         * tests/test-isinf.c (test_isinfl): Likewise.
7701         * tests/test-isnan.c (test_long_double): Likewise.
7702         * tests/test-isnanl.h (main): Likewise.
7703
7704 2011-10-08  Bruno Haible  <bruno@clisp.org>
7705
7706         Tests for module 'tanhf'.
7707         * modules/tanhf-tests: New file.
7708         * tests/test-tanhf.c: New file.
7709
7710         New module 'tanhf'.
7711         * lib/math.in.h (tanhf): New declaration.
7712         * lib/tanhf.c: New file.
7713         * m4/tanhf.m4: New file.
7714         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
7715         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
7716         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
7717         * modules/tanhf: New file.
7718         * tests/test-math-c++.cc: Check the declaration of tanhf.
7719         * doc/posix-functions/tanhf.texi: Mention the new module.
7720
7721         tanh: Use a .m4 file.
7722         * m4/tanh.m4: New file.
7723         * modules/tanh (Files): Add it.
7724         (configure.ac): Just invoke gl_FUNC_TANH.
7725
7726 2011-10-08  Bruno Haible  <bruno@clisp.org>
7727
7728         Tests for module 'coshf'.
7729         * modules/coshf-tests: New file.
7730         * tests/test-coshf.c: New file.
7731
7732         New module 'coshf'.
7733         * lib/math.in.h (coshf): New declaration.
7734         * lib/coshf.c: New file.
7735         * m4/coshf.m4: New file.
7736         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
7737         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
7738         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
7739         * modules/coshf: New file.
7740         * tests/test-math-c++.cc: Check the declaration of coshf.
7741         * doc/posix-functions/coshf.texi: Mention the new module.
7742
7743         cosh: Use a .m4 file.
7744         * m4/cosh.m4: New file.
7745         * modules/cosh (Files): Add it.
7746         (configure.ac): Just invoke gl_FUNC_COSH.
7747
7748 2011-10-08  Bruno Haible  <bruno@clisp.org>
7749
7750         Tests for module 'sinhf'.
7751         * modules/sinhf-tests: New file.
7752         * tests/test-sinhf.c: New file.
7753
7754         New module 'sinhf'.
7755         * lib/math.in.h (sinhf): New declaration.
7756         * lib/sinhf.c: New file.
7757         * m4/sinhf.m4: New file.
7758         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
7759         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
7760         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
7761         * modules/sinhf: New file.
7762         * tests/test-math-c++.cc: Check the declaration of sinhf.
7763         * doc/posix-functions/sinhf.texi: Mention the new module.
7764
7765         sinh: Use a .m4 file.
7766         * m4/sinh.m4: New file.
7767         * modules/sinh (Files): Add it.
7768         (configure.ac): Just invoke gl_FUNC_SINH.
7769
7770 2011-10-08  Bruno Haible  <bruno@clisp.org>
7771
7772         Tests for module 'atan2f'.
7773         * modules/atan2f-tests: New file.
7774         * tests/test-atan2f.c: New file.
7775
7776         New module 'atan2f'.
7777         * lib/math.in.h (atan2f): New declaration.
7778         * lib/atan2f.c: New file.
7779         * m4/atan2f.m4: New file.
7780         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
7781         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
7782         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
7783         * modules/atan2f: New file.
7784         * tests/test-math-c++.cc: Check the declaration of atan2f.
7785         * doc/posix-functions/atan2f.texi: Mention the new module.
7786
7787         atan2: Use a .m4 file.
7788         * m4/atan2.m4: New file.
7789         * modules/atan2 (Files): Add it.
7790         (configure.ac): Just invoke gl_FUNC_ATAN2.
7791
7792 2011-10-08  Bruno Haible  <bruno@clisp.org>
7793
7794         Tests for module 'atanf'.
7795         * modules/atanf-tests: New file.
7796         * tests/test-atanf.c: New file.
7797
7798         New module 'atanf'.
7799         * lib/math.in.h (atanf): New declaration.
7800         * lib/atanf.c: New file.
7801         * m4/atanf.m4: New file.
7802         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
7803         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
7804         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
7805         * modules/atanf: New file.
7806         * tests/test-math-c++.cc: Check the declaration of atanf.
7807         * doc/posix-functions/atanf.texi: Mention the new module.
7808
7809         atan: Use a .m4 file.
7810         * m4/atan.m4: New file.
7811         * modules/atan (Files): Add it.
7812         (configure.ac): Just invoke gl_FUNC_ATAN.
7813
7814 2011-10-08  Bruno Haible  <bruno@clisp.org>
7815
7816         Tests for module 'acosf'.
7817         * modules/acosf-tests: New file.
7818         * tests/test-acosf.c: New file.
7819
7820         New module 'acosf'.
7821         * lib/math.in.h (acosf): New declaration.
7822         * lib/acosf.c: New file.
7823         * m4/acosf.m4: New file.
7824         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
7825         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
7826         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
7827         * modules/acosf: New file.
7828         * tests/test-math-c++.cc: Check the declaration of acosf.
7829         * doc/posix-functions/acosf.texi: Mention the new module.
7830
7831         acos: Use a .m4 file.
7832         * m4/acos.m4: New file.
7833         * modules/acos (Files): Add it.
7834         (configure.ac): Just invoke gl_FUNC_ACOS.
7835
7836 2011-10-08  Bruno Haible  <bruno@clisp.org>
7837
7838         Tests for module 'asinf'.
7839         * modules/asinf-tests: New file.
7840         * tests/test-asinf.c: New file.
7841
7842         New module 'asinf'.
7843         * lib/math.in.h (asinf): New declaration.
7844         * lib/asinf.c: New file.
7845         * m4/asinf.m4: New file.
7846         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
7847         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
7848         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
7849         * modules/asinf: New file.
7850         * tests/test-math-c++.cc: Check the declaration of asinf.
7851         * doc/posix-functions/asinf.texi: Mention the new module.
7852
7853         asin: Use a .m4 file.
7854         * m4/asin.m4: New file.
7855         * modules/asin (Files): Add it.
7856         (configure.ac): Just invoke gl_FUNC_ASIN.
7857
7858 2011-10-08  Bruno Haible  <bruno@clisp.org>
7859
7860         Tests for module 'tanf'.
7861         * modules/tanf-tests: New file.
7862         * tests/test-tanf.c: New file.
7863
7864         New module 'tanf'.
7865         * lib/math.in.h (tanf): New declaration.
7866         * lib/tanf.c: New file.
7867         * m4/tanf.m4: New file.
7868         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
7869         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
7870         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
7871         * modules/tanf: New file.
7872         * tests/test-math-c++.cc: Check the declaration of tanf.
7873         * doc/posix-functions/tanf.texi: Mention the new module.
7874
7875         tan: Use a .m4 file.
7876         * m4/tan.m4: New file.
7877         * modules/tan (Files): Add it.
7878         (configure.ac): Just invoke gl_FUNC_TAN.
7879
7880 2011-10-08  Bruno Haible  <bruno@clisp.org>
7881
7882         Tests for module 'cosf'.
7883         * modules/cosf-tests: New file.
7884         * tests/test-cosf.c: New file.
7885
7886         New module 'cosf'.
7887         * lib/math.in.h (cosf): New declaration.
7888         * lib/cosf.c: New file.
7889         * m4/cosf.m4: New file.
7890         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
7891         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
7892         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
7893         * modules/cosf: New file.
7894         * tests/test-math-c++.cc: Check the declaration of cosf.
7895         * doc/posix-functions/cosf.texi: Mention the new module.
7896
7897         cos: Use a .m4 file.
7898         * m4/cos.m4: New file.
7899         * modules/cos (Files): Add it.
7900         (configure.ac): Just invoke gl_FUNC_COS.
7901
7902 2011-10-08  Bruno Haible  <bruno@clisp.org>
7903
7904         Tests for module 'sinf'.
7905         * modules/sinf-tests: New file.
7906         * tests/test-sinf.c: New file.
7907
7908         New module 'sinf'.
7909         * lib/math.in.h (sinf): New declaration.
7910         * lib/sinf.c: New file.
7911         * m4/sinf.m4: New file.
7912         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
7913         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
7914         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
7915         * modules/sinf: New file.
7916         * tests/test-math-c++.cc: Check the declaration of sinf.
7917         * doc/posix-functions/sinf.texi: Mention the new module.
7918
7919         sin: Use a .m4 file.
7920         * m4/sin.m4: New file.
7921         * modules/sin (Files): Add it.
7922         (configure.ac): Just invoke gl_FUNC_SIN.
7923
7924 2011-10-08  Bruno Haible  <bruno@clisp.org>
7925
7926         Tests for module 'powf'.
7927         * modules/powf-tests: New file.
7928         * tests/test-powf.c: New file.
7929
7930         New module 'powf'.
7931         * lib/math.in.h (powf): New declaration.
7932         * lib/powf.c: New file.
7933         * m4/powf.m4: New file.
7934         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
7935         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
7936         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
7937         * modules/powf: New file.
7938         * tests/test-math-c++.cc: Check the declaration of powf.
7939         * doc/posix-functions/powf.texi: Mention the new module.
7940
7941         pow: Use a .m4 file.
7942         * m4/pow.m4: New file.
7943         * modules/pow (Files): Add it.
7944         (configure.ac): Just invoke gl_FUNC_POW.
7945
7946 2011-10-08  Bruno Haible  <bruno@clisp.org>
7947
7948         Tests for module 'log10f'.
7949         * modules/log10f-tests: New file.
7950         * tests/test-log10f.c: New file.
7951
7952         New module 'log10f'.
7953         * lib/math.in.h (log10f): New declaration.
7954         * lib/log10f.c: New file.
7955         * m4/log10f.m4: New file.
7956         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
7957         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
7958         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
7959         * modules/log10f: New file.
7960         * tests/test-math-c++.cc: Check the declaration of log10f.
7961         * doc/posix-functions/log10f.texi: Mention the new module.
7962
7963         log10: Use a .m4 file.
7964         * m4/log10.m4: New file.
7965         * modules/log10 (Files): Add it.
7966         (configure.ac): Just invoke gl_FUNC_LOG10.
7967
7968 2011-10-08  Bruno Haible  <bruno@clisp.org>
7969
7970         Tests for module 'logf'.
7971         * modules/logf-tests: New file.
7972         * tests/test-logf.c: New file.
7973
7974         New module 'logf'.
7975         * lib/math.in.h (logf): New declaration.
7976         * lib/logf.c: New file.
7977         * m4/logf.m4: New file.
7978         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
7979         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
7980         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
7981         * modules/logf: New file.
7982         * tests/test-math-c++.cc: Check the declaration of logf.
7983         * doc/posix-functions/logf.texi: Mention the new module.
7984
7985         log: Use a .m4 file.
7986         * m4/log.m4: New file.
7987         * modules/log (Files): Add it.
7988         (configure.ac): Just invoke gl_FUNC_LOG.
7989
7990 2011-10-08  Bruno Haible  <bruno@clisp.org>
7991
7992         Tests for module 'expf'.
7993         * modules/expf-tests: New file.
7994         * tests/test-expf.c: New file.
7995
7996         New module 'expf'.
7997         * lib/math.in.h (expf): New declaration.
7998         * lib/expf.c: New file.
7999         * m4/expf.m4: New file.
8000         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
8001         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
8002         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
8003         * modules/expf: New file.
8004         * tests/test-math-c++.cc: Check the declaration of expf.
8005         * doc/posix-functions/expf.texi: Mention the new module.
8006
8007         exp: Use a .m4 file.
8008         * m4/exp.m4: New file.
8009         * modules/exp (Files): Add it.
8010         (configure.ac): Just invoke gl_FUNC_EXP.
8011
8012 2011-10-08  Bruno Haible  <bruno@clisp.org>
8013
8014         Tests for module 'sqrtf'.
8015         * modules/sqrtf-tests: New file.
8016         * tests/test-sqrtf.c: New file.
8017
8018         New module 'sqrtf'.
8019         * lib/math.in.h (sqrtf): New declaration.
8020         * lib/sqrtf.c: New file.
8021         * m4/sqrtf.m4: New file.
8022         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
8023         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
8024         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
8025         * modules/sqrtf: New file.
8026         * tests/test-math-c++.cc: Check the declaration of sqrtf.
8027         * doc/posix-functions/sqrtf.texi: Mention the new module.
8028
8029 2011-10-08  Bruno Haible  <bruno@clisp.org>
8030
8031         Tests: Avoid link failures w.r.t. libintl.
8032         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
8033         $(LIBINTL).
8034         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
8035         $(LIBINTL).
8036         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
8037         against $(LIBINTL).
8038         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
8039         $(LIBINTL).
8040         * modules/openat-tests (Makefile.am): Link test-fchmodat against
8041         $(LIBINTL).
8042         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
8043
8044 2011-10-08  Bruno Haible  <bruno@clisp.org>
8045
8046         pow tests: Defeat compiler optimizations.
8047         * tests/test-pow.c (main): Assign arguments to x and y before use.
8048
8049 2011-10-08  Bruno Haible  <bruno@clisp.org>
8050
8051         gnulib-tool: Improve last commit.
8052         * gnulib-tool (func_modules_transitive_closure): Simplify code.
8053         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
8054         ignore dependencies that are not among the modules list.
8055
8056 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
8057
8058         gnulib-tool: don't follow dependencies to avoided modules
8059         This fixes a bug that is related to the previous one.
8060         * gnulib-tool (func_modules_transitive_closure)
8061         (func_emit_autoconf_snippets):
8062         Check whether a dependency is acceptable before using it.
8063         (--extract-dependencies): Report an error if --avoid is also used,
8064         since this combination of options is not yet supported.
8065
8066         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
8067         Problem reported by Peter Dyballa in
8068         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
8069         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
8070         when echoing "$condition".
8071
8072 2011-10-07  Bruno Haible  <bruno@clisp.org>
8073
8074         Fix documentation about math functions on MacOS X.
8075         * doc/posix-functions/exp2.texi: Don't say the function is missing on
8076         MacOS X 10.5.
8077         * doc/posix-functions/fdim.texi: Likewise.
8078         * doc/posix-functions/feclearexcept.texi: Likewise.
8079         * doc/posix-functions/fegetenv.texi: Likewise.
8080         * doc/posix-functions/fegetround.texi: Likewise.
8081         * doc/posix-functions/feholdexcept.texi: Likewise.
8082         * doc/posix-functions/feraiseexcept.texi: Likewise.
8083         * doc/posix-functions/fesetenv.texi: Likewise.
8084         * doc/posix-functions/fesetround.texi: Likewise.
8085         * doc/posix-functions/fetestexcept.texi: Likewise.
8086         * doc/posix-functions/feupdateenv.texi: Likewise.
8087         * doc/posix-functions/fmax.texi: Likewise.
8088         * doc/posix-functions/fmin.texi: Likewise.
8089         * doc/posix-functions/log2.texi: Likewise.
8090         * doc/posix-functions/modff.texi: Likewise.
8091         * doc/posix-functions/nan.texi: Likewise.
8092         * doc/posix-functions/nanf.texi: Likewise.
8093         * doc/posix-functions/nextafterf.texi: Likewise.
8094         * doc/posix-functions/remquo.texi: Likewise.
8095
8096 2011-10-07  Bruno Haible  <bruno@clisp.org>
8097
8098         modff: Drop assumption about library that defines modff.
8099         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
8100         AC_CHECK_FUNCS.
8101         * modules/modff (Files): Add m4/mathfunc.m4.
8102
8103 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
8104
8105         raise tests: Avoid a GCC warning.
8106         * tests/test-raise.c (handler): Use _Noreturn.
8107
8108 2011-10-07  Bruno Haible  <bruno@clisp.org>
8109
8110         Tests for module 'ldexpf'.
8111         * modules/ldexpf-tests: New file.
8112         * tests/test-ldexpf.c: New file.
8113
8114         New module 'ldexpf'.
8115         * lib/math.in.h (ldexpf): New declaration.
8116         * lib/ldexpf.c: New file.
8117         * m4/ldexpf.m4: New file.
8118         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
8119         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
8120         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
8121         * modules/ldexpf: New file.
8122         * tests/test-math-c++.cc: Check the declaration of ldexpf.
8123         * doc/posix-functions/ldexpf.texi: Mention the new module.
8124
8125 2011-10-06  Bruno Haible  <bruno@clisp.org>
8126
8127         frexpf: Work around problems on IRIX and mingw.
8128         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
8129         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
8130         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
8131         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
8132         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
8133         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
8134         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
8135
8136 2011-10-06  Bruno Haible  <bruno@clisp.org>
8137
8138         fabsf: Drop assumption about library that defines fabsf.
8139         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
8140         AC_CHECK_FUNCS.
8141         * modules/fabsf (Files): Add m4/mathfunc.m4.
8142
8143 2011-10-06  Bruno Haible  <bruno@clisp.org>
8144
8145         frexpf: Drop assumption about library that defines frexpf.
8146         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
8147         'int *', 'float *', 'long double *', 'float', 'long double'.
8148         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
8149         AC_CHECK_FUNCS.
8150         * modules/frexpf (Files): Add m4/mathfunc.m4.
8151
8152         Tests for module 'frexpf'.
8153         * modules/frexpf-tests: New file.
8154         * tests/test-frexpf.c: New file.
8155
8156         New module 'frexpf'.
8157         * lib/math.in.h (frexpf): New declaration.
8158         * lib/frexpf.c: New file.
8159         * m4/frexpf.m4: New file.
8160         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
8161         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
8162         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
8163         * modules/frexpf: New file.
8164         * tests/test-math-c++.cc: Check the declaration of frexpf.
8165         * doc/posix-functions/frexpf.texi: Mention the new module.
8166
8167 2011-10-06  Bruno Haible  <bruno@clisp.org>
8168
8169         math: Sort function declarations of math.in.h.
8170         * lib/math.in.h (frexp, logb): Move declarations.
8171
8172 2011-10-05  Bruno Haible  <bruno@clisp.org>
8173
8174         Tests for module 'modff'.
8175         * modules/modff-tests: New file.
8176         * tests/test-modff.c: New file.
8177
8178         New module 'modff'.
8179         * lib/math.in.h (modff): New declaration.
8180         * lib/modff.c: New file.
8181         * m4/modff.m4: New file.
8182         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
8183         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
8184         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
8185         * modules/modff: New file.
8186         * tests/test-math-c++.cc: Check the declaration of modff.
8187         * doc/posix-functions/modff.texi: Mention the new module.
8188
8189         modf tests: Make test sharper.
8190         * tests/test-modf.c (main): Strengthen upper bound.
8191
8192         modf: Use a .m4 file.
8193         * m4/modf.m4: New file.
8194         * modules/modf (Files): Add it.
8195         (configure.ac): Just invoke gl_FUNC_MODF.
8196
8197 2011-10-05  Bruno Haible  <bruno@clisp.org>
8198
8199         Tests for module 'fmodf'.
8200         * modules/fmodf-tests: New file.
8201         * tests/test-fmodf.c: New file.
8202
8203         New module 'fmodf'.
8204         * lib/math.in.h (fmodf): New declaration.
8205         * lib/fmodf.c: New file.
8206         * m4/fmodf.m4: New file.
8207         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
8208         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
8209         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
8210         * modules/fmodf: New file.
8211         * tests/test-math-c++.cc: Check the declaration of fmodf.
8212         * doc/posix-functions/fmodf.texi: Mention the new module.
8213
8214         fmod: Use a .m4 file.
8215         * m4/fmod.m4: New file.
8216         * modules/fmod (Files): Add it.
8217         (configure.ac): Just invoke gl_FUNC_FMOD.
8218
8219 2011-10-05  Bruno Haible  <bruno@clisp.org>
8220
8221         Tests for module 'fabsf'.
8222         * modules/fabsf-tests: New file.
8223         * tests/test-fabsf.c: New file.
8224
8225         New module 'fabsf'.
8226         * lib/math.in.h (fabsf): New declaration.
8227         * lib/fabsf.c: New file.
8228         * m4/fabsf.m4: New file.
8229         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
8230         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
8231         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
8232         * modules/fabsf: New file.
8233         * tests/test-math-c++.cc: Check the declaration of fabsf.
8234         * doc/posix-functions/fabsf.texi: Mention the new module.
8235
8236         fabs: Use a .m4 file.
8237         * m4/fabs.m4: New file.
8238         * modules/fabs (Files): Add it.
8239         (configure.ac): Just invoke gl_FUNC_FABS.
8240
8241 2011-10-05  Jim Meyering  <meyering@redhat.com>
8242
8243         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
8244         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
8245         ls -lL regression introduced in coreutils-8.12, it does so at the
8246         cost of an additional stat call in the common case.  Besides, now
8247         that the kernel change that prompted commit 95f7c57f has been reverted
8248         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
8249         we have no use for commit 95f7c57f, "file-has-acl: use
8250         acl_extended_file_nofollow if available".
8251
8252 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
8253
8254         file-has-acl: revert unintended change in behavior of ls -L
8255         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
8256         derived from...
8257         (file_has_acl): ...code here.  Call it.
8258         This problem was introduced with 2011-07-22 commit 95f7c57f,
8259         "file-has-acl: use acl_extended_file_nofollow if available".
8260         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
8261
8262 2011-10-03  Bruno Haible  <bruno@clisp.org>
8263
8264         poll: Avoid link errors on MSVC.
8265         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
8266         * modules/poll (Depends-on): Add sockets.
8267         (Link): New section.
8268         * NEWS: Mention the change.
8269         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
8270         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
8271         $(LIB_POLL) instead of $(LIBSOCKET).
8272
8273 2011-10-03  Bruno Haible  <bruno@clisp.org>
8274
8275         sys_select tests: Fix link error on MSVC 9.
8276         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
8277         with $(LIB_SELECT) instead of $(LIBSOCKET).
8278
8279 2011-10-03  Bruno Haible  <bruno@clisp.org>
8280
8281         sys_select: Fix compilation error on mingw.
8282         * lib/sys_select.in.h: On native Windows, include <io.h>.
8283
8284 2011-10-03  Bruno Haible  <bruno@clisp.org>
8285
8286         wmemset: Support for MSVC.
8287         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
8288         whether wmemset() exists.
8289
8290 2011-10-03  Bruno Haible  <bruno@clisp.org>
8291
8292         wmemmove: Support for MSVC.
8293         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
8294         whether wmemmove() exists.
8295
8296 2011-10-03  Bruno Haible  <bruno@clisp.org>
8297
8298         wmemcpy: Support for MSVC.
8299         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
8300         whether wmemcpy() exists.
8301
8302 2011-10-03  Bruno Haible  <bruno@clisp.org>
8303
8304         wmemcmp: Support for MSVC.
8305         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
8306         whether wmemcmp() exists.
8307
8308 2011-10-03  Bruno Haible  <bruno@clisp.org>
8309
8310         wmemchr: Support for MSVC.
8311         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
8312         whether wmemchr() exists.
8313
8314 2011-10-03  Bruno Haible  <bruno@clisp.org>
8315
8316         glthread/*, strsignal: Support for MSVC.
8317         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
8318         including <winsock.h> on MSVC 9.
8319         * lib/glthread/lock.h: Likewise.
8320         * lib/glthread/thread.h: Likewise.
8321         * lib/glthread/tls.h: Likewise.
8322         * lib/glthread/yield.h: Likewise.
8323         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
8324         if HAVE_UNISTD_H is false.
8325         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
8326
8327 2011-10-03  Bruno Haible  <bruno@clisp.org>
8328
8329         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
8330         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
8331         Set to 100000.
8332
8333 2011-10-03  Bruno Haible  <bruno@clisp.org>
8334
8335         acl: Fix specification.
8336         * lib/file-has-acl.c (file_has_acl): Fix specification.
8337
8338 2011-10-03  Bruno Haible  <bruno@clisp.org>
8339
8340         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
8341         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
8342         (compute_curr_prefix, shared_library_fullname,
8343         find_shared_library_fullname, get_shared_library_fullname, relocate):
8344         Use it together with PIC && INSTALLDIR.
8345         Reported by <jojelino@gmail.com>
8346         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
8347
8348 2011-10-01  Jim Meyering  <meyering@redhat.com>
8349
8350         maint.mk: adjust a release-related rule not to require use of gzip
8351         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
8352         Instead, check each file in $(DIST_ARCHIVES).  This is better for
8353         projects that build only .tar.xz files.  Also fix an erroneous test.
8354
8355         test-linkat: don't leave behind a temporary file
8356         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
8357         Otherwise, coreutils' "make distcheck" would fail with this:
8358           Only in /c/cu/tests/torture/coreutils/test/\
8359             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
8360           make[2]: *** [my-distcheck] Error 1
8361
8362         float, math: add omitted file
8363         * lib/itold.c: Add file, required for yesterday's float change.
8364
8365 2011-10-01  Bruno Haible  <bruno@clisp.org>
8366
8367         isinf: Fix for OpenBSD/x86.
8368         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
8369         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
8370         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
8371
8372 2011-10-01  Bruno Haible  <bruno@clisp.org>
8373
8374         isfinite: Fix syntax error in configure test.
8375         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
8376
8377         isfinite: Fix typo.
8378         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
8379         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
8380
8381 2011-10-01  Bruno Haible  <bruno@clisp.org>
8382
8383         nonblocking tests: Fix test failure on Linux/IA-64.
8384         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
8385         Set to 270000.
8386
8387 2011-10-01  Bruno Haible  <bruno@clisp.org>
8388
8389         mkfifoat tests: Fix a test failure on mingw.
8390         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
8391         with error ENOSYS.
8392
8393 2011-09-30  Bruno Haible  <bruno@clisp.org>
8394
8395         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
8396         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
8397         'long double'. Set REPLACE_ITOLD.
8398         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
8399         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
8400         * lib/itold.c: New file.
8401         * modules/float (Files): Add lib/itold.c.
8402         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
8403         (Makefile.am): Substitute REPLACE_ITOLD.
8404         * modules/math (Depends-on): Add float.
8405         (Makefile.am): Substitute REPLACE_ITOLD.
8406         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
8407         * doc/posix-headers/math.texi: Likewise.
8408         * doc/posix-functions/logl.texi: Likewise.
8409
8410 2011-09-30  Bruno Haible  <bruno@clisp.org>
8411
8412         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
8413         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
8414         Set to 140000.
8415
8416 2011-09-30  Bruno Haible  <bruno@clisp.org>
8417
8418         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
8419         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
8420         invocation, say "right after AC_PROG_CC_STDC", not "right after
8421         AC_PROG_CC".
8422         Reported by Gary V. Vaughan <gary@gnu.org>.
8423
8424 2011-09-30  Bruno Haible  <bruno@clisp.org>
8425
8426         Centralize C99 requirement.
8427         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
8428         * modules/stdarg (configure.ac-early): Invoke it instead of
8429         AC_PROG_CC_STDC.
8430         Reported by Gary V. Vaughan and Paul Eggert.
8431
8432 2011-09-29  Bruno Haible  <bruno@clisp.org>
8433
8434         float: Fix LDBL_MAX value on Linux/PowerPC.
8435         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
8436         on Linux/PowerPC.
8437         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
8438         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
8439         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
8440         platform.
8441         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
8442
8443 2011-09-29  Bruno Haible  <bruno@clisp.org>
8444
8445         doc: Improve doc about gl_EARLY.
8446         * doc/gnulib-tool.texi (Initial import): Mention where to place an
8447         AC_PROG_CC_STDC invocation.
8448         Reported by Gary V. Vaughan <gary@gnu.org>.
8449
8450 2011-09-28  Bruno Haible  <bruno@clisp.org>
8451
8452         fgetc, fputc, fread, fwrite tests: Fix link error.
8453         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
8454         on non-MSVC platforms.
8455         * tests/test-fputc.c (main): Likewise.
8456         * tests/test-fread.c (main): Likewise.
8457         * tests/test-fwrite.c (main): Likewise.
8458         Reported by Jim Meyering.
8459
8460 2011-09-27  Bruno Haible  <bruno@clisp.org>
8461
8462         fputc, fwrite tests: Avoid test failure on MSVC.
8463         * tests/test-fgetc.c: Include msvc-inval.h.
8464         (main): Invoke gl_msvc_inval_ensure_handler.
8465         * tests/test-fputc.c: Include msvc-inval.h.
8466         (main): Invoke gl_msvc_inval_ensure_handler.
8467         * tests/test-fread.c: Include msvc-inval.h.
8468         (main): Invoke gl_msvc_inval_ensure_handler.
8469         * tests/test-fwrite.c: Include msvc-inval.h.
8470         (main): Invoke gl_msvc_inval_ensure_handler.
8471         * modules/fgetc-tests (Depends-on): Add msvc-inval.
8472         * modules/fputc-tests (Depends-on): Likewise.
8473         * modules/fread-tests (Depends-on): Likewise.
8474         * modules/fwrite-tests (Depends-on): Likewise.
8475
8476 2011-09-27  Bruno Haible  <bruno@clisp.org>
8477
8478         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
8479         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
8480         (raise): Remove older, duplicated declaration.
8481         (_gl_raise_SIGPIPE): New declaration.
8482         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
8483         (rpl_raise): Remove function.
8484         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
8485         a gnulib-defined SIGPIPE here.
8486         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
8487         'sigprocmask' has detected missing signal-blocking and the module
8488         'sigpipe' is enabled.
8489         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
8490
8491 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
8492
8493         base64-tests: avoid memory leak
8494         * tests/test-base64.c (main): Plug memory leak.
8495
8496         base32: new module
8497         * modules/base32: New module.
8498         * lib/base32.c: New file.
8499         * lib/base32.h: Likewise.
8500         * m4/base32.m4: Likewise.
8501         * modules/base32-tests: New test.
8502         * tests/test-base32.c: Likewise.
8503         * MODULES.html.sh (Misc): Mention it.
8504
8505 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
8506
8507         gnulib: use more-standard license notice wording
8508         * gnulib-tool (func_emit_copyright_notice): When emitting a
8509         license notice into a file, use the standard wording as suggested
8510         by the current information for GNU maintainers, except say "file"
8511         rather than "program".  The new wording gives a license version
8512         number, which addresses an issue raised by Glenn Morris in
8513         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
8514         * m4/onceonly.m4: Use that same wording here, too.
8515
8516         dup2: minor simplification
8517         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
8518         as lib/dup2.c no longer uses 'inline'.
8519
8520 2011-09-25  Bruno Haible  <bruno@clisp.org>
8521
8522         strings: Fix compilation error on MSVC.
8523         * lib/strings.in.h: Include <stddef.h> for size_t.
8524
8525 2011-09-25  Bruno Haible  <bruno@clisp.org>
8526
8527         fflush et al.: Document limitation on MSVC.
8528         * doc/posix-functions/fflush.texi: Document possible crash in handling
8529         mode other than DEFAULT_HANDLING.
8530         * doc/posix-functions/fgetc.texi: Likewise.
8531         * doc/posix-functions/fputc.texi: Likewise.
8532         * doc/posix-functions/fread.texi: Likewise.
8533         * doc/posix-functions/fwrite.texi: Likewise.
8534
8535 2011-09-25  Bruno Haible  <bruno@clisp.org>
8536
8537         msvc-inval: Allow three invalid parameter handling modes.
8538         * lib/msvc-inval.h: Don't include <stdlib.h> here.
8539         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
8540         macros.
8541         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
8542         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
8543         SANE_LIBRARY_HANDLING as a no-op.
8544         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
8545         <stdlib.h>.
8546         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
8547
8548 2011-09-25  Bruno Haible  <bruno@clisp.org>
8549
8550         msvc-inval: Make handler multithread-safe.
8551         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
8552         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
8553         declarations.
8554         (gl_msvc_inval_current): New declaration.
8555         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
8556         Operate on the structure returned by gl_msvc_inval_current().
8557         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
8558         Remove varaiables.
8559         (tls_index, tls_initialized): New variables.
8560         (not_per_thread): New variable.
8561         (gl_msvc_inval_current): New function.
8562         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
8563         returned by gl_msvc_inval_current().
8564
8565 2011-09-25  Bruno Haible  <bruno@clisp.org>
8566
8567         msvc-inval: Install handler globally.
8568         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
8569         !_MSC_VER.
8570         (gl_msvc_invalid_parameter_handler): Remove declaration.
8571         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
8572         declarations.
8573         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
8574         Install the handler globally, don't uninstall it.
8575         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
8576         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
8577         currently valid, call RaiseException instead.
8578         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
8579         for !_MSC_VER.
8580
8581 2011-09-25  Bruno Haible  <bruno@clisp.org>
8582
8583         strerror_r-posix: Fix for MSVC 9.
8584         * lib/strerror_r.c (local_snprintf): New function.
8585         (snprintf): Define to local_snprintf, not to _snprintf.
8586
8587 2011-09-25  Bruno Haible  <bruno@clisp.org>
8588
8589         ftruncate: Support for MSVC 9.
8590         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
8591         (chsize_nothrow): New function.
8592         (chsize): Redefine as a macro.
8593         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
8594         * modules/ftruncate (Depends-on): Add msvc-inval.
8595
8596 2011-09-25  Bruno Haible  <bruno@clisp.org>
8597
8598         New module 'fstat'.
8599         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
8600         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
8601         * lib/fchdir.c (rpl_fstat): Remove function.
8602         * m4/fstat.m4: New file.
8603         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
8604         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
8605         declared.
8606         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
8607         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
8608         * modules/fstat: New file.
8609         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
8610         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
8611         is set.
8612         * doc/posix-functions/fstat.texi: Mention the new module and the
8613         problem on MSVC.
8614         * NEWS: Mention the change.
8615         * modules/acl (Depends-on): Add fstat.
8616         * modules/chdir-safer (Depends-on): Likewise.
8617         * modules/chown (Depends-on): Likewise.
8618         * modules/copy-file (Depends-on): Likewise.
8619         * modules/fchdir (Depends-on): Likewise.
8620         * modules/fdopendir (Depends-on): Likewise.
8621         * modules/fopen (Depends-on): Likewise.
8622         * modules/fts (Depends-on): Likewise.
8623         * modules/getcwd (Depends-on): Likewise.
8624         * modules/isapipe (Depends-on): Likewise.
8625         * modules/linkat (Depends-on): Likewise.
8626         * modules/lseek (Depends-on): Likewise.
8627         * modules/mkdir-p (Depends-on): Likewise.
8628         * modules/open (Depends-on): Likewise.
8629         * modules/openat (Depends-on): Likewise.
8630         * modules/read-file (Depends-on): Likewise.
8631         * modules/renameat (Depends-on): Likewise.
8632         * modules/utimens (Depends-on): Likewise.
8633
8634 2011-09-25  Bruno Haible  <bruno@clisp.org>
8635
8636         linkat: Fix compilation on MSVC 9.
8637         * lib/linkat.c: Don't include <stdint.h>.
8638
8639 2011-09-25  Bruno Haible  <bruno@clisp.org>
8640
8641         fclose: Support for MSVC 9.
8642         * lib/fclose.c: Include msvc-inval.h.
8643         (fclose_nothrow): New function.
8644         (rpl_fclose): Use it.
8645         * modules/fclose (Depends-on): Add msvc-inval.
8646         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
8647
8648 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
8649
8650         dup2: minor simplifications
8651         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
8652         that it's a performance win.
8653         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
8654         ! defined __CYGWIN__)" to "ifdef F_GETFL".
8655
8656 2011-09-24  Jim Meyering  <meyering@redhat.com>
8657
8658         test-futimens: avoid a warning from gcc -Wshadow
8659         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
8660         to avoid a shadowing warning.
8661
8662 2011-09-24  Bruno Haible  <bruno@clisp.org>
8663
8664         fdopen: Support for MSVC 9.
8665         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
8666         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
8667         * lib/fdopen.c: Include msvc-inval.h.
8668         (fdopen_nothrow): New function.
8669         (rpl_fdopen): Use it.
8670         * modules/fdopen (Depends-on): Add msvc-inval.
8671         * modules/fclose-tests (Depends-on): Add fdopen.
8672         * modules/fflush-tests (Depends-on): Likewise.
8673         * modules/fgetc-tests (Depends-on): Likewise.
8674         * modules/fputc-tests (Depends-on): Likewise.
8675         * modules/fread-tests (Depends-on): Likewise.
8676         * modules/freopen-tests (Depends-on): Likewise.
8677         * modules/fseeko-tests (Depends-on): Likewise.
8678         * modules/ftello-tests (Depends-on): Likewise.
8679         * modules/fwrite-tests  (Depends-on): Likewise.
8680         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
8681
8682 2011-09-24  Bruno Haible  <bruno@clisp.org>
8683
8684         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
8685         * modules/fgetc-tests (Depends-on): Add unistd.
8686         * modules/fputc-tests (Depends-on): Likewise.
8687         * modules/fread-tests (Depends-on): Likewise.
8688         * modules/fwrite-tests (Depends-on): Likewise.
8689
8690 2011-09-24  Bruno Haible  <bruno@clisp.org>
8691
8692         dup: Simplify autoconf test.
8693         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
8694         on gl_MSVC_INVAL's result.
8695
8696 2011-09-24  Bruno Haible  <bruno@clisp.org>
8697
8698         Tests for function fwrite().
8699         * modules/fwrite-tests: New file.
8700         * tests/test-fwrite.c: New file.
8701         * modules/stdio-tests (Depends-on): Add fwrite-tests.
8702
8703         Tests for function fread().
8704         * modules/fread-tests: New file.
8705         * tests/test-fread.c: New file.
8706         * modules/stdio-tests (Depends-on): Add fread-tests.
8707
8708         Activate fputc tests.
8709         * modules/stdio-tests (Depends-on): Add fputc-tests.
8710
8711         Enhance fgetc, fputc tests.
8712         * tests/test-fgetc.c (main): Also test the stream's error indicator.
8713         * tests/test-fputc.c (main): Likewise.
8714
8715 2011-09-24  Bruno Haible  <bruno@clisp.org>
8716
8717         write: Support for MSVC 9.
8718         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
8719         is not 1.
8720         * lib/write.c (write_nothrow): New function.
8721         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
8722         not 1. Use write_nothrow.
8723         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
8724         invalid parameter handler.
8725         (gl_PREREQ_WRITE): New macro.
8726         * modules/write (Depends-on): Add msvc-inval.
8727         (configure.ac): Invoke gl_PREREQ_WRITE.
8728         * doc/posix-functions/write.texi: Mention the problem on MSVC.
8729
8730 2011-09-24  Bruno Haible  <bruno@clisp.org>
8731
8732         read: Fix last commit.
8733         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
8734
8735 2011-09-24  Bruno Haible  <bruno@clisp.org>
8736
8737         dup2: Fix last commit.
8738         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
8739         (rpl_dup2): Disable fcntl workaround on native Windows.
8740
8741         sigprocmask: Make code safer.
8742         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
8743         section that changes macro definitions for this compilation unit.
8744
8745 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
8746
8747         dup2: clarify by coalescing Windows-specific material
8748         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
8749         "msvc-nothrow.h"' to the Windows-specific section, so that the
8750         Emacs source need not contain these include files.
8751         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
8752         Windows-specific fixes into this function rather than just the
8753         nothrow fix, as this shortens and clarifies the code.  Always
8754         define as a function, as that's a bit cleaner than having it be
8755         sometimes a function and sometimes a macro.
8756         (rpl_dup2): Move the Windows-specific stuff out of here and into
8757         ms_windows_dup2.  Don't protect the Haiku-related fix with
8758         "#if !defined __linux__", as the same code also works around
8759         a Linux kernel bug, and it doesn't add any system calls on any
8760         platform.  Add comment about FreeBSD 6.1.
8761
8762         sigprocmask: move #include directive
8763         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
8764         Windows-specific section, so that the Emacs source need not
8765         contain msvc-inval.h.
8766
8767 2011-09-23  Bruno Haible  <bruno@clisp.org>
8768
8769         read: Support for MSVC 9.
8770         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
8771         is not 1.
8772         * lib/read.c (read_nothrow): New function.
8773         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
8774         read_nothrow.
8775         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
8776         invalid parameter handler.
8777         (gl_PREREQ_READ): New macro.
8778         * modules/read (Depends-on): Add msvc-inval.
8779         (configure.ac): Invoke gl_PREREQ_READ.
8780         * doc/posix-functions/read.texi: Mention the problem on MSVC.
8781
8782 2011-09-23  Bruno Haible  <bruno@clisp.org>
8783
8784         close: Support for MSVC 9.
8785         * lib/close.c: Include <errno.h>, msvc-inval.h.
8786         (close_nothrow): New function.
8787         (rpl_close): Use it.
8788         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
8789         invalid parameter handler.
8790         * modules/close (Depends-on): Add msvc-inval.
8791         * modules/dup2-tests (Depends-on): Add close.
8792         * modules/dup3-tests (Depends-on): Likewise.
8793         * modules/fcntl-tests (Depends-on): Likewise.
8794         * modules/spawn-pipe-tests (Depends-on): Likewise.
8795         * modules/unistd-safer-tests (Depends-on): Likewise.
8796         * doc/posix-functions/close.texi: Mention the problem on MSVC.
8797
8798 2011-09-23  Bruno Haible  <bruno@clisp.org>
8799
8800         New module 'dup'.
8801         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
8802         Allow replacement.
8803         * lib/dup.c: New file.
8804         * lib/fchdir.c (rpl_dup): Remove function.
8805         * m4/dup.m4: New file.
8806         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
8807         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
8808         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
8809         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
8810         * modules/dup: New file.
8811         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
8812         'dup' module is in use.
8813         * modules/fdopendir (Depends-on): Add dup.
8814         * modules/fdutimensat-tests (Depends-on): Likewise.
8815         * modules/fts (Depends-on): Likewise.
8816         * modules/futimens-tests (Depends-on): Likewise.
8817         * modules/posix_spawnp-tests (Depends-on): Likewise.
8818         * modules/unistd-safer-tests (Depends-on): Likewise.
8819         * modules/utimens-tests (Depends-on): Likewise.
8820         * doc/posix-functions/dup.texi: Mention the new module and the problem
8821         on MSVC.
8822
8823 2011-09-23  Bruno Haible  <bruno@clisp.org>
8824
8825         getdtablesize: Support for MSVC 9.
8826         * lib/getdtablesize.c: Include msvc-inval.h.
8827         (_setmaxstdio_nothrow): New function.
8828         (_setmaxstdio): Redefine it.
8829         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
8830         * modules/getdtablesize (Depends-on): Add msvc-inval.
8831         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
8832
8833 2011-09-23  Bruno Haible  <bruno@clisp.org>
8834
8835         signal-h: Rename from signal.
8836         * modules/signal-h: Renamed from modules/signal.
8837         * modules/pthread_sigmask (Depends-on): Update.
8838         * modules/raise (Depends-on): Likewise.
8839         * modules/sigaction (Depends-on): Likewise.
8840         * modules/sigpipe (Depends-on): Likewise.
8841         * modules/sigprocmask (Depends-on): Likewise.
8842         * modules/sys_select (Depends-on): Likewise.
8843         * modules/signal-h-tests: Renamed from modules/signal-tests.
8844         (Files, Depends-on, Makefile.am): Update.
8845         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
8846         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
8847         (Files, Makefile.am): Update.
8848         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
8849         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
8850         * modules/signal: New placeholder file.
8851         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
8852         * doc/posix-headers/signal.texi: Update.
8853         * NEWS: Mention the change.
8854
8855 2011-09-23  Bruno Haible  <bruno@clisp.org>
8856
8857         sigprocmask: Avoid crashes through signal() on MSVC 9.
8858         * lib/sigprocmask.c: Include msvc-inval.h.
8859         (signal_nothrow): New function.
8860         (signal): Redefine it.
8861         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
8862         * modules/sigprocmask (Depends-on): Add msvc-inval.
8863         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
8864
8865 2011-09-23  Bruno Haible  <bruno@clisp.org>
8866
8867         Tests for module 'raise'.
8868         * modules/raise-tests: New file.
8869         * tests/test-raise.c: New file.
8870
8871         raise: Support for MSVC.
8872         * lib/signal.in.h (raise): New declaration.
8873         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
8874         for native Windows platforms.
8875         * m4/raise.m4: New file.
8876         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
8877         HAVE_RAISE, REPLACE_RAISE.
8878         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
8879         REPLACE_RAISE.
8880         * modules/raise (Status, Notice): Remove fields.
8881         (Files): Add m4/raise.m4.
8882         (Depends-on): Add signal, msvc-inval.
8883         (configure.ac): Use the common idioms.
8884         (Maintainer): Add me.
8885         * tests/test-signal-c++.cc: Check the signature of raise.
8886         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
8887
8888 2011-09-23  Bruno Haible  <bruno@clisp.org>
8889
8890         pipe2: Fix compilation on pre-C99 compilers.
8891         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
8892
8893 2011-09-23  Bruno Haible  <bruno@clisp.org>
8894
8895         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
8896         * lib/msvc-nothrow.h: New file.
8897         * lib/msvc-nothrow.c: New file.
8898         * m4/msvc-nothrow.m4: New file.
8899         * modules/msvc-nothrow: New file.
8900         * lib/dup2.c: Include msvc-nothrow.h.
8901         (rpl_dup2): No need to protect _get_osfhandle call here.
8902         * lib/accept4.c: Include msvc-nothrow.h.
8903         * lib/error.c: Likewise.
8904         * lib/fcntl.c: Likewise.
8905         * lib/lseek.c: Likewise.
8906         * lib/nonblocking.c: Likewise.
8907         * lib/poll.c: Likewise.
8908         * lib/read.c: Likewise.
8909         * lib/select.c: Likewise.
8910         * lib/sockets.h: Likewise.
8911         * lib/sockets.c: Likewise.
8912         * lib/stdio-read.c: Likewise.
8913         * lib/stdio-write.c: Likewise.
8914         * lib/write.c: Likewise.
8915         * lib/w32sock.h: Likewise.
8916         * lib/w32spawn.h: Likewise.
8917         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
8918         * lib/fsync.c: Likewise.
8919         * lib/isapipe.c: Likewise.
8920         * modules/dup2 (Depends-on): Add msvc-nothrow.
8921         * modules/accept4 (Depends-on): Likewise.
8922         * modules/error (Depends-on): Likewise.
8923         * modules/fcntl (Depends-on): Likewise.
8924         * modules/lseek (Depends-on): Likewise.
8925         * modules/nonblocking (Depends-on): Likewise.
8926         * modules/poll (Depends-on): Likewise.
8927         * modules/read (Depends-on): Likewise.
8928         * modules/select (Depends-on): Likewise.
8929         * modules/sockets (Depends-on): Likewise.
8930         * modules/sigpipe (Depends-on): Likewise.
8931         * modules/write (Depends-on): Likewise.
8932         * modules/accept (Depends-on): Likewise.
8933         * modules/bind (Depends-on): Likewise.
8934         * modules/connect (Depends-on): Likewise.
8935         * modules/gethostname (Depends-on): Likewise.
8936         * modules/getpeername (Depends-on): Likewise.
8937         * modules/getsockname (Depends-on): Likewise.
8938         * modules/getsockopt (Depends-on): Likewise.
8939         * modules/ioctl (Depends-on): Likewise.
8940         * modules/listen (Depends-on): Likewise.
8941         * modules/recv (Depends-on): Likewise.
8942         * modules/recvfrom (Depends-on): Likewise.
8943         * modules/send (Depends-on): Likewise.
8944         * modules/sendto (Depends-on): Likewise.
8945         * modules/setsockopt (Depends-on): Likewise.
8946         * modules/shutdown (Depends-on): Likewise.
8947         * modules/socket (Depends-on): Likewise.
8948         * modules/execute (Depends-on): Likewise.
8949         * modules/spawn-pipe (Depends-on): Likewise.
8950         * modules/flock (Depends-on): Likewise.
8951         * modules/fsync (Depends-on): Likewise.
8952         * modules/isapipe (Depends-on): Likewise.
8953         * tests/test-cloexec.c: Include msvc-nothrow.h.
8954         * tests/test-dup-safer.c: Likewise.
8955         * tests/test-dup2.c: Likewise.
8956         * tests/test-dup3.c: Likewise.
8957         * tests/test-fcntl.c: Likewise.
8958         * tests/test-pipe.c: Likewise.
8959         * tests/test-pipe2.c: Likewise.
8960         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
8961         * modules/unistd-safer-tests (Depends-on): Likewise.
8962         * modules/dup2-tests (Depends-on): Likewise.
8963         * modules/dup3-tests (Depends-on): Likewise.
8964         * modules/fcntl-tests (Depends-on): Likewise.
8965         * modules/pipe-posix-tests (Depends-on): Likewise.
8966         * modules/pipe2-tests (Depends-on): Likewise.
8967
8968 2011-09-23  Bruno Haible  <bruno@clisp.org>
8969
8970         dup2: Make code more maintainable.
8971         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
8972         (rpl_dup2): Use it.
8973         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
8974         * modules/dup2 (configure.ac): Invoke it.
8975         Reported by Paul Eggert.
8976
8977 2011-09-23  Bruno Haible  <bruno@clisp.org>
8978
8979         msvc-inval: Fix compilation error.
8980         * lib/msvc-inval.h: Include <excpt.h>.
8981
8982 2011-09-23  Bruno Haible  <bruno@clisp.org>
8983
8984         mkdir: Tweak for MSVC 9.
8985         * lib/sys_stat.in.h: Update comments.
8986         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
8987
8988         Tests for module 'chdir'.
8989         * modules/chdir-tests: New file.
8990         * tests/test-chdir.c: New file.
8991
8992         New module 'chdir'.
8993         * modules/chdir: New file.
8994         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
8995         (chdir): New declaration.
8996         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
8997         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
8998         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
8999         * tests/test-unistd-c++.cc: Check signature of chdir.
9000         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
9001         * modules/chdir-long (Depends-on): Add chdir.
9002         * modules/fchdir (Depends-on): Likewise.
9003         * modules/rename (Depends-on): Likewise.
9004         * modules/savewd (Depends-on): Likewise.
9005
9006         rmdir: Support for mingw, MSVC 9.
9007         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
9008         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
9009
9010         getcwd: Tweak for MSVC 9.
9011         * lib/unistd.in.h: Update comments.
9012         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
9013
9014 2011-09-22  Bruno Haible  <bruno@clisp.org>
9015
9016         strerror_r-posix: Avoid a link error on MSVC.
9017         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
9018         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
9019
9020 2011-09-22  Bruno Haible  <bruno@clisp.org>
9021
9022         select: Avoid link errors on MSVC.
9023         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
9024         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
9025         * modules/pselect (Link): Likewise.
9026         * NEWS: Mention the change.
9027         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
9028         test-select-stdin against $(LIB_SELECT).
9029         * modules/pselect-tests (Makefile.am): Link test-pselect against
9030         $(LIB_SELECT).
9031
9032 2011-09-22  Bruno Haible  <bruno@clisp.org>
9033
9034         select: Avoid compilation error on MSVC.
9035         * lib/select.c: Don't include <stdbool.h>.
9036
9037 2011-09-21  Bruno Haible  <bruno@clisp.org>
9038
9039         Consolidate all uses of PATH_MAX in *.m4 files.
9040         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
9041         macros.
9042         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
9043         and gl_PATHMAX_SNIPPET.
9044         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
9045         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
9046         * modules/chdir-long (Files): Add m4/pathmax.m4.
9047         * modules/getcwd (Files): Likewise.
9048
9049 2011-09-21  Bruno Haible  <bruno@clisp.org>
9050
9051         ftruncate: Un-deprecate, concentrate on Win32 support.
9052         * modules/ftruncate (Status, Notice): Remove sections.
9053         (Depends-on): Add largefile.
9054         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
9055         non-mingw platforms.
9056         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
9057         include <io.h>.
9058         * modules/perror-tests (Depends-on): Add ftruncate.
9059         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
9060         'ftruncate' module.
9061
9062 2011-09-21  Bruno Haible  <bruno@clisp.org>
9063
9064         Add dependencies to new dirent related modules.
9065         * modules/opendir (Depends-on): Add closedir.
9066         * modules/getcwd (Depends-on): Add opendir, closedir.
9067         * modules/dirent-safer-tests (Depends-on): Likewise.
9068         * modules/fdopendir-tests (Depends-on): Likewise.
9069         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
9070         * modules/renameat-tests (Depends-on): Likewise.
9071
9072 2011-09-21  Bruno Haible  <bruno@clisp.org>
9073
9074         opendir: Avoid compilation error on mingw.
9075         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
9076         * modules/opendir (Depends-on): Add unistd.
9077
9078 2011-09-21  Bruno Haible  <bruno@clisp.org>
9079
9080         ftruncate tests: Avoid a test failure on mingw.
9081         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
9082
9083 2011-09-21  Bruno Haible  <bruno@clisp.org>
9084
9085         select tests: Avoid test failures on OSF/1 5.1 and mingw.
9086         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
9087         native Windows.
9088
9089 2011-09-21  Bruno Haible  <bruno@clisp.org>
9090
9091         New module 'fdopen'.
9092         * lib/stdio.in.h (fdopen): New declaration.
9093         * lib/fdopen.c: New file.
9094         * m4/fdopen.m4: New file.
9095         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
9096         REPLACE_FDOPEN.
9097         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
9098         REPLACE_FDOPEN.
9099         * modules/fdopen: New file.
9100         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
9101         * tests/test-stdio-c++.cc: Check signature of fdopen.
9102         * doc/posix-functions/fdopen.texi: Mention the new module.
9103
9104 2011-09-21  Bruno Haible  <bruno@clisp.org>
9105
9106         unlockpt tests: Avoid test failure on NetBSD 5.1.
9107         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
9108         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
9109
9110 2011-09-21  Bruno Haible  <bruno@clisp.org>
9111
9112         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
9113         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
9114         * tests/test-getlogin_r.c (main): Likewise.
9115
9116 2011-09-20  Bruno Haible  <bruno@clisp.org>
9117
9118         time tests: Don't require pid_t.
9119         * doc/posix-headers/time.texi: Revert last change.
9120         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
9121         * tests/test-time.c: Comment out the check for pid_t.
9122
9123 2011-09-20  Bruno Haible  <bruno@clisp.org>
9124
9125         fsync tests: Avoid a test failure on mingw.
9126         * tests/test-fsync.c (main): Allow a failure with EIO.
9127
9128 2011-09-20  Bruno Haible  <bruno@clisp.org>
9129
9130         euidaccess: Update comments.
9131         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
9132
9133 2011-09-20  Bruno Haible  <bruno@clisp.org>
9134
9135         Ensure EBADF returns for socket functions on mingw.
9136         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
9137         descriptor is invalid.
9138         * lib/bind.c (rpl_bind): Likewise.
9139         * lib/connect.c (rpl_connect): Likewise.
9140         * lib/getpeername.c (rpl_getpeername): Likewise.
9141         * lib/getsockname.c (rpl_getsockname): Likewise.
9142         * lib/getsockopt.c (rpl_getsockopt): Likewise.
9143         * lib/listen.c (rpl_listen): Likewise.
9144         * lib/recv.c (rpl_recv): Likewise.
9145         * lib/recvfrom.c (rpl_recvfrom): Likewise.
9146         * lib/send.c (rpl_send): Likewise.
9147         * lib/sendto.c (rpl_sendto): Likewise.
9148         * lib/setsockopt.c (rpl_setsockopt): Likewise.
9149         * lib/shutdown.c (rpl_shutdown): Likewise.
9150
9151 2011-09-20  Bruno Haible  <bruno@clisp.org>
9152
9153         select tests: EBADF tests.
9154         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
9155         test_bad_fd): New functions.
9156         (test_function): Invoke also test_bad_fd.
9157
9158 2011-09-20  Bruno Haible  <bruno@clisp.org>
9159
9160         Tests for module 'posix_spawn_file_actions_addopen.
9161         * modules/posix_spawn_file_actions_addopen-tests: New file.
9162         * tests/test-posix_spawn_file_actions_addopen.c: New file.
9163
9164         Tests for module 'posix_spawn_file_actions_adddup2'.
9165         * modules/posix_spawn_file_actions_adddup2-tests: New file.
9166         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
9167
9168         Tests for module 'posix_spawn_file_actions_addclose'.
9169         * modules/posix_spawn_file_actions_addclose-tests: New file.
9170         * tests/test-posix_spawn_file_actions_addclose.c: New file.
9171
9172 2011-09-20  Bruno Haible  <bruno@clisp.org>
9173
9174         Tests for module 'unlockpt'.
9175         * modules/unlockpt-tests: New file.
9176         * tests/test-unlockpt.c: New file.
9177         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
9178
9179         Tests for module 'grantpt'.
9180         * modules/grantpt-tests: New file.
9181         * tests/test-grantpt.c: New file.
9182         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
9183
9184 2011-09-20  Bruno Haible  <bruno@clisp.org>
9185
9186         freopen tests: EBADF tests.
9187         * tests/test-freopen.c: Include errno.h, unistd.h.
9188         (main): Add tests for EBADF, commented out for the moment.
9189
9190         fclose tests: EBADF tests.
9191         * tests/test-fclose.c (main): Add tests for EBADF.
9192
9193         fflush tests: EBADF tests.
9194         * tests/test-fflush.c: Include errno.h, macros.h.
9195         (main): Add tests for EBADF.
9196
9197         ftello tests: EBADF tests.
9198         * tests/test-ftello4.sh: New file.
9199         * tests/test-ftello4.c: New file.
9200         * modules/ftello-tests (Files): Add them.
9201         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
9202
9203         fseeko tests: EBADF tests.
9204         * tests/test-fseeko4.sh: New file.
9205         * tests/test-fseeko4.c: New file.
9206         * modules/fseeko-tests (Files): Add them.
9207         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
9208
9209         Tests for function fputc().
9210         * modules/fputc-tests: New file.
9211         * tests/test-fputc.c: New file.
9212         * modules/stdio-tests (Depends-on): Add fputc-tests.
9213
9214         Tests for function fgetc().
9215         * modules/fgetc-tests: New file.
9216         * tests/test-fgetc.c: New file.
9217         * modules/stdio-tests (Depends-on): Add fgetc-tests.
9218
9219         Tests for function fdopen().
9220         * modules/fdopen-tests: New file.
9221         * tests/test-fdopen.c: New file.
9222         * modules/stdio-tests (Depends-on): Add fdopen-tests.
9223
9224         Tests for module 'vdprintf'.
9225         * modules/vdprintf-tests: New file.
9226         * tests/test-vdprintf.c: New file.
9227
9228         Tests for module 'dprintf'.
9229         * modules/dprintf-tests: New file.
9230         * tests/test-dprintf.c: New file.
9231
9232 2011-09-20  Bruno Haible  <bruno@clisp.org>
9233
9234         Tests for module 'ioctl'.
9235         * modules/ioctl-tests: New file.
9236         * tests/test-ioctl.c: New file.
9237
9238 2011-09-20  Bruno Haible  <bruno@clisp.org>
9239
9240         fcntl tests: EBADF tests.
9241         * tests/test-fcntl.c (main): Add more tests for EBADF.
9242
9243 2011-09-20  Bruno Haible  <bruno@clisp.org>
9244
9245         utimensat tests: EBADF tests.
9246         * tests/test-utimensat.c (main): Add tests for EBADF.
9247
9248         renameat tests: EBADF tests.
9249         * tests/test-renameat.c (main): Add tests for EBADF.
9250
9251         mkfifoat tests: EBADF tests.
9252         * tests/test-mkfifoat.c (main): Add tests for EBADF.
9253
9254         readlinkat tests: EBADF tests.
9255         * tests/test-readlinkat.c (main): Add tests for EBADF.
9256
9257         symlinkat tests: EBADF tests.
9258         * tests/test-symlinkat.c (main): Add tests for EBADF.
9259
9260         linkat tests: EBADF tests.
9261         * tests/test-linkat.c (main): Add tests for EBADF.
9262
9263         Tests for module 'faccessat'.
9264         * modules/faccessat-tests: New file.
9265         * tests/test-faccessat.c: New file.
9266
9267         fdopendir tests: EBADF tests.
9268         * tests/test-fdopendir.c (main): Add more tests for EBADF.
9269
9270         openat tests: EBADF tests.
9271         * tests/test-fchownat.c (main): Add tests for EBADF.
9272         * tests/test-fstatat.c (main): Likewise.
9273         * tests/test-mkdirat.c (main): Likewise.
9274         * tests/test-openat.c (main): Likewise.
9275         * tests/test-unlinkat.c (main): Likewise.
9276         * tests/test-fchmodat.c: New file.
9277         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
9278         (Makefile.am): Also run 'test-fchmodat'.
9279
9280 2011-09-20  Bruno Haible  <bruno@clisp.org>
9281
9282         utimens, futimens, fdutimensat tests: EBADF tests.
9283         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
9284
9285         Tests for function fstat().
9286         * modules/fstat-tests: New file.
9287         * tests/test-fstat.c: New file.
9288         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
9289
9290 2011-09-20  Bruno Haible  <bruno@clisp.org>
9291
9292         test-ttyname_r tests: EBADF tests.
9293         * tests/test-ttyname_r.c (main): Add tests for EBADF.
9294
9295         Tests for module 'isatty'.
9296         * modules/isatty-tests: New file.
9297         * tests/test-isatty.c: New file.
9298
9299         Tests for module 'write'.
9300         * modules/write-tests: New file.
9301         * tests/test-write.c: New file.
9302
9303         Tests for module 'read'.
9304         * modules/read-tests: New file.
9305         * tests/test-read.c: New file.
9306
9307         pwrite tests: EBADF tests.
9308         * tests/test-pwrite.c (main): Add tests for EBADF.
9309
9310         pread tests: EBADF tests.
9311         * tests/test-pread.c (main): Add tests for EBADF.
9312
9313         lseek tests: EBADF tests.
9314         * tests/test-lseek.c (main): Add more tests for EBADF.
9315
9316         Tests for module 'ftruncate'.
9317         * modules/ftruncate-tests: New file.
9318         * tests/test-ftruncate.sh: New file.
9319         * tests/test-ftruncate.c: New file.
9320
9321         fsync tests: EBADF tests.
9322         * tests/test-fsync.c (main): Add more tests for EBADF.
9323
9324         fdatasync tests: EBADF tests.
9325         * tests/test-fdatasync.c (main): Add more tests for EBADF.
9326
9327         Tests for module 'fchown'.
9328         * modules/fchown-tests: New file.
9329         * tests/test-fchown.c: New file.
9330
9331         Tests for module 'fchmod'.
9332         * modules/fchmod-tests: New file.
9333         * tests/test-fchmod.c: New file.
9334
9335         fchdir tests: EBADF tests.
9336         * tests/test-fchdir.c (main): Add more tests for EBADF.
9337
9338         dup2 tests: EBADF tests.
9339         * tests/test-dup2.c (main): Add more tests for EBADF.
9340
9341         Tests for module 'dup'.
9342         * modules/dup-tests: New file.
9343         * tests/test-dup.c: New file.
9344
9345         Tests for module 'close'.
9346         * modules/close-tests: New file.
9347         * tests/test-close.c: New file.
9348
9349 2011-09-20  Bruno Haible  <bruno@clisp.org>
9350
9351         Tests for module 'shutdown'.
9352         * modules/shutdown-tests: New file.
9353         * tests/test-shutdown.c: New file.
9354
9355         Tests for module 'setsockopt'.
9356         * modules/setsockopt-tests: New file.
9357         * tests/test-setsockopt.c: New file.
9358
9359         Tests for module 'sendto'.
9360         * modules/sendto-tests: New file.
9361         * tests/test-sendto.c: New file.
9362
9363         Tests for module 'send'.
9364         * modules/send-tests: New file.
9365         * tests/test-send.c: New file.
9366
9367         Tests for module 'recvfrom'.
9368         * modules/recvfrom-tests: New file.
9369         * tests/test-recvfrom.c: New file.
9370
9371         Tests for module 'recv'.
9372         * modules/recv-tests: New file.
9373         * tests/test-recv.c: New file.
9374
9375         Tests for module 'listen'.
9376         * modules/listen-tests: New file.
9377         * tests/test-listen.c: New file.
9378
9379         Tests for module 'getsockopt'.
9380         * modules/getsockopt-tests: New file.
9381         * tests/test-getsockopt.c: New file.
9382
9383         Tests for module 'getsockname'.
9384         * modules/getsockname-tests: New file.
9385         * tests/test-getsockname.c: New file.
9386
9387         Tests for module 'getpeername'.
9388         * modules/getpeername-tests: New file.
9389         * tests/test-getpeername.c: New file.
9390
9391         Tests for module 'connect'.
9392         * modules/connect-tests: New file.
9393         * tests/test-connect.c: New file.
9394
9395         Tests for module 'bind'.
9396         * modules/bind-tests: New file.
9397         * tests/test-bind.c: New file.
9398
9399         accept4 tests: Fix for native Windows.
9400         * tests/test-accept4.c: Include sockets.h.
9401         (main): Invoke gl_sockets_startup.
9402         * modules/accept4-tests (Depends-on): Add sockets.
9403
9404         accept tests: Fix for native Windows.
9405         * tests/test-accept.c: Include sockets.h.
9406         (main): Invoke gl_sockets_startup.
9407         * modules/accept-tests (Depends-on): Add sockets.
9408
9409 2011-09-19  Bruno Haible  <bruno@clisp.org>
9410
9411         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
9412         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
9413         do...while(0).
9414         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
9415         Suggested by Paul Eggert.
9416
9417 2011-09-19  Bruno Haible  <bruno@clisp.org>
9418
9419         sched: Ensure pid_t is defined.
9420         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
9421         not define pid_t.
9422         * lib/sched.in.h: Include <sys/types.h>.
9423         * doc/posix-headers/sched.texi: Mention the pid_t problem.
9424         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9425
9426 2011-09-19  Bruno Haible  <bruno@clisp.org>
9427
9428         msvc-inval: Ensure the entire expansion is a single statement.
9429         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
9430         of braces.
9431
9432 2011-09-19  Jim Meyering  <meyering@redhat.com>
9433
9434         tests: use printf, not echo in init.sh's warn_ function
9435         * tests/init.sh (warn_): Use printf, not echo.  The latter would
9436         misbehave when given strings containing a backslash or starting
9437         with e.g., -n.  James Youngman suggested setting IFS.
9438
9439 2011-09-19  Eric Blake  <eblake@redhat.com>
9440
9441         futimens: enhance test
9442         * tests/test-futimens.h (test_futimens): Also check for EBADF on
9443         closed non-negative fd.
9444
9445         date: accept 'hence' as opposite of 'ago'
9446         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
9447         * tests/test-parse-datetime.c (main): Enhance test.
9448         Suggested by Jesse Wilson.
9449
9450 2011-09-19  Jim Meyering  <meyering@redhat.com>
9451
9452         getcwd: don't fail in a deep directory on a system without openat
9453         Before this change, getcwd would fail when called from a directory
9454         of depth PATH_MAX / 3 or greater.  That was due to the fact that
9455         the non-openat implementation used "..", "../..", "../../..", etc.
9456         to access ancestor directories.  With too many, that string would
9457         be longer than PATH_MAX.
9458         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
9459         using gnulib's openat replacement.
9460         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
9461         we're using the replacement function.
9462
9463 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
9464
9465         maint.mk: avoid warnings from perl about missing files
9466         * top/maint.mk (def_sym_regex): Ignore files listed in
9467         $(gl_other_headers_) that do not exist, say because a project
9468         does not use a corresponding module.
9469
9470 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
9471
9472         stat: use pathmax.h only if needed
9473         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
9474         This is better for Emacs, which does not have a mingw port and
9475         therefore can avoid the pathmax module.
9476
9477         utimens: remove dependency on dup2
9478         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
9479         to work around the Linux kernel bug.
9480         * modules/utimens (Depends-on): Remove dup2.
9481
9482 2011-09-18  Bruno Haible  <bruno@clisp.org>
9483
9484         inet_ntop, inet_pton: Look for it also in libresolv.
9485         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
9486         libnsl, search for it in libresolv.
9487         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
9488         Needed on Solaris 7.
9489
9490 2011-09-18  Bruno Haible  <bruno@clisp.org>
9491
9492         accept, accept4 tests: Avoid link error on Solaris.
9493         * modules/accept-tests (Makefile.am): Link test-accept against
9494         $(LIBSOCKET).
9495         * modules/accept4-tests (Makefile.am): Link test-accept4 against
9496         $(LIBSOCKET).
9497
9498         accept4: Avoid link error on Solaris.
9499         * modules/accept4 (Link): New section.
9500
9501         socket functions: Avoid link errors on Solaris.
9502         * modules/accept (Depends-on): Add socketlib.
9503         (Link): New section.
9504         * modules/bind (Depends-on): Add socketlib.
9505         (Link): New section.
9506         * modules/connect (Depends-on): Add socketlib.
9507         (Link): New section.
9508         * modules/getpeername (Depends-on): Add socketlib.
9509         (Link): New section.
9510         * modules/getsockname (Depends-on): Add socketlib.
9511         (Link): New section.
9512         * modules/getsockopt (Depends-on): Add socketlib.
9513         (Link): New section.
9514         * modules/listen (Depends-on): Add socketlib.
9515         (Link): New section.
9516         * modules/recv (Depends-on): Add socketlib.
9517         (Link): New section.
9518         * modules/recvfrom (Depends-on): Add socketlib.
9519         (Link): New section.
9520         * modules/send (Depends-on): Add socketlib.
9521         (Link): New section.
9522         * modules/sendto (Depends-on): Add socketlib.
9523         (Link): New section.
9524         * modules/setsockopt (Depends-on): Add socketlib.
9525         (Link): New section.
9526         * modules/shutdown (Depends-on): Add socketlib.
9527         (Link): New section.
9528         * modules/socket (Depends-on): Add socketlib.
9529         (Link): New section.
9530
9531 2011-09-18  Bruno Haible  <bruno@clisp.org>
9532
9533         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
9534         * tests/test-ptsname.c (main): Terminate the test if it takes longer
9535         than 5 seconds.
9536         * modules/ptsname-tests (configure.ac): Test for alarm.
9537
9538 2011-09-18  Bruno Haible  <bruno@clisp.org>
9539
9540         posix_spawn_file_actions_add*: Fix module dependencies.
9541         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
9542         posix_spawn_file_actions_init.
9543         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
9544         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
9545
9546 2011-09-18  Bruno Haible  <bruno@clisp.org>
9547
9548         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
9549         * tests/test-rename.h (test_rename): Allow error code EEXIST.
9550         * tests/test-renameat.c (main): Likewise.
9551
9552 2011-09-18  Bruno Haible  <bruno@clisp.org>
9553
9554         Tests for module 'accept4'.
9555         * modules/accept4-tests: New file.
9556         * tests/test-accept4.c: New file.
9557
9558 2011-09-18  Bruno Haible  <bruno@clisp.org>
9559
9560         Tests for module 'accept'.
9561         * modules/accept-tests: New file.
9562         * tests/test-accept.c: New file.
9563
9564 2011-09-18  Bruno Haible  <bruno@clisp.org>
9565
9566         dup2: Support for MSVC.
9567         * lib/dup2.c: Include msvc-inval.h.
9568         (rpl_dup2): Handle invalid parameter notifications during dup2 and
9569         _get_osfhandle calls.
9570         * modules/dup2 (Depends-on): Add msvc-inval.
9571         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
9572
9573         New module 'msvc-inval'.
9574         * lib/msvc-inval.h: New file.
9575         * lib/msvc-inval.c: New file.
9576         * m4/msvc-inval.m4: New file.
9577         * modules/msvc-inval: New file.
9578
9579 2011-09-17  Bruno Haible  <bruno@clisp.org>
9580
9581         Tests for module 'pclose'.
9582         * modules/pclose-tests: New file.
9583
9584         New module 'pclose'.
9585         * lib/stdio.in.h (pclose): New declaration.
9586         * lib/pclose.c: New file.
9587         * m4/pclose.m4: New file.
9588         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
9589         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
9590         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
9591         * modules/pclose: New file.
9592         * modules/popen-tests (Depends-on): Add pclose.
9593         * modules/popen-safer-tests (Depends-on): Likewise.
9594         * doc/posix-functions/pclose.texi: Mention the new module.
9595
9596 2011-09-17  Bruno Haible  <bruno@clisp.org>
9597
9598         popen: Support for MSVC.
9599         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
9600         * lib/popen.c (popen): Provide alternate definition for native Windows.
9601         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
9602         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
9603         * modules/popen (Depends-on, configure.ac): Update condition.
9604         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
9605         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
9606         fixed.
9607
9608 2011-09-17  Bruno Haible  <bruno@clisp.org>
9609
9610         isnanl, isnand, isnanf: Work around MSVC bug.
9611         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
9612
9613 2011-09-17  Bruno Haible  <bruno@clisp.org>
9614
9615         sys_socket tests: Fix recent mistake.
9616         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
9617
9618 2011-09-17  Bruno Haible  <bruno@clisp.org>
9619
9620         putenv: Support for MSVC.
9621         * modules/putenv (Depends-on): Add environ.
9622         * lib/putenv.c (environ): Disable declaration.
9623         * lib/unistd.in.h: Update comment.
9624
9625 2011-09-17  Bruno Haible  <bruno@clisp.org>
9626
9627         math: Avoid macro redefinition warnings on MSVC.
9628         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
9629         Undefine before redefining.
9630
9631 2011-09-17  Bruno Haible  <bruno@clisp.org>
9632
9633         doc: Mention functions which are declared as macros.
9634         * doc/posix-functions/*[fl].texi: Mention that some functions are
9635         defined as macros with arguments only.
9636
9637 2011-09-17  Bruno Haible  <bruno@clisp.org>
9638
9639         Add dependencies to new dirent related modules.
9640         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
9641         * modules/fts (Depends-on): Likewise.
9642         * modules/glob (Depends-on): Likewise.
9643         * modules/savedir (Depends-on): Likewise.
9644         * modules/scandir (Depends-on): Likewise.
9645         * modules/dirent-safer (Depends-on): Add opendir, closedir.
9646         * modules/fdopendir (Depends-on): Add opendir.
9647
9648 2011-09-17  Bruno Haible  <bruno@clisp.org>
9649
9650         inet_pton: Support for MSVC on Windows Vista or newer.
9651         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
9652         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
9653         HAVE_DECL_INET_PTON is defined.
9654         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
9655         On platforms with <winsock2.h>, test whether inet_pton is declared in
9656         <ws2tcpip.h>. If so, arrange to replace it.
9657         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
9658         REPLACE_INET_PTON.
9659         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
9660         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
9661         (Depends-on, configure.ac): Update condition.
9662         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
9663
9664 2011-09-17  Bruno Haible  <bruno@clisp.org>
9665
9666         inet_ntop: Support for MSVC on Windows Vista or newer.
9667         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
9668         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
9669         HAVE_DECL_INET_NTOP is defined.
9670         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
9671         On platforms with <winsock2.h>, test whether inet_ntop is declared in
9672         <ws2tcpip.h>. If so, arrange to replace it.
9673         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
9674         REPLACE_INET_NTOP.
9675         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
9676         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
9677         (Depends-on, configure.ac): Update condition.
9678         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
9679
9680 2011-09-16  Eric Blake  <eblake@redhat.com>
9681
9682         test-fsync: yet another enhancement
9683         * tests/test-fsync.c (main): Also test behavior on read-only text
9684         file.
9685
9686 2011-09-16  Bruno Haible  <bruno@clisp.org>
9687
9688         Enhance fsync, fdatasync tests.
9689         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
9690         * tests/test-fdatasync.c (main): Likewise.
9691
9692 2011-09-16  Bruno Haible  <bruno@clisp.org>
9693
9694         Support for MSVC compiler: Ensure mode_t gets defined.
9695         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
9696         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
9697         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
9698         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
9699         * tests/test-fcntl-h.c: Check that mode_t is defined.
9700         * tests/test-sys_stat.c: Likewise.
9701         * tests/test-sys_types.c: Likewise.
9702         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
9703         * doc/posix-headers/sys_stat.texi: Likewise.
9704         * doc/posix-headers/sys_types.texi: Likewise.
9705
9706 2011-09-16  Bruno Haible  <bruno@clisp.org>
9707
9708         sys_stat: Support for MSVC.
9709         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
9710         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
9711         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
9712         MSVC.
9713
9714 2011-09-16  Bruno Haible  <bruno@clisp.org>
9715
9716         Support for MSVC compiler: Ensure off_t gets defined.
9717         * lib/unistd.in.h: Include <sys/types.h>.
9718         * tests/test-fcntl-h.c: Check that off_t is defined.
9719         * tests/test-sys_stat.c: Likewise.
9720         * tests/test-sys_types.c: Likewise.
9721
9722 2011-09-16  Eric Blake  <eblake@redhat.com>
9723
9724         fdatasync: port to Solaris
9725         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
9726         * modules/fdatasync (Link): Document it.
9727         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
9728
9729         fdatasync: port to MacOS X 10.7
9730         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
9731         declared.
9732         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
9733         * modules/unistd (Makefile.am): Substitute it.
9734         * lib/unistd.in.h (fdatasync): Declare on MacOS.
9735         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
9736
9737         fdatasync: minor improvements
9738         * modules/fdatasync (Depends-on): Add condition for fsync.
9739         * lib/fdatasync.c (fdatasync): Add comment.
9740         * tests/test-unistd-c++.cc: Test fdatasync.
9741
9742         unistd: update refs to newer POSIX
9743         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
9744         Suggested by Bruno Haible.
9745
9746         fdatasync: new module
9747         * modules/fsync (Description): Document difference to fdatasync.
9748         * modules/fdatasync: New module.
9749         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
9750         * lib/fdatasync.c (fdatasync): Likewise.
9751         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
9752         defaults.
9753         * modules/unistd (Makefile.am): Set witnesses.
9754         * lib/unistd.in.h (fdatasync): Declare.
9755         * MODULES.html.sh: Document it.
9756         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
9757         * modules/fdatasync-tests: New test.
9758         * tests/test-fdatasync.c: Likewise.
9759
9760 2011-09-16  Eric Blake  <eblake@redhat.com>
9761
9762         test-fsync: enhance tests
9763         * modules/fsync-tests (Depends-on): Add errno, for mingw.
9764         * tests/test-fsync.c (main): Enhance test.
9765
9766 2011-09-15  Bruno Haible  <bruno@clisp.org>
9767
9768         Support for MSVC compiler: Ensure ssize_t gets defined.
9769         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
9770         * doc/posix-headers/stdio.texi: Likewise.
9771         * modules/stdio (Depends-on): Add ssize_t.
9772         * modules/sys_socket (Depends-on): Likewise.
9773         * modules/sys_types (Depends-on): Likewise.
9774         * modules/sys_uio (Depends-on): Likewise.
9775         * modules/unistd (Depends-on): Likewise.
9776         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
9777         * tests/test-sys_types.c: Check that ssize_t is defined.
9778
9779 2011-09-14  Bruno Haible  <bruno@clisp.org>
9780
9781         Avoid using #, the m4 comment starter character, near brackets.
9782         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
9783         delimiter character in sed expressions.
9784         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
9785         Suggested by Eric Blake.
9786
9787         Properly quote AC_CHECK_DECLS' 4th argument.
9788         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
9789         argument.
9790         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
9791         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
9792         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
9793         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
9794         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
9795         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
9796         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
9797         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
9798         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
9799         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
9800         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
9801         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
9802         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
9803         * m4/isinf.m4 (gl_ISINF): Likewise.
9804         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
9805         * m4/readutmp.m4 (gl_READUTMP): Likewise.
9806         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
9807         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
9808         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
9809         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
9810         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
9811         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
9812         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
9813         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
9814         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
9815         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
9816         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
9817         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
9818         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
9819         Reported by Eric Blake.
9820
9821         Properly quote AC_CHECK_DECL's 4th argument.
9822         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
9823         argument.
9824         * m4/argp.m4 (gl_ARGP): Likewise.
9825         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
9826         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
9827         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
9828         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
9829         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
9830         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
9831         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
9832         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
9833         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
9834         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
9835         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
9836         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
9837         Reported by Eric Blake.
9838
9839 2011-09-14  Eric Blake  <eblake@redhat.com>
9840
9841         opendir: avoid compile warning
9842         * lib/opendir.c (includes): Always include errno.h.
9843         Reported by Tatsuro MATSUOKA.
9844
9845 2011-09-14  Jim Meyering  <meyering@redhat.com>
9846
9847         maint.mk: sc_tight_scope: propagate failure from sub-make
9848         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
9849         Reported by Martin von Gagern.
9850
9851 2011-09-13  Bruno Haible  <bruno@clisp.org>
9852
9853         tempname: Support for MSVC.
9854         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
9855         MSVC.
9856         * modules/tempname (Depends-on): Add fcntl-h.
9857
9858 2011-09-13  Bruno Haible  <bruno@clisp.org>
9859
9860         sys_time: Support for MSVC.
9861         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
9862         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
9863         include <winsock2.h>.
9864         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
9865         function declarations that collide with POSIX.
9866         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
9867         (Makefile.am): Substitute HAVE_WINSOCK2_H.
9868
9869 2011-09-13  Bruno Haible  <bruno@clisp.org>
9870
9871         stat: Support for MSVC.
9872         * lib/stat.c: Include pathmax.h.
9873         * modules/stat (Depends-on): Add pathmax.
9874
9875         pathmax: Support for native Windows.
9876         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
9877
9878 2011-09-12  Bruno Haible  <bruno@clisp.org>
9879
9880         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
9881         * lib/dirent.in.h (struct dirent): New type.
9882         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
9883         DT_WHT): New macros.
9884         (DIR): New type.
9885         (opendir, closedir): Declare only if the module 'opendir' is enabled.
9886         (readdir, rewinddir): New declarations.
9887         * lib/dirent-private.h: New file.
9888         * lib/opendir.c: New file.
9889         * lib/readdir.c: New file.
9890         * lib/rewinddir.c: New file.
9891         * lib/closedir.c: New file.
9892         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
9893         * m4/opendir.m4: New file.
9894         * m4/readdir.m4: New file.
9895         * m4/rewinddir.m4: New file.
9896         * m4/closedir.m4: New file.
9897         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
9898         REPLACE_CLOSEDIR here.
9899         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
9900         readdir, rewinddir are declared.
9901         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
9902         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
9903         HAVE_REWINDDIR, HAVE_CLOSEDIR.
9904         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
9905         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
9906         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
9907         * modules/opendir: New file.
9908         * modules/readdir: New file.
9909         * modules/rewinddir: New file.
9910         * modules/closedir: New file.
9911         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
9912         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
9913         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
9914         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
9915         * NEWS: Mention the 'fchdir' change.
9916
9917 2011-09-11  Bruno Haible  <bruno@clisp.org>
9918
9919         asm-underscore.m4: Support for MSVC.
9920         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
9921         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
9922
9923 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
9924
9925         Doc about crypt functions.
9926         * doc/posix-functions/crypt.texi: Expand range of glibc versions
9927         needing for _GNU_SOURCE to get crypt.
9928         * doc/posix-functions/encrypt.texi: Likewise.
9929         * doc/posix-functions/setkey.texi: Likewise.
9930
9931 2011-09-11  Bruno Haible  <bruno@clisp.org>
9932
9933         doc: Update regarding MSVC 9.
9934         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
9935         tested".
9936         * doc/posix-functions/*.texi: Update with info about MSVC 9.
9937         * doc/posix-headers/*.texi: Likewise.
9938         * doc/pastposix-functions/*.texi: Likewise.
9939         * doc/glibc-functions/*.texi: Likewise.
9940         * doc/glibc-headers/*.texi: Likewise.
9941
9942 2011-09-11  Bruno Haible  <bruno@clisp.org>
9943
9944         unistd et al.: Don't assume <unistd.h> exists.
9945         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
9946         does not exist.
9947         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
9948         exist. But include <stdlib.h>.
9949         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
9950         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
9951         symlink() does not exist.
9952         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
9953         include <io.h> instead.
9954         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
9955         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
9956         include <direct.h> instead.
9957         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
9958         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
9959         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
9960         <io.h> instead.
9961         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
9962         correctly if the system does not have hard links.
9963         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
9964         <direct.h> instead.
9965         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
9966         it when looking for function declarations.
9967         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
9968         <direct.h> and <io.h> instead.
9969         * doc/posix-headers/unistd.texi: More details about MSVC problem.
9970
9971 2011-09-11  Bruno Haible  <bruno@clisp.org>
9972
9973         strcase: Support for MSVC.
9974         * modules/strcase (Status, Notice): Remove obsoletion mark.
9975         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
9976         * doc/posix-functions/strncasecmp.texi: Likewise.
9977
9978         strings: Don't assume <strings.h> exists.
9979         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
9980         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
9981         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
9982         * doc/posix-headers/strings.texi: Mention the MSVC problem.
9983
9984 2011-09-11  Bruno Haible  <bruno@clisp.org>
9985
9986         dirent: Don't assume <dirent.h> exists.
9987         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
9988         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
9989         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
9990         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
9991
9992 2011-09-11  Bruno Haible  <bruno@clisp.org>
9993
9994         Fix wint_t on MSVC.
9995         * lib/wchar.in.h (wint_t): On MSVC, override it.
9996         * lib/wctype.in.h (wint_t): Likewise.
9997         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
9998         MSVC.
9999         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
10000         * doc/posix-headers/wctype.texi: Likewise.
10001
10002 2011-09-11  Bruno Haible  <bruno@clisp.org>
10003
10004         sys_types: Fix typo.
10005         * lib/sys_types.in.h: Fix typo in comment.
10006         Reported by Paul Eggert.
10007
10008         Support for MSVC compiler: Ensure size_t gets defined.
10009         * modules/strings (Depends-on): Add 'sys_types'.
10010         * modules/sys_uio (Depends-on): Likewise.
10011         * lib/sys_uio.in.h: Update comment.
10012
10013         C++ tests for module 'sys_types'.
10014         * modules/sys_types-c++-tests: New file.
10015         * tests/test-sys_types-c++.cc: New file.
10016
10017         Tests for module 'sys_types'.
10018         * modules/sys_types-tests: New file.
10019         * tests/test-sys_types.c: New file.
10020
10021         New module 'sys_types'.
10022         * lib/sys_types.in.h: New file.
10023         * m4/sys_types_h.m4: New file.
10024         * modules/sys_types: New file.
10025         * doc/posix-headers/sys_types.texi: Mention the new module and the
10026         size_t problem on MSVC 9.
10027
10028 2011-09-11  Bruno Haible  <bruno@clisp.org>
10029
10030         Support for MSVC compiler: Avoid division by a literal 0.
10031         * lib/math.in.h (NAN): Define through a function call also on MSVC.
10032         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
10033         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
10034         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
10035         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
10036         * tests/infinity.h: New file.
10037         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
10038         on MSVC.
10039         * tests/test-ceilf1.c: Include infinity.h.
10040         (main): Use Infinityf.
10041         * tests/test-ceil1.c: Include infinity.h.
10042         (main): Use Infinityd.
10043         * tests/test-ceill.c: Include infinity.h.
10044         (main): Use Infinityl.
10045         * tests/test-dprintf-posix.c: Include infinity.h.
10046         (test_function): Use Infinityd.
10047         * tests/test-floorf1.c: Include infinity.h.
10048         (main): Use Infinityf.
10049         * tests/test-floor1.c: Include infinity.h.
10050         (main): Use Infinityd.
10051         * tests/test-floorl.c: Include infinity.h.
10052         (main): Use Infinityl.
10053         * tests/test-fprintf-posix.c: Include infinity.h.
10054         (test_function): Use Infinityd.
10055         * tests/test-frexp.c: Include infinity.h.
10056         (main): Use Infinityd.
10057         * tests/test-frexpl.c: Include infinity.h.
10058         (main): Use Infinityl.
10059         * tests/test-isfinite.c: Include infinity.h.
10060         (test_isfinitef): Use Infinityf.
10061         (test_isfinited): Use Infinityd.
10062         (test_isfinitel): Use Infinityl.
10063         * tests/test-isinf.c: Include infinity.h.
10064         (test_isinff): Use Infinityf.
10065         (test_isinfd): Use Infinityd.
10066         (test_isinfl): Use Infinityl.
10067         * tests/test-isnan.c: Include infinity.h.
10068         (test_float): Use Infinityf.
10069         (test_double): Use Infinityd.
10070         (test_long_double): Use Infinityl.
10071         * tests/test-isnanf.h: Include infinity.h.
10072         (main): Use Infinityf.
10073         * tests/test-isnand.h: Include infinity.h.
10074         (main): Use Infinityd.
10075         * tests/test-isnanl.h: Include infinity.h.
10076         (main): Use Infinityl.
10077         * tests/test-ldexpl.c: Include infinity.h.
10078         (main): Use Infinityl.
10079         * tests/test-printf-posix.h: Include infinity.h.
10080         (test_function): Use Infinityd.
10081         * tests/test-roundf1.c: Include infinity.h.
10082         (main): Use Infinityf.
10083         * tests/test-round1.c: Include infinity.h.
10084         (main): Use Infinityd.
10085         * tests/test-roundl.c: Include infinity.h.
10086         (main): Use Infinityl.
10087         * tests/test-signbit.c: Include infinity.h.
10088         (test_signbitf): Use Infinityf.
10089         (test_signbitd): Use Infinityd.
10090         (test_signbitl): Use Infinityl.
10091         * tests/test-snprintf-posix.h: Include infinity.h.
10092         (test_function): Use Infinityd, Infinityl.
10093         * tests/test-sprintf-posix.h: Include infinity.h.
10094         (test_function): Use Infinityd, Infinityl.
10095         * tests/test-truncf1.c: Include infinity.h.
10096         (main): Use Infinityf.
10097         * tests/test-trunc1.c: Include infinity.h.
10098         (main): Use Infinityd.
10099         * tests/test-truncl.c: Include infinity.h.
10100         (main): Use Infinityl.
10101         * tests/test-vasnprintf-posix.c: Include infinity.h.
10102         (test_function): Use Infinityd, Infinityl.
10103         * tests/test-vasprintf-posix.c: Include infinity.h.
10104         (test_function): Use Infinityd, Infinityl.
10105         * modules/ceilf-tests (Files): Add tests/infinity.h.
10106         * modules/ceil-tests (Files): Likewise.
10107         * modules/ceill-tests (Files): Likewise.
10108         * modules/dprintf-posix-tests (Files): Likewise.
10109         * modules/floorf-tests (Files): Likewise.
10110         * modules/floor-tests (Files): Likewise.
10111         * modules/floorl-tests (Files): Likewise.
10112         * modules/fprintf-posix-tests (Files): Likewise.
10113         * modules/frexp-tests (Files): Likewise.
10114         * modules/frexp-nolibm-tests (Files): Likewise.
10115         * modules/frexpl-tests (Files): Likewise.
10116         * modules/frexpl-nolibm-tests (Files): Likewise.
10117         * modules/isfinite-tests (Files): Likewise.
10118         * modules/isinf-tests (Files): Likewise.
10119         * modules/isnan-tests (Files): Likewise.
10120         * modules/isnanf-tests (Files): Likewise.
10121         * modules/isnanf-nolibm-tests (Files): Likewise.
10122         * modules/isnand-tests (Files): Likewise.
10123         * modules/isnand-nolibm-tests (Files): Likewise.
10124         * modules/isnanl-tests (Files): Likewise.
10125         * modules/isnanl-nolibm-tests (Files): Likewise.
10126         * modules/ldexpl-tests (Files): Likewise.
10127         * modules/printf-posix-tests (Files): Likewise.
10128         * modules/roundf-tests (Files): Likewise.
10129         * modules/round-tests (Files): Likewise.
10130         * modules/roundl-tests (Files): Likewise.
10131         * modules/signbit-tests (Files): Likewise.
10132         * modules/snprintf-posix-tests (Files): Likewise.
10133         * modules/sprintf-posix-tests (Files): Likewise.
10134         * modules/truncf-tests (Files): Likewise.
10135         * modules/trunc-tests (Files): Likewise.
10136         * modules/truncl-tests (Files): Likewise.
10137         * modules/vasnprintf-posix-tests (Files): Likewise.
10138         * modules/vasprintf-posix-tests (Files): Likewise.
10139         * modules/vdprintf-posix-tests (Files): Likewise.
10140         * modules/vfprintf-posix-tests (Files): Likewise.
10141         * modules/vprintf-posix-tests (Files): Likewise.
10142         * modules/vsnprintf-posix-tests (Files): Likewise.
10143         * modules/vsprintf-posix-tests (Files): Likewise.
10144         * modules/xprintf-posix-tests (Files): Likewise.
10145
10146 2011-09-11  Bruno Haible  <bruno@clisp.org>
10147
10148         Ensure pid_t gets defined.
10149         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
10150         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
10151         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
10152         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
10153         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
10154         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
10155         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
10156         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
10157         * tests/test-fcntl-h.c: Check that pid_t is defined.
10158         * tests/test-sched.c: Likewise.
10159         * tests/test-termios.c: Likewise.
10160         * tests/test-time.c: Likewise.
10161         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
10162         * doc/posix-headers/signal.texi: Likewise.
10163         * doc/posix-headers/sys_types.texi: Likewise.
10164         * doc/posix-headers/time.texi: Likewise.
10165
10166 2011-09-11  Bruno Haible  <bruno@clisp.org>
10167
10168         acl: Fix compilation on Solaris 10 (older version).
10169         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
10170         of ACE_EVERYONE.
10171         * lib/set-mode-acl.c (qset_acl): Likewise.
10172         Reported by Christian Jullien <eligis@orange.fr>.
10173
10174 2011-09-10  Bruno Haible  <bruno@clisp.org>
10175
10176         iconv, unsetenv: Add support for MSVC compiler.
10177         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
10178         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
10179
10180 2011-09-10  Bruno Haible  <bruno@clisp.org>
10181
10182         *printf: Add support for MSVC compiler.
10183         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
10184         handles the exception caused by the %n directive. When cross-compiling,
10185         guess no on native Windows.
10186         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
10187         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
10188         emulate it through vsnprintf.
10189         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
10190         * doc/posix-functions/dprintf.texi: Update documentation regarding
10191         MSVC 9.
10192         * doc/posix-functions/fprintf.texi: Likewise.
10193         * doc/posix-functions/printf.texi: Likewise.
10194         * doc/posix-functions/snprintf.texi: Likewise.
10195         * doc/posix-functions/sprintf.texi: Likewise.
10196         * doc/posix-functions/swprintf.texi: Likewise.
10197         * doc/posix-functions/vdprintf.texi: Likewise.
10198         * doc/posix-functions/vfprintf.texi: Likewise.
10199         * doc/posix-functions/vprintf.texi: Likewise.
10200         * doc/posix-functions/vsnprintf.texi: Likewise.
10201         * doc/posix-functions/vsprintf.texi: Likewise.
10202         * doc/glibc-functions/asprintf.texi: Likewise.
10203         * doc/glibc-functions/obstack_printf.texi: Likewise.
10204         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
10205         * doc/glibc-functions/vasprintf.texi: Likewise.
10206
10207 2011-09-10  Bruno Haible  <bruno@clisp.org>
10208
10209         nocrash: Add support for native Windows.
10210         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
10211
10212 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
10213             Bruno Haible  <bruno@clisp.org>
10214
10215         absolute-header, include-next: Add support for MSVC compiler.
10216         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
10217         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
10218         directory separator in #line directives.
10219         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
10220         recognize also backslash as directory separator in #line directives.
10221
10222 2011-09-08  Jim Meyering  <meyering@redhat.com>
10223
10224         maint.mk: mark the post-release commit log with "maint: " prefix
10225         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
10226         one-line commit-log summary.
10227
10228 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
10229             Bruno Haible  <bruno@clisp.org>
10230
10231         Doc about crypt functions.
10232         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
10233         systems.
10234         * doc/posix-functions/encrypt.texi: Likewise.
10235         * doc/posix-functions/setkey.texi: Likewise.
10236
10237 2011-09-08  Simon Josefsson  <simon@josefsson.org>
10238
10239         * lib/gc.h: Fix copyright header.
10240
10241 2011-09-07  Bruno Haible  <bruno@clisp.org>
10242
10243         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
10244         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
10245         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
10246
10247 2011-09-07  Bruno Haible  <bruno@clisp.org>
10248
10249         openat: Work around compilation error with OSF/1 5.1 DTK cc.
10250         * lib/fopen.c: Use different syntax for include of <stdio.h>.
10251         * lib/freopen.c: Likewise.
10252         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
10253         * lib/lstat.c: Likewise.
10254         * lib/stat.c: Likewise.
10255         * lib/open.c: Use different syntax for include of <fcntl.h>.
10256         * lib/openat.c: Include fcntl.h again, explicitly.
10257
10258 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
10259
10260         parse-datetime: document the newly accepted format
10261         * doc/parse-datetime.texi (Combined date and time of day items):
10262         New section.
10263
10264 2011-09-06  Bruno Haible  <bruno@clisp.org>
10265
10266         acl: Fix a test failure on newer Solaris 10 with ZFS.
10267         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
10268         ENOSYS as no ACL.
10269         Reported by Jim Meyering.
10270
10271 2011-09-06  Bruno Haible  <bruno@clisp.org>
10272
10273         acl: Update for AIX >= 5.3 with NFS.
10274         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
10275         ENOSYS as no ACL.
10276
10277         acl: Fix a test failure on AIX >= 5.3 with NFS.
10278         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
10279         as no ACL.
10280
10281 2011-09-06  Bruno Haible  <bruno@clisp.org>
10282
10283         acl: Fix a test failure on IRIX 6.5 with NFS.
10284         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
10285         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
10286         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
10287         * lib/copy-acl.c (qcopy_acl): Likewise.
10288
10289 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
10290
10291         openat: port to AIX 7.1 with large files
10292         AIX 7.1 does a "#define openat open64at" if large files are in use,
10293         so we can't simply #undef openat.  Use the orig_openat trick (similar
10294         to orig_open in lib/open.c) to work around the problem.  Problem
10295         reported by Kevin Brott for GNU tar, in the thread containing
10296         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
10297         * lib/openat.c (__need_system_fcntl_h): Define first.
10298         Include <fcntl.h> and <sys/types.h> before undefining.
10299         (orig_openat) [HAVE_OPENAT]: New inline function.
10300         (openat) [HAVE_OPENAT]: Do not undef.
10301         (rpl_openat): Use orig_openat, not openat.
10302
10303 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
10304             Bruno Haible  <bruno@clisp.org>
10305
10306         acl: Avoid errors on NonStop Kernel.
10307         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
10308         ENOTSUP errors.
10309
10310 2011-09-05  Bruno Haible  <bruno@clisp.org>
10311
10312         acl: Clean up Solaris code.
10313         * lib/acl-internal.h: Remove no-op #if.
10314         * lib/file-has-acl.c: Likewise.
10315         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
10316         * lib/copy-acl.c (qcopy_acl): Likewise.
10317
10318 2011-09-05  Bruno Haible  <bruno@clisp.org>
10319
10320         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
10321         binaries built on the original Solaris 10.
10322         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
10323         trivial.
10324
10325 2011-09-05  Bruno Haible  <bruno@clisp.org>
10326
10327         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
10328         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
10329         10.
10330         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
10331         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
10332         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
10333         instead of acl_get, facl_get, acl_set, facl_set.
10334
10335 2011-09-05  Bruno Haible  <bruno@clisp.org>
10336
10337         copy-file: Try unit tests on more file systems.
10338         * tests/test-copy-file-1.sh: New file.
10339         * tests/test-copy-file-2.sh: New file.
10340         * modules/copy-file-tests (Files): Add them.
10341         (Makefile.am): Add them to TESTS.
10342
10343         acl: Try unit tests on more file systems.
10344         * tests/test-file-has-acl-1.sh: New file.
10345         * tests/test-file-has-acl-2.sh: New file.
10346         * tests/test-set-mode-acl-1.sh: New file.
10347         * tests/test-set-mode-acl-2.sh: New file.
10348         * tests/test-copy-acl-1.sh: New file.
10349         * tests/test-copy-acl-2.sh: New file.
10350         * modules/acl-tests (Files): Add them.
10351         (Makefile.am): Add them to TESTS.
10352
10353 2011-09-04  Bruno Haible  <bruno@clisp.org>
10354
10355         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
10356         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
10357         10.
10358         (OLD_ALLOW, OLD_DENY): New macros.
10359         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
10360         ACE_ACCESS_ALLOWED_ACE_TYPE.
10361         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
10362         ACE_ACCESS_DENIED_ACE_TYPE.
10363         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
10364         (NEW_ACE_EXECUTE): Fix value.
10365         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
10366         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
10367         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
10368         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
10369         NEW_ACE_SYNCHRONIZE): New macros.
10370         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
10371         instead of acl_fromtext, acl_set, facl_set.
10372         Fixes a coreutils/tests/cp/perm failure.
10373
10374 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
10375
10376         openat: test for fstatat (..., 0) bug
10377         Further testing with tar suggests that fstatat (..., 0)
10378         does not work in general, on AIX 7.1; see
10379         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
10380         So, give up entirely on AIX 7.1's fstatat, and fall back on our
10381         replacement fstatat (which is what older AIX releases were using
10382         anyway).
10383         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
10384         use is now changed to orig_fstatat.  This was probably the right
10385         thing to do anyway.
10386         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
10387         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
10388         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
10389         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
10390         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
10391         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
10392         if the bug is found.
10393
10394         openat: test for fstatat (AT_FDCWD, ..., 0) bug
10395         This tests for another fstatat bug on AIX 7.1:
10396         fstatat (AT_FDCWD, ..., 0) does not work.  See
10397         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
10398         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
10399         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
10400         (rpl_fstatat): Adjust so that it works around either (or both)
10401         bugs if present.
10402         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
10403
10404 2011-09-03  Karl Berry  <karl@gnu.org>
10405
10406         * doc/regex.texi (Character Class Operators): Avoid literal ":"
10407         in index entries.
10408
10409 2011-09-02  Bruno Haible  <bruno@clisp.org>
10410
10411         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
10412         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
10413         values of AR, ARFLAGS, RANLIB.
10414         Reported by John W. Eaton <jwe@gnu.org> for Octave.
10415
10416 2011-09-02  Bruno Haible  <bruno@clisp.org>
10417
10418         Find 'ar' program that fits with --host argument.
10419         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
10420
10421 2011-09-02  Bruno Haible  <bruno@clisp.org>
10422
10423         tests: init.sh: Support any non-GNU diff.
10424         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
10425         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
10426         Solaris 8.
10427
10428 2011-09-02  Bruno Haible  <bruno@clisp.org>
10429
10430         tests: init.sh: work also with any non-GNU diff that supports -u
10431         * tests/init.sh: Relax check for diff -u support.
10432         Rather than checking for GNU diff via --version, simply check
10433         for support for -u itself.  Useful at least on OpenBSD 4.9,
10434         AIX 7.1, IRIX 6.5, and Solaris 10.
10435
10436 2011-09-01  Bruno Haible  <bruno@clisp.org>
10437
10438         strtoimax, strtoumax: Document problem on HP-UX 11.
10439         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
10440         * doc/posix-functions/strtoumax.texi: Likewise.
10441
10442 2011-09-01  Bruno Haible  <bruno@clisp.org>
10443
10444         strtoumax: Avoid link error on OSF/1 with DTK cc.
10445         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
10446         defined as a function.
10447         * modules/strtoumax (Depends-on, configure.ac): Test only whether
10448         strtoumax is defined, not whether it is declared.
10449
10450 2011-09-01  Bruno Haible  <bruno@clisp.org>
10451
10452         strtoimax: Avoid link error on OSF/1 with DTK cc.
10453         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
10454         defined as a function.
10455         * modules/strtoimax (Depends-on, configure.ac): Test only whether
10456         strtoimax is defined, not whether it is declared.
10457
10458 2011-09-01  Bruno Haible  <bruno@clisp.org>
10459
10460         imaxdiv: Avoid link error on OSF/1 with DTK cc.
10461         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
10462         as a function.
10463         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
10464         whether it is declared.
10465
10466 2011-09-01  Bruno Haible  <bruno@clisp.org>
10467
10468         imaxabs: Avoid link error on OSF/1 with DTK cc.
10469         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
10470         as a function.
10471         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
10472         whether it is declared.
10473
10474 2011-09-01  Bruno Haible  <bruno@clisp.org>
10475
10476         Tests for module 'strtoumax'.
10477         * modules/strtoumax-tests: New file.
10478         * tests/test-strtoumax.c: New file.
10479
10480         Tests for module 'strtoimax'.
10481         * modules/strtoimax-tests: New file.
10482         * tests/test-strtoimax.c: New file.
10483
10484         Tests for module 'imaxdiv'.
10485         * modules/imaxdiv-tests: New file.
10486         * tests/test-imaxdiv.c: New file.
10487
10488         Tests for module 'imaxabs'.
10489         * modules/imaxabs-tests: New file.
10490         * tests/test-imaxabs.c: New file.
10491
10492 2011-09-01  Bruno Haible  <bruno@clisp.org>
10493
10494         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
10495         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
10496         pthread_create.
10497
10498 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
10499
10500         openat: work around AIX 7.1 fstatat issue
10501         This should fix the problem that was not properly fixed
10502         in the previous change, dated 2011-08-30.
10503         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
10504         __need_system_stat_h defined.
10505         (orig_fstatat) [HAVE_FSTATAT]: New function.
10506         (rpl_fstatat): Go back to the old way of doing things,
10507         except call orig_fstatat instead of fstatat.
10508         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
10509         Remove unnecessary check whether fstatat fills in st_size etc.
10510
10511 2011-09-01  Bruno Haible  <bruno@clisp.org>
10512
10513         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
10514         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
10515         just include the system's header.
10516
10517 2011-08-31  Jim Meyering  <meyering@redhat.com>
10518
10519         tests: avoid spurious assertion failure in test-float.c on ppc64
10520         * tests/test-float.c (test_long_double): Comment out an assertion,
10521         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
10522         with gcc-4.4.4.
10523
10524         maint: indent with spaces, not TABs
10525         I need to get in the habit of running gnulib's "make check".
10526         Both of these would have been caught.
10527         * m4/largefile.m4: Indent with spaces, not TABs.
10528         * lib/parse-datetime.y (iso_8601_time): Likewise.
10529         Spotted by Pádraig Brady.
10530
10531         test-parse-datetime.c: accommodate a relatively strict gcc warning
10532         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
10533         to avoid a warning from gcc's -Werror=missing-declarations.
10534         Insert a few spaces-before-funcall-parenthesis.
10535
10536 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
10537
10538         parse-datetime: accept ISO 8601 date and time rep with "T" separator
10539         The parser now accepts ISO 8601 date-time strings with "T" as the
10540         separator.  It has long parsed dates like "2004-02-29 16:21:42"
10541         with a space between the date and time strings.  Now it also parses
10542         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
10543         variants like "2004-02-29T16:21:42.333-07:00"
10544         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
10545         of day representation using the 'T' separator character.
10546         * doc/parse-datetime.texi (General date syntax): replace use of
10547         deprecated --iso-8601 option with --rfc-3339 in example of date
10548         command output formats that can be parsed.
10549         * tests/test-parse-datetime.c (tm_diff): New function, taken from
10550         lib/parse-datetime.y.
10551         (gmt_offset): New function.
10552         (main): Add additional test cases to validate ISO8601 extended
10553         date and time of day parsing.
10554
10555 2011-08-31  Bruno Haible  <bruno@clisp.org>
10556
10557         freopen: Documentation.
10558         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
10559         name.
10560         Reported by Claudio Bley <claudio.bley@gmail.com>.
10561
10562 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
10563
10564         freopen: Don't crash if the filename argument is NULL.
10565         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
10566         NULL.
10567
10568 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
10569
10570         openat: work around AIX 7.1 fstatat bug
10571         Problem reported by Kevin Brott for GNU tar, in the thread containing
10572         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
10573         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
10574         FSTATAT_ST_SIZE_ETC_BROKEN.
10575         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
10576         rpl_fstatat.
10577         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
10578         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
10579         AC_CHECK_FUNCS_ONCE for fstatat.
10580         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
10581         fchmodat, mkdirat, openat and unlinkat.
10582
10583 2011-08-30  Bruno Haible  <bruno@clisp.org>
10584
10585         Avoid endless recursions if config.h includes some header files.
10586         * lib/fopen.c (__need_FILE): Define already before including config.h.
10587         * lib/freopen.c (__need_FILE): Likewise.
10588         * lib/open.c (__need_system_fcntl_h): Likewise.
10589         * lib/stat.c (__need_system_sys_stat_h): Likewise.
10590         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
10591         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
10592
10593 2011-08-25  Karl Berry  <karl@gnu.org>
10594
10595         * config/srclist.txt (ylwrap): new try.
10596         * build-aux/ylwrap: new file.
10597
10598 2011-08-23  Bruno Haible  <bruno@clisp.org>
10599
10600         tmpdir: Use a good default directory on native Windows.
10601         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
10602         (P_tmpdir): Default to _P_tmpdir on native Windows.
10603         (path_search): On native Windows, try the value returned by GetTempPath
10604         before trying P_tmpdir.
10605         * modules/tmpdir (Depends-on): Add pathmax.
10606         Suggested by John Darrington <john@darrington.wattle.id.au>.
10607
10608 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
10609
10610         doc: fix typo in README-release
10611         * top/README-release: Capitalize first word of a sentence.
10612
10613 2011-08-19  Jim Meyering  <meyering@redhat.com>
10614
10615         fts: do not exhaust memory when processing million-entry directories
10616         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
10617         directory would require about 256*N bytes of memory.  Thus, it was
10618         easy to construct a directory too large to be processed by any of
10619         those tools.  With this change, fts' maximum memory utilization is
10620         now limited to around 30MB.
10621         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
10622         (fts_read): When we've processed the final entry (i.e., when
10623         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
10624         using the parent entry to read any remaining entries.  Dispatch
10625         depending on what fts_build returns:
10626         - NULL+stop, aka failure: stop
10627         - NULL otherwise: move up in the dir hierarchy
10628         - non-NULL: handle this new entry
10629         (fts_build): Declare and use new local, continue_readdir.
10630         Prepare to be called from fts_read, when the entries
10631         from a partially-read directory have just been exhausted.
10632         In that case, we'll skip the opendir and instead use the parent's
10633         fts_dirp and derive dir_fd from that.
10634         Finally, in the readdir loop, if we read max_entries entries,
10635         exit the loop ensuring *not* to call closedir.  This is required
10636         so that fts_dirp can be reused on a subsequent call.
10637         Prompted by Ben England's report of memory exhaustion in find
10638         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
10639
10640         maint: fts: move decl of `dp' down into while loop; split a long line
10641         * lib/fts.c (fts_build): No semantic change.
10642
10643         fts: add/use new struct member, fts_dirp
10644         We are about to use this to manage any directory with
10645         too many entries to read all of them into memory at once.
10646         To do that, we'll need to save the DIR* pointer in each
10647         affected FTSENT struct.
10648         * lib/fts_.h: Include <dirent.h>.
10649         (struct FTSENT) [fts_dirp]: New member.
10650         * lib/fts.c (closedir_and_clear): Define.
10651         Use it in place of closedir so that we are sure to
10652         clear the new fts_dirp member when done with it.
10653         (fts_alloc): Initialize the new member.
10654         (fts_lfree): Free, if needed.
10655
10656         maint: fts: give __opendir2 a new parameter and rename
10657         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
10658         than surreptitiously using sole caller's "dir_fd".
10659         (fts_opendir): Rename from __opendir2.
10660
10661         maint: fts.c: remove __opendir2's now-unused parameter, oflag
10662         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
10663
10664         maint: fts.c: correct off-by-one indentation
10665         * lib/fts.c (fts_build): Correct indentation, change style
10666         of a couple of block comments, and bracing style.
10667
10668         maint: fts.c: move __opendir2 #define "up" out of function body
10669         * lib/fts.c (__opendir2): Move "up".  No semantic change.
10670
10671         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
10672         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
10673         out for a long time and besides was useful only on BSD systems.
10674
10675 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
10676
10677         regex: port to Stratus OpenVOS
10678         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
10679         define to empty, rather than attempting nonportable optimizations.
10680         Problem reported by Paul Green in:
10681         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
10682         and fix suggested by Eric Blake in:
10683         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
10684
10685 2011-08-17  Eric Blake  <eblake@redhat.com>
10686
10687         getcwd: fix test failures on mingw
10688         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
10689         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
10690         test if long directory cannot be created, and allow mingw errno.
10691
10692         getcwd-lgpl: fix m4 to match relaxed test for BSD
10693         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
10694         (gl_FUNC_GETCWD_SIGNATURE): New macro.
10695         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
10696         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
10697         signature problem.
10698
10699         getcwd: fix compilation on mingw64
10700         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
10701         getcwd.
10702         Reported by Marc-André Lureau.
10703
10704         pipe2: silence compiler warning
10705         * lib/pipe2.c (pipe2): Hide label if it is not used.
10706
10707 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
10708
10709         relocatable-prog: fix link error
10710         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
10711         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
10712         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
10713         into modules/relocatable-lib without noticing that
10714         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
10715         also needs to build relocatable.c.
10716
10717 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
10718
10719         getaddrinfo: fix sh typo in gai_strerrorA decl checking
10720         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
10721         shell code: it contained a 'break' that was not in a loop.
10722         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
10723         via a shell-language loop; this may have been true in old Autoconf
10724         versions, but it's not true in Autoconf 2.68.  I found this bug
10725         when testing coreutils git on Solaris 8, whose shell complains
10726         about the syntax error.
10727
10728 2011-08-12  Simon Josefsson  <simon@josefsson.org>
10729
10730         * lib/base64.c: Fix comment to reference RFC 4648.
10731         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
10732         <gvtulder@gmail.com>.
10733
10734 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
10735
10736         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
10737
10738         po/Makefile.in.in: fix make -q problem
10739         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
10740         rule, since there's no file named 'check-macro-version' and its
10741         use as a file breaks make -q.
10742         (all): Don't depend on check-macro-version.
10743         (CHECK_MACRO_VERSION): New macro.
10744         (stamp-po): Use it.
10745
10746         configmake: fix make -q problem
10747         * modules/configmake (configmake.h): Update configmake.h's time stamp
10748         even if the file does not change.  Otherwise, 'make -q' fails.
10749         Problem reported by Simon Josefsson in
10750         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
10751
10752 2011-08-11  Jim Meyering  <meyering@redhat.com>
10753
10754         git-version-gen: correct the advice in a comment
10755         * build-aux/git-version-gen: Correct comment.
10756         Don't recommend to list .tarball-version in .gitignore.
10757
10758 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
10759
10760         base64: fix off-by-one buffer size bug
10761         Problem and (trivial) fix reported by Gijs van Tulder in
10762         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
10763         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
10764         * tests/test-base64.c (main): Catch the bug.
10765
10766 2011-08-10  Eric Blake  <eblake@redhat.com>
10767
10768         closein: correct comments
10769         * lib/closein.c (close_stdin): Improve comments.
10770
10771 2011-08-09  Bruno Haible  <bruno@clisp.org>
10772
10773         More tests for 'fseeko'.
10774         * tests/test-fseeko3.c: New file, from Eric Blake.
10775         * tests/test-fseeko3.sh: New file.
10776         * modules/fseeko-tests (Files): Add them.
10777         (TESTS): Add test-fseeko3.sh.
10778         (check_PROGRAMS): Add test-fseeko3.
10779
10780 2011-08-09  Eric Blake  <eblake@redhat.com>
10781
10782         fseeko: remove unneeded hack
10783         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
10784
10785         fseeko: fix bug on glibc
10786         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
10787         Reported by John W. Eaton.
10788
10789 2011-08-08  Bruno Haible  <bruno@clisp.org>
10790
10791         unictype/base: Fix interoperability with preinstalled libunistring.
10792         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
10793         Reported by Simon Josefsson.
10794
10795 2011-08-08  Bruno Haible  <bruno@clisp.org>
10796
10797         iswblank: Detect declaration correctly.
10798         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
10799         AC_CHECK_DECLS invocation.
10800
10801 2011-08-08  Bruno Haible  <bruno@clisp.org>
10802
10803         tcgetsid: Detect declaration correctly.
10804         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
10805         AC_CHECK_DECLS invocation.
10806         Reported by Simon Josefsson.
10807
10808 2011-08-08  Eric Blake  <eblake@redhat.com>
10809
10810         largefile: fix typo that regressed large file support
10811         * modules/largefile (configure.ac-early): Fix section name.
10812
10813 2011-08-06  Karl Berry  <karl@gnu.org>
10814
10815         * MODULES.html.sh (func_all_files): _Noreturn is no longer
10816         a separate module.
10817
10818 2011-08-05  Simon Josefsson  <simon@josefsson.org>
10819
10820         openat: Fix warnings and commens when building unlinkat.c on Hurd.
10821         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
10822         get prototype for free.
10823
10824 2011-08-04  Bruno Haible  <bruno@clisp.org>
10825
10826         Tests for module 'pathmax'.
10827         * modules/pathmax-tests: New file.
10828         * tests/test-pathmax.c: New file.
10829
10830         canonicalize-lgpl: Support larger filenames on the Hurd.
10831         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
10832         Reported by Paul Eggert.
10833
10834         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
10835         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
10836         * lib/chdir-long.h: Include pathmax.h.
10837         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
10838         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
10839         (PATH_MAX): Remove code that is done by pathmax.h.
10840         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
10841         * lib/tmpfile.c: Add a comment.
10842         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
10843         * modules/chdir-long (Depends-on): Add pathmax.
10844         * modules/getcwd (Depends-on): Add pathmax.
10845         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
10846         is not defined.
10847         * doc/posix-headers/limits.texi: Mention the pathmax module.
10848         * NEWS: Mention the change.
10849
10850 2011-08-02  Bruno Haible  <bruno@clisp.org>
10851
10852         pthread_sigmask: Actually use results of gl_THREADLIB.
10853         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
10854         gl_THREADLIB, not gl_[]THREADLIB.
10855         Reported by Eric Blake.
10856
10857 2011-08-02  Jim Meyering  <meyering@redhat.com>
10858
10859         maint.mk: relax the default _gl_TS_function_match regexp
10860         * top/maint.mk (_gl_TS_function_match): Don't require at least one
10861         space between function name and "(" in an "extern" declaration.
10862         That would fail to match a decl with no space there: extern void foo();
10863
10864 2011-07-31  Iain Nicol  <iain@thenicols.net>
10865
10866         git-version-gen: document that EXTRA_DIST must include .version
10867         * build-aux/git-version-gen: In the how-to-use comment, document
10868         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
10869         will fail when run from an unpacked distribution tarball.
10870
10871 2011-08-01  Bruno Haible  <bruno@clisp.org>
10872
10873         wctype-h: Fix last change.
10874         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
10875         REPLACE_TOWLOWER to 0.
10876         Reported by Sam Steingold <sds@gnu.org>.
10877
10878 2011-07-31  Bruno Haible  <bruno@clisp.org>
10879
10880         frexpl: Update autoconf test.
10881         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
10882         according to changes of 2011-06-20.
10883
10884 2011-07-31  Bruno Haible  <bruno@clisp.org>
10885
10886         sys_utsname: Add support for Minix.
10887         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
10888         <sys/utsname.h>.
10889         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
10890         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
10891
10892 2011-07-31  Bruno Haible  <bruno@clisp.org>
10893
10894         strings: Add support for Minix.
10895         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
10896         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
10897         * doc/posix-headers/strings.texi: Document the Minix problem.
10898
10899 2011-07-31  Bruno Haible  <bruno@clisp.org>
10900
10901         wctype-h: Add support for Minix.
10902         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
10903         REPLACE_TOWLOWER.
10904         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
10905         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
10906         REPLACE_ISWCNTRL.
10907
10908 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
10909
10910         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
10911         This is a performance improvement for 64-bit hosts: it causes the
10912         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
10913
10914 2011-07-31  Bruno Haible  <bruno@clisp.org>
10915
10916         stdioext: Add support for Minix.
10917         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
10918         * lib/fpurge.c (fpurge): Likewise.
10919         * lib/freadahead.c (freadahead): Likewise.
10920         * lib/freadable.c (freadable): Likewise.
10921         * lib/freading.c (freading): Likewise.
10922         * lib/freadptr.c (freadptr): Likewise.
10923         * lib/freadseek.c (freadptrinc): Likewise.
10924         * lib/fseeko.c (rpl_fseeko): Likewise.
10925         * lib/fseterr.c (fseterr): Likewise.
10926         * lib/fwritable.c (fwritable): Likewise.
10927         * lib/fwriting.c (fwriting): Likewise.
10928         * lib/fflush.c (clear_ungetc_buffer): Update comment.
10929         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
10930
10931 2011-07-31  Bruno Haible  <bruno@clisp.org>
10932
10933         errno: Port to Minix.
10934         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
10935         ECONNABORTED are defined.
10936         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
10937         GNULIB_defined_ECONNABORTED): New macros.
10938         * lib/strerror-override.h (strerror_override): Test also
10939         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
10940         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
10941         ECONNABORTED.
10942         * doc/posix-headers/errno.texi: Mention the Minix problem.
10943
10944 2011-07-31  Bruno Haible  <bruno@clisp.org>
10945
10946         Work around declaration collisions on Minix.
10947         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
10948         defined, set REPLACE_MBSINIT.
10949         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
10950         defined, set REPLACE_MBRTOWC.
10951         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
10952         set REPLACE_MBRLEN.
10953         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
10954         defined, set REPLACE_MBSRTOWCS.
10955         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
10956         defined, set REPLACE_WCRTOMB.
10957         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
10958         defined, set REPLACE_WCSRTOMBS.
10959
10960 2011-07-31  Bruno Haible  <bruno@clisp.org>
10961
10962         Add support for Minix with ACK compiler.
10963         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
10964         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
10965         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
10966
10967 2011-07-31  Bruno Haible  <bruno@clisp.org>
10968
10969         Documentation about Minix.
10970         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
10971         * doc/glibc-headers/*.texi: Likewise.
10972         * doc/posix-functions/*.texi: Likewise.
10973         * doc/glibc-functions/*.texi: Likewise.
10974
10975 2011-07-31  Bruno Haible  <bruno@clisp.org>
10976
10977         snippet/warn-on-use: Fix indentation.
10978         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
10979
10980 2011-07-25  Jim Meyering  <meyering@redhat.com>
10981
10982         tests: test-update-copyright.sh: remove unnecessary "rm" commands
10983         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
10984         commands.
10985
10986 2011-07-27  Jim Meyering  <meyering@redhat.com>
10987
10988         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
10989         * top/maint.mk (gl_extract_significant_defines_): Now that
10990         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
10991         gnulib/lib/signal.in.h, and now that we recommend to
10992         define-if-undefined those two symbols in application code,
10993         we must filter them out of the "significant" list.
10994         This avoids a "make syntax-check" failure in coreutils.
10995
10996 2011-07-26  Eric Blake  <eblake@redhat.com>
10997
10998         warnings: add comments about previous patch
10999         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
11000         * m4/include_next.m4: Likewise.
11001         * m4/warn-on-use.m4: Likewise.
11002         * m4/warnings.m4: Likewise, and simplify use.
11003         Suggested by Stefano Lattarini.
11004
11005         include-next, warnings: support older autoconf
11006         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
11007         AS_VAR_PUSHDEF in a way that works with older autoconf.
11008         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
11009         Reported by Daniel P. Berrange.
11010
11011 2011-07-25  Bruno Haible  <bruno@clisp.org>
11012
11013         fseek, ftell: Fix doc.
11014         * doc/posix-functions/fseek.texi: Reword statement about
11015         AC_SYS_LARGEFILE.
11016         * doc/posix-functions/ftell.texi: Likewise.
11017
11018 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
11019             Bruno Haible  <bruno@clisp.org>
11020
11021         Add dependencies to the 'largefile' module.
11022         * modules/fopen (Depends-on): Add 'largefile'.
11023         * modules/freopen (Depends-on): Likewise.
11024         * modules/fseeko (Depends-on): Likewise.
11025         * modules/ftello (Depends-on): Likewise.
11026         * modules/glob (Depends-on): Likewise.
11027         * modules/lseek (Depends-on): Likewise.
11028         * modules/lstat (Depends-on): Likewise.
11029         * modules/mkostemp (Depends-on): Likewise.
11030         * modules/mkostemps (Depends-on): Likewise.
11031         * modules/mkstemp (Depends-on): Likewise.
11032         * modules/mkstemps (Depends-on): Likewise.
11033         * modules/open (Depends-on): Likewise.
11034         * modules/openat (Depends-on): Likewise.
11035         * modules/pread (Depends-on): Likewise.
11036         * modules/pwrite (Depends-on): Likewise.
11037         * modules/scandir (Depends-on): Likewise.
11038         * modules/stat (Depends-on): Likewise.
11039         * modules/tmpfile (Depends-on): Likewise.
11040         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
11041         since the containing module now depends on the largefile module.
11042         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
11043         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
11044         off_t is fixed by gnulib.
11045         * doc/posix-functions/freopen.texi: Likewise.
11046         * doc/posix-functions/fseeko.texi: Likewise.
11047         * doc/posix-functions/fstatat.texi: Likewise.
11048         * doc/posix-functions/ftello.texi: Likewise.
11049         * doc/posix-functions/glob.texi: Likewise.
11050         * doc/posix-functions/lseek.texi: Likewise.
11051         * doc/posix-functions/lstat.texi: Likewise.
11052         * doc/posix-functions/mkstemp.texi: Likewise.
11053         * doc/posix-functions/open.texi: Likewise.
11054         * doc/posix-functions/openat.texi: Likewise.
11055         * doc/posix-functions/pread.texi: Likewise.
11056         * doc/posix-functions/pwrite.texi: Likewise.
11057         * doc/posix-functions/scandir.texi: Likewise.
11058         * doc/posix-functions/stat.texi: Likewise.
11059         * doc/posix-functions/tmpfile.texi: Likewise.
11060         * doc/glibc-functions/mkostemp.texi: Likewise.
11061         * doc/glibc-functions/mkostemps.texi: Likewise.
11062         * doc/glibc-functions/mkstemps.texi: Likewise.
11063
11064 2011-07-25  Bruno Haible  <bruno@clisp.org>
11065
11066         fcntl: Move AC_LIBOBJ invocation to module description.
11067         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
11068         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
11069
11070         fcntl: Remove call-in from fchdir.m4.
11071         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
11072         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
11073
11074         dup3: Remove potential call-in from fchdir.m4.
11075         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
11076         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
11077
11078         dup2: Move AC_LIBOBJ invocation to module description.
11079         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
11080         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
11081         Don't invoke AC_LIBOBJ.
11082         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
11083
11084         dup2: Remove call-in from fchdir.m4.
11085         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
11086         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
11087
11088         fclose: Move AC_LIBOBJ invocation to module description.
11089         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
11090         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
11091         to 1.
11092         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
11093
11094         fclose: Remove call-in from close.m4.
11095         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
11096         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
11097
11098         close: Move AC_LIBOBJ invocation to module description.
11099         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
11100         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
11101         1.
11102         * modules/close (configure.ac): Invoke AC_LIBOBJ.
11103
11104         close: Remove call-in from fchdir.m4.
11105         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
11106         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
11107
11108         open: Move AC_LIBOBJ invocation to module description.
11109         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
11110         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
11111         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
11112
11113         open: Remove call-in from fchdir.m4.
11114         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
11115         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
11116
11117         fchdir: Start to remove gl_REPLACE_* idiom.
11118         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
11119         (gl_FUNC_FCHDIR): Invoke it.
11120
11121 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
11122
11123         * lib/ftell.c (ftell): Comment out cast.
11124
11125         close: use gl_REPLACE_FCLOSE only if defined
11126         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
11127         is defined.  The close module doesn't depend on the fclose module
11128         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
11129         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
11130         I reproduced the problem with "./gnulib-tool --test close sys_socket".
11131
11132 2011-07-24  Jim Meyering  <meyering@redhat.com>
11133
11134         test-select.h: avoid warning when using gcc's -Wmissing-declarations
11135         * tests/test-select.h (test_function): Declare as "static".
11136
11137 2011-07-24  Bruno Haible  <bruno@clisp.org>
11138
11139         doc: Mention the effects of AC_SYS_LARGEFILE.
11140         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
11141         on this function.
11142         * doc/posix-functions/aio_error.texi: Likewise.
11143         * doc/posix-functions/aio_fsync.texi: Likewise.
11144         * doc/posix-functions/aio_read.texi: Likewise.
11145         * doc/posix-functions/aio_return.texi: Likewise.
11146         * doc/posix-functions/aio_suspend.texi: Likewise.
11147         * doc/posix-functions/aio_write.texi: Likewise.
11148         * doc/posix-functions/fgetpos.texi: Likewise.
11149         * doc/posix-functions/fopen.texi: Likewise.
11150         * doc/posix-functions/freopen.texi: Likewise.
11151         * doc/posix-functions/fsetpos.texi: Likewise.
11152         * doc/posix-functions/fstatvfs.texi: Likewise.
11153         * doc/posix-functions/ftruncate.texi: Likewise.
11154         * doc/posix-functions/ftw.texi: Likewise.
11155         * doc/posix-functions/getrlimit.texi: Likewise.
11156         * doc/posix-functions/glob.texi: Likewise.
11157         * doc/posix-functions/lio_listio.texi: Likewise.
11158         * doc/posix-functions/lockf.texi: Likewise.
11159         * doc/posix-functions/mkstemp.texi: Likewise.
11160         * doc/posix-functions/mmap.texi: Likewise.
11161         * doc/posix-functions/nftw.texi: Likewise.
11162         * doc/posix-functions/openat.texi: Likewise.
11163         * doc/posix-functions/opendir.texi: Likewise.
11164         * doc/posix-functions/posix_fadvise.texi: Likewise.
11165         * doc/posix-functions/posix_fallocate.texi: Likewise.
11166         * doc/posix-functions/pread.texi: Likewise.
11167         * doc/posix-functions/pwrite.texi: Likewise.
11168         * doc/posix-functions/readdir.texi: Likewise.
11169         * doc/posix-functions/readdir_r.texi: Likewise.
11170         * doc/posix-functions/rewinddir.texi: Likewise.
11171         * doc/posix-functions/scandir.texi: Likewise.
11172         * doc/posix-functions/seekdir.texi: Likewise.
11173         * doc/posix-functions/setrlimit.texi: Likewise.
11174         * doc/posix-functions/statvfs.texi: Likewise.
11175         * doc/posix-functions/telldir.texi: Likewise.
11176         * doc/posix-functions/tmpfile.texi: Likewise.
11177         * doc/posix-functions/truncate.texi: Likewise.
11178         * doc/glibc-functions/fallocate.texi: Likewise.
11179         * doc/glibc-functions/fstatfs.texi: Likewise.
11180         * doc/glibc-functions/fts_children.texi: Likewise.
11181         * doc/glibc-functions/fts_read.texi: Likewise.
11182         * doc/glibc-functions/getdirentries.texi: Likewise.
11183         * doc/glibc-functions/mkostemp.texi: Likewise.
11184         * doc/glibc-functions/mkostemps.texi: Likewise.
11185         * doc/glibc-functions/mkstemps.texi: Likewise.
11186         * doc/glibc-functions/preadv.texi: Likewise.
11187         * doc/glibc-functions/pwritev.texi: Likewise.
11188         * doc/glibc-functions/sendfile.texi: Likewise.
11189         * doc/glibc-functions/statfs.texi: Likewise.
11190
11191 2011-07-24  Bruno Haible  <bruno@clisp.org>
11192
11193         doc: Fix typo.
11194         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
11195
11196 2011-07-24  Bruno Haible  <bruno@clisp.org>
11197
11198         doc: Mention fsusage.
11199         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
11200
11201 2011-07-24  Bruno Haible  <bruno@clisp.org>
11202
11203         doc: Mention new glibc headers and functions.
11204         * doc/glibc-headers/gshadow.texi: New file.
11205         * doc/glibc-functions/endsgent.texi: New file.
11206         * doc/glibc-functions/fgetsgent.texi: New file.
11207         * doc/glibc-functions/fgetsgent_r.texi: New file.
11208         * doc/glibc-functions/getsgent.texi: New file.
11209         * doc/glibc-functions/getsgent_r.texi: New file.
11210         * doc/glibc-functions/getsgnam.texi: New file.
11211         * doc/glibc-functions/getsgnam_r.texi: New file.
11212         * doc/glibc-functions/putsgent.texi: New file.
11213         * doc/glibc-functions/setsgent.texi: New file.
11214         * doc/glibc-functions/sgetsgent.texi: New file.
11215         * doc/glibc-functions/sgetsgent_r.texi: New file.
11216         * doc/glibc-functions/malloc_info.texi: New file.
11217         * doc/glibc-functions/preadv.texi: New file.
11218         * doc/glibc-functions/pwritev.texi: New file.
11219         * doc/glibc-functions/register_printf_modifier.texi: New file.
11220         * doc/glibc-functions/register_printf_specifier.texi: New file.
11221         * doc/glibc-functions/register_printf_type.texi: New file.
11222         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
11223         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
11224         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
11225         * doc/glibc-functions/pthread_getname_np.texi: New file.
11226         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
11227         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
11228         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
11229         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
11230         * doc/glibc-functions/pthread_setname_np.texi: New file.
11231         * doc/glibc-functions/pthread_sigqueue.texi: New file.
11232         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
11233         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
11234         * doc/glibc-functions/qsort_r.texi: New file.
11235         * doc/glibc-functions/quick_exit.texi: New file.
11236         * doc/glibc-functions/syncfs.texi: New file.
11237         * doc/gnulib.texi: Include them.
11238         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
11239         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
11240         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
11241         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
11242         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
11243         * doc/glibc-functions/execvpe.texi: Likewise.
11244
11245 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
11246
11247         ftell: don't include <unistd.h>
11248         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
11249         guaranteed to define off_t, and the ftell module depends on the
11250         stdio module.
11251
11252         ftell: do not assume wraparound signed arithmetic
11253         * lib/ftell.c: Include <limits.h>.
11254         (ftell): Don't assume wraparound signed arithmetic.
11255
11256 2011-07-24  Bruno Haible  <bruno@clisp.org>
11257
11258         close: No longer depend on module 'fclose'.
11259         * modules/close (Depends-on): Remove fclose.
11260         * NEWS: Mention the change.
11261         Suggested by Sam Steingold <sds@gnu.org>.
11262
11263 2011-07-24  Bruno Haible  <bruno@clisp.org>
11264
11265         fsusage: Enable large volume support on AIX >= 5.2.
11266         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
11267         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
11268         instead of STAT_STATVFS.
11269         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
11270
11271         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
11272         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
11273         f_blocks field only on MacOS X.
11274
11275         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
11276         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
11277         * modules/fsusage (Depends-on): Add largefile.
11278
11279 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
11280
11281         * README: Modernize discussion of signed integers.
11282         Assuming overflow wraparound is no longer safe.
11283         Mention ones' complement and signed magnitude.
11284
11285 2011-07-22  Bruno Haible  <bruno@clisp.org>
11286
11287         select tests, pselect tests: Refactor.
11288         * tests/test-select.h: New file, extracted from tests/test-select.c.
11289         (select_fn): New type.
11290         (test, do_select, do_select_nowait, do_select_wait, test_tty,
11291         test_connect_first, test_accept_first, test_pair, test_socket_pair,
11292         test_pipe): Add my_select argument.
11293         (test_function): Renamed from main. Add my_select argument.
11294         * tests/test-select.c: Move most code to tests/test-select.h. Include
11295         test-select.h.
11296         * modules/select-tests (Files): Add tests/test-select.h.
11297         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
11298         (my_select, main): New functions.
11299         * modules/pselect-tests (Files): Add tests/test-select.h,
11300         tests/macros.h, tests/signature.h.
11301         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
11302         (configure.ac): Check for <sys/wait.h>.
11303
11304 2011-07-22  Bruno Haible  <bruno@clisp.org>
11305
11306         sys_select tests: Check the signature of FD_*.
11307         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
11308         signature tests from here...
11309         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
11310         here.
11311         * modules/sys_select-tests (Files): Add tests/signature.h.
11312
11313 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
11314
11315         largefile: new module, replacing large-inode
11316         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
11317         * MODULES.html.sh: Add largefile, remove large-inode.
11318         * modules/largefile, m4/largefile.m4: New files.
11319         * modules/large-inode, m4/large-inode.m4: Remove.
11320
11321         fsusage: port to MacOS X 10.7 with 4 TiB file systems
11322         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
11323         implementations that use only 32 bits to count blocks.
11324         On typical hosts with 1024-byte blocks, this fails with file
11325         systems as small as 4 TiB.  Problem reported by Herb Wartens
11326         <http://debbugs.gnu.org/9140> and this should also fix a similar
11327         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
11328
11329         large-inode: New module
11330         * MODULES.html.sh: Add it.
11331         * modules/large-inode, m4/large-inode.m4: New files.
11332
11333         extensions: Enable extensions on MacOS X 10.5 and later.
11334         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
11335
11336 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
11337
11338         file-has-acl: use acl_extended_file_nofollow if available
11339         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
11340         (acl_extended_file): New macro.
11341         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
11342         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
11343
11344 2011-07-21  Bruno Haible  <bruno@clisp.org>
11345
11346         Declare system functions in a way that works with C++.
11347         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
11348         declare fdopendir as extern "C".
11349         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
11350         declare frexpl as extern "C".
11351         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
11352         declare gai_strerror as extern "C".
11353         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
11354         programs, declare gai_strerror as extern "C".
11355         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
11356         declare getlogin_r as extern "C".
11357         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
11358         as extern "C".
11359         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
11360         declare ldexpl as extern "C".
11361         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
11362         as extern "C".
11363         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
11364         program, declare getmntinfo as extern "C".
11365         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
11366         stpncpy as extern "C".
11367         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
11368         program, declare __xpg_strerror_r as extern "C".
11369         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
11370         strndup as extern "C".
11371         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
11372         declare memset and bzero as extern "C".
11373         Reported by Sam Steingold <sds@gnu.org>.
11374
11375 2011-07-12  Jim Meyering  <meyering@redhat.com>
11376
11377         maint.mk: prohibit inclusion of "verify.h" without use
11378         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
11379
11380 2011-07-19  Pádraig Brady  <P@draigBrady.com>
11381
11382         timer-time: A new module to check for timer_settime()
11383         * m4/timer_time.m4: Check for the posix function.
11384         * modules/timer-time: Add the new module.
11385         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
11386         Mention it.
11387
11388 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
11389             Bruno Haible  <bruno@clisp.org>
11390
11391         pthread_sigmask: assume POSIX threads if --avoid=threadlib
11392         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
11393         not defined, assume POSIX threads and look for pthread_sigmask in
11394         $LIBS, without changing $CPPFLAGS.
11395
11396 2011-07-19  Bruno Haible  <bruno@clisp.org>
11397
11398         strstr: Update cross-compilation guess.
11399         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
11400         CPUs, guess no, in view of glibc
11401         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
11402         Suggested by Eric Blake. Reported by Reuben Thomas.
11403
11404 2011-07-19  Pádraig Brady  <P@draigBrady.com>
11405
11406         getopt-gnu: suppress core dumps from detection code
11407         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
11408         to suppress core dumps that may well occur on glibc systems.
11409         * modules/getopt-gnu: Depend on nocrash.
11410
11411 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
11412
11413         pthread_sigmask: ensure usleep is declared
11414         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
11415         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
11416
11417 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
11418
11419         doc: Document NonStop portability issues.
11420         * doc/posix-functions/sigaction.texi (sigaction):
11421         * doc/posix-headers/signal.texi (signal.h):
11422         Document NonStop.  See Joachim Schmitz in
11423         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
11424
11425 2011-07-15  Bruno Haible  <bruno@clisp.org>
11426
11427         ffsl, ffsll: Avoid unportable behaviour.
11428         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
11429
11430 2011-07-15  Bruno Haible  <bruno@clisp.org>
11431
11432         ffs: More tests.
11433         * tests/test-ffs.c (NBITS): New macro.
11434         (main): Add more tests.
11435         * tests/test-ffsl.c (NBITS): New macro.
11436         (main): Add more tests.
11437         * tests/test-ffsll.c (NBITS): New macro.
11438         (main): Add more tests.
11439
11440 2011-07-15  Eric Blake  <eblake@redhat.com>
11441
11442         ffsl, ffsll: new modules
11443         * modules/ffsl: New file.
11444         * modules/ffsll: Likewise.
11445         * m4/ffsl.m4: Likewise.
11446         * m4/ffsll.m4: Likewise.
11447         * lib/ffsl.c: Likewise.
11448         * lib/ffsl.h: Likewise.
11449         * lib/ffsll.c: Likewise.
11450         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
11451         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
11452         * modules/string (Makefile.am): Substitute witnesses.
11453         * lib/strings.in.h (ffsl, ffsll): Declare.
11454         * modules/ffsl-tests: New test file.
11455         * modules/ffsll-tests: Likewise.
11456         * tests/test-ffsl.c: Likewise.
11457         * tests/test-ffsll.c: Likewise.
11458         * MODULES.html.sh (Integer arithmetic functions): Mention it.
11459         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
11460         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
11461
11462         ffs: fix m4 prerequisite
11463         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
11464
11465         ffs: avoid undefined behavior
11466         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
11467         * tests/test-ffs.c (naive, main): Avoid signed shifts.
11468         Reported by Bruno Haible.
11469
11470 2011-07-12  Bruno Haible  <bruno@clisp.org>
11471
11472         pthread_sigmask: Rely on module 'threadlib'.
11473         * modules/pthread_sigmask (Depends-on): Add threadlib.
11474         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
11475         is defined.
11476
11477 2011-07-12  Bruno Haible  <bruno@clisp.org>
11478
11479         regex: Depend on module 'strcase'.
11480         * modules/regex (Depends-on): Add strcase, for strcasecmp().
11481
11482 2011-07-12  Jim Meyering  <meyering@redhat.com>
11483
11484         warn-on-use: fix typo in file name
11485         * modules/snippet/warn-on-use (Files): Correct file name:
11486         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
11487
11488 2011-07-12  Bruno Haible  <bruno@clisp.org>
11489
11490         strings: Document module.
11491         * doc/posix-headers/strings.texi: Mention module 'strings'.
11492
11493 2011-07-12  Bruno Haible  <bruno@clisp.org>
11494
11495         Rename module '_Noreturn' to 'snippet/_Noreturn'.
11496         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
11497         (Files, Makefile.am): Update.
11498         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
11499         * modules/stdlib (Depends-on): Update.
11500
11501 2011-07-12  Bruno Haible  <bruno@clisp.org>
11502
11503         * NEWS: Mention the changes.
11504
11505         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
11506         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
11507         (Files, Makefile.am): Update.
11508         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
11509         * modules/arpa_inet (Depends-on): Update.
11510         * modules/ctype (Depends-on): Update.
11511         * modules/dirent (Depends-on): Update.
11512         * modules/fcntl-h (Depends-on): Update.
11513         * modules/glob (Depends-on): Update.
11514         * modules/iconv-h (Depends-on): Update.
11515         * modules/inttypes-incomplete (Depends-on): Update.
11516         * modules/langinfo (Depends-on): Update.
11517         * modules/locale (Depends-on): Update.
11518         * modules/math (Depends-on): Update.
11519         * modules/netdb (Depends-on): Update.
11520         * modules/poll-h (Depends-on): Update.
11521         * modules/pty (Depends-on): Update.
11522         * modules/search (Depends-on): Update.
11523         * modules/signal (Depends-on): Update.
11524         * modules/spawn (Depends-on): Update.
11525         * modules/stdio (Depends-on): Update.
11526         * modules/stdlib (Depends-on): Update.
11527         * modules/string (Depends-on): Update.
11528         * modules/strings (Depends-on): Update.
11529         * modules/sys_file (Depends-on): Update.
11530         * modules/sys_ioctl (Depends-on): Update.
11531         * modules/sys_select (Depends-on): Update.
11532         * modules/sys_socket (Depends-on): Update.
11533         * modules/sys_stat (Depends-on): Update.
11534         * modules/sys_time (Depends-on): Update.
11535         * modules/sys_times (Depends-on): Update.
11536         * modules/sys_utsname (Depends-on): Update.
11537         * modules/sys_wait (Depends-on): Update.
11538         * modules/termios (Depends-on): Update.
11539         * modules/time (Depends-on): Update.
11540         * modules/unistd (Depends-on): Update.
11541         * modules/wchar (Depends-on): Update.
11542         * modules/wctype-h (Depends-on): Update.
11543         * MODULES.html.sh (Support for building libraries and executables):
11544         Update.
11545
11546         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
11547         * modules/snippet/unused-parameter: Renamed from
11548         modules/unused-parameter.
11549         (Files, Makefile.am): Update.
11550         * build-aux/snippet/unused-parameter.h: Renamed from
11551         build-aux/unused-parameter.h.
11552         * modules/selinux-h (Depends-on): Update.
11553         * modules/unistr/base (Depends-on): Update.
11554         * MODULES.html.sh (Core language properties): Update.
11555
11556         Rename module 'link-warning' to 'snippet/link-warning'.
11557         * modules/snippet/link-warning: Renamed from modules/link-warning.
11558         (Files, Makefile.am): Update.
11559         * build-aux/snippet/link-warning.h: Renamed from
11560         build-aux/link-warning.h.
11561         * MODULES.html.sh (Support for building libraries and executables):
11562         Update.
11563
11564         Rename module 'c++defs' to 'snippet/c++defs'.
11565         * modules/snippet/c++defs: Renamed from modules/c++defs.
11566         (Files, Makefile.am): Update.
11567         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
11568         * modules/arpa_inet (Depends-on): Update.
11569         * modules/ctype (Depends-on): Update.
11570         * modules/dirent (Depends-on): Update.
11571         * modules/fcntl-h (Depends-on): Update.
11572         * modules/glob (Depends-on): Update.
11573         * modules/iconv-h (Depends-on): Update.
11574         * modules/langinfo (Depends-on): Update.
11575         * modules/locale (Depends-on): Update.
11576         * modules/math (Depends-on): Update.
11577         * modules/netdb (Depends-on): Update.
11578         * modules/poll-h (Depends-on): Update.
11579         * modules/pty (Depends-on): Update.
11580         * modules/search (Depends-on): Update.
11581         * modules/signal (Depends-on): Update.
11582         * modules/spawn (Depends-on): Update.
11583         * modules/stdio (Depends-on): Update.
11584         * modules/stdlib (Depends-on): Update.
11585         * modules/string (Depends-on): Update.
11586         * modules/strings (Depends-on): Update.
11587         * modules/sys_ioctl (Depends-on): Update.
11588         * modules/sys_select (Depends-on): Update.
11589         * modules/sys_socket (Depends-on): Update.
11590         * modules/sys_stat (Depends-on): Update.
11591         * modules/sys_time (Depends-on): Update.
11592         * modules/sys_wait (Depends-on): Update.
11593         * modules/termios (Depends-on): Update.
11594         * modules/time (Depends-on): Update.
11595         * modules/unistd (Depends-on): Update.
11596         * modules/wchar (Depends-on): Update.
11597         * modules/wctype-h (Depends-on): Update.
11598
11599         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
11600         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
11601         (Files, Makefile.am): Update.
11602         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
11603         * modules/argv-iter (Depends-on): Update.
11604         * modules/arpa_inet (Depends-on): Update.
11605         * modules/dirent (Depends-on): Update.
11606         * modules/fcntl-h (Depends-on): Update.
11607         * modules/fnmatch (Depends-on): Update.
11608         * modules/getopt-posix (Depends-on): Update.
11609         * modules/glob (Depends-on): Update.
11610         * modules/iconv-h (Depends-on): Update.
11611         * modules/inttypes-incomplete (Depends-on): Update.
11612         * modules/locale (Depends-on): Update.
11613         * modules/math (Depends-on): Update.
11614         * modules/netdb (Depends-on): Update.
11615         * modules/search (Depends-on): Update.
11616         * modules/signal (Depends-on): Update.
11617         * modules/spawn (Depends-on): Update.
11618         * modules/stdio (Depends-on): Update.
11619         * modules/stdlib (Depends-on): Update.
11620         * modules/string (Depends-on): Update.
11621         * modules/strings (Depends-on): Update.
11622         * modules/sys_socket (Depends-on): Update.
11623         * modules/sys_stat (Depends-on): Update.
11624         * modules/sys_time (Depends-on): Update.
11625         * modules/sys_times (Depends-on): Update.
11626         * modules/sys_utsname (Depends-on): Update.
11627         * modules/time (Depends-on): Update.
11628         * modules/unistd (Depends-on): Update.
11629         * modules/wchar (Depends-on): Update.
11630         * MODULES.html.sh (Support for building libraries and executables):
11631         Update.
11632
11633 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
11634
11635         Improvements on _Noreturn and related modules.
11636
11637         modules/_Exit-tests: test _Noreturn too
11638         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
11639         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
11640         (main): Use them.
11641
11642         stdnoreturn, stdnoreturn-tests: remove modules
11643         They're not needed here and a bit premature for use elsewhere.  See
11644         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
11645         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
11646         * tests/test-stdnoreturn.c: Remove files.
11647         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
11648         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
11649         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
11650         and using noreturn.
11651         * modules/openat, modules/sigpipe-die, modules/xalloc:
11652         * modules/xmemdup0, modules/xstrtol:
11653         Remove dependency on stdnoreturn.
11654
11655         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
11656         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
11657         Reparenthesize to avoid GCC warning.
11658         Support Microsoft's syntax.
11659         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
11660
11661         _Noreturn-tests: remove module
11662         * modules/_Noreturn-tests: Remove.
11663         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
11664         * tests/test-_Noreturn.c: Remove.
11665         * tests/test-stdnoreturn.c: Merge from the old
11666         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
11667
11668 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
11669
11670         _Noreturn, stdnoreturn, and related modules.
11671
11672         * top/maint.mk: Adjust to new noreturn support.
11673         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
11674         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
11675
11676         xalloc: use stdnoreturn.h
11677         * lib/xalloc.h: Include <stdnoreturn.h>.
11678         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
11679         * modules/xalloc (Depends-on): Add stdnoreturn.
11680
11681         xstrtol: use stdnoreturn.h
11682         * lib/xstrtol.h: Include <stdnoreturn.h>.
11683         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
11684         * modules/xstrtol (Depends-on): Add stdnoreturn.
11685
11686         xmemdup0: use stdnoreturn.h
11687         * lib/xmemdup0.h: Include <stdnoreturn.h>.
11688         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
11689         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
11690
11691         sigpipe-die: use stdnoreturn.h
11692         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
11693         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
11694         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
11695
11696         openat: use stdnoreturn.h
11697         * lib/openat.h: Include <stdnoreturn.h>.
11698         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
11699         * modules/openat (Depends-on): Add stdnoreturn.
11700
11701         * lib/openat-die.c (openat_save_fail): Modernize comment.
11702
11703         * lib/xalloc-die.c (xalloc_die): Modernize comment.
11704
11705         * lib/glthread/thread.h: Modernize comment.
11706
11707         obstack: use _Noreturn
11708         * lib/obstack.c (__attribute__): Remove macro.
11709         (print_and_abort): Use _Noreturn.
11710
11711         c-stack: use _Noreturn
11712         * lib/c-stack.c (die, overflow_handler, segv_handler):
11713         Use _Noreturn rather than __attribute__((noreturn)).
11714
11715         argmatch-tests, exclude_tests: use _Noreturn
11716         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
11717         Remove.
11718         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
11719
11720         stdlib: use _Noreturn
11721         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
11722         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
11723         * modules/stdlib (Depends-on): Add _Noreturn.
11724         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
11725
11726         stdnoreturn-tests: new module
11727         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
11728
11729         stdnoreturn: new module
11730         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
11731         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
11732
11733         _Noreturn-tests: new module
11734         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
11735
11736         _Noreturn: new module
11737         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
11738         New section, mentioning it.
11739         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
11740
11741         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
11742
11743 2011-07-11  Eric Blake  <eblake@redhat.com>
11744
11745         ffs: new module
11746         * modules/ffs: New file.
11747         * m4/ffs.m4: Likewise.
11748         * lib/ffs.c: Likewise.
11749         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
11750         * modules/strings (Makefile.am): Substitute witness.
11751         (Depends-on): Add c++defs.
11752         * lib/strings.in.h (ffs): Declare.
11753         * modules/ffs-tests: New test file.
11754         * tests/test-ffs.c: Test new module.
11755         * MODULES.html.sh (Integer arithmetic functions): Mention it.
11756         * doc/posix-functions/ffs.texi (ffs): Likewise.
11757
11758         regex: avoid compiler warning
11759         * lib/regex.c (includes): Include <strings.h>, for use of
11760         strcasecmp in regcomp.c.
11761         Reported by Joachim Schmitz.
11762
11763 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
11764
11765         stdint: respect system's intmax_t if INTMAX_MAX
11766         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
11767         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
11768         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
11769         long but int64_t is long long, and where we will clash with the
11770         system intmax_t if we override it.  See
11771         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
11772         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
11773         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
11774         similarly for UINTMAX_C.
11775
11776 2011-07-08  Bruno Haible  <bruno@clisp.org>
11777
11778         pthread_sigmask tests: Avoid a compiler warning.
11779         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
11780         non-zero.
11781
11782         sigprocmask tests: A better way to avoid a compiler warning.
11783         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
11784         (main): Complain if system() returns non-zero.
11785         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
11786
11787 2011-07-08  Bruno Haible  <bruno@clisp.org>
11788
11789         pthread_sigmask: Work around IRIX bug.
11790         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
11791         bug.
11792         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
11793         there may be unblocked pending signals.
11794         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
11795
11796 2011-07-08  Bruno Haible  <bruno@clisp.org>
11797
11798         pthread_sigmask: Work around Cygwin bug.
11799         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
11800         bug.
11801         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
11802         the system's pthread_sigmask function.
11803         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
11804
11805 2011-07-08  Bruno Haible  <bruno@clisp.org>
11806
11807         pthread_sigmask: Work around bug in single-threaded implementation.
11808         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
11809         FreeBSD, HP-UX, Solaris bug.
11810         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
11811         * lib/pthread_sigmask.c: Include <stddef.h>.
11812         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
11813         the system's pthread_sigmask function.
11814         * modules/pthread_sigmask (configure.ac): Invoke
11815         gl_PREREQ_PTHREAD_SIGMASK.
11816         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
11817         HP-UX, Solaris.
11818
11819 2011-07-08  Eric Blake  <eblake@redhat.com>
11820
11821         test-sigprocmask: avoid compiler warning
11822         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
11823         * tests/test-sigprocmask.c (main): Use it to silence warning.
11824         Reported by Jim Meyering.
11825
11826         test-snprintf: avoid compiler warning
11827         * tests/test-snprintf.c (main): Avoid shadowed declaration.
11828         * tests/test-vsnprintf.c (main): Likewise.
11829         Reported by Jim Meyering.
11830
11831 2011-07-08  Bruno Haible  <bruno@clisp.org>
11832
11833         Tests for module 'pthread_sigmask'.
11834         * modules/pthread_sigmask-tests: New file.
11835         * tests/test-pthread_sigmask1.c: New file, based on
11836         tests/test-sigprocmask.c.
11837         * tests/test-pthread_sigmask2.c: New file.
11838
11839 2011-07-08  Jim Meyering  <meyering@redhat.com>
11840
11841         test-getopt.h: avoid warning about an unused variable
11842         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
11843
11844 2011-07-07  Jim Meyering  <meyering@redhat.com>
11845
11846         maint: reduce list of files exempt from sc_prohibit_leading_TABs
11847         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
11848         now that it no longer contains leading TABs.
11849         Remove unused "url=FIXME" statement.
11850
11851 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
11852
11853         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
11854         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
11855         When gl_THREADLIB is not in use, assume that the POSIX sematics
11856         are desired.  This is better for Emacs, which uses POSIX semantics
11857         on GNUish and/or POSIXish platforms, and does not use threads at
11858         all otherwise.
11859
11860         pthread_sigmask: fix typo when testing for libraries
11861         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
11862         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
11863
11864 2011-07-08  Eric Blake  <eblake@redhat.com>
11865
11866         fts: introduce FTS_NOATIME
11867         * lib/fts_.h (FTS_NOATIME): New bit flag.
11868         (FTS_OPTIONMASK): Adjust.
11869         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
11870         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
11871
11872 2011-07-08  Bruno Haible  <bruno@clisp.org>
11873
11874         Tests for module 'thread'.
11875         * modules/thread-tests: New file.
11876         * tests/test-thread_self.c: New file.
11877         * tests/test-thread_create.cc: New file.
11878
11879 2011-07-08  Bruno Haible  <bruno@clisp.org>
11880
11881         thread: Avoid gcc warnings when using gl_thread_self().
11882         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
11883         'void *'.
11884         (gl_thread_self_pointer): Update.
11885
11886 2011-07-07  Bruno Haible  <bruno@clisp.org>
11887
11888         signal-c++-tests: Check declaration of pthread_sigmask.
11889         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
11890         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
11891         $(LIB_PTHREAD_SIGMASK).
11892
11893 2011-07-07  Bruno Haible  <bruno@clisp.org>
11894
11895         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
11896         * lib/signal.in.h (pthread_sigmask): Override if
11897         REPLACE_PTHREAD_SIGMASK is 1.
11898         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
11899         REPLACE_PTHREAD_SIGMASK.
11900         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
11901         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
11902         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
11903         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
11904         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
11905
11906 2011-07-07  Bruno Haible  <bruno@clisp.org>
11907
11908         pthread_sigmask: Ensure declaration in <signal.h>.
11909         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
11910         include <pthread.h>.
11911         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
11912         problem.
11913
11914 2011-07-07  Bruno Haible  <bruno@clisp.org>
11915
11916         pthread_sigmask: Document the module.
11917         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
11918
11919 2011-07-07  Bruno Haible  <bruno@clisp.org>
11920
11921         pthread_sigmask: Follow gnulib conventions.
11922         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
11923         gl_PTHREAD_SIGMASK.
11924         * modules/pthread_sigmask (configure.ac): Update.
11925
11926 2011-07-07  Bruno Haible  <bruno@clisp.org>
11927
11928         pthread_sigmask: Make declaration C++ safe.
11929         * lib/signal.in.h: In two special conditions, just do an #include_next.
11930         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
11931         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
11932         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
11933         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
11934         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
11935         not REPLACE_PTHREAD_MASK.
11936         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
11937         not REPLACE_PTHREAD_MASK.
11938         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
11939
11940 2011-07-07  Bruno Haible  <bruno@clisp.org>
11941
11942         pthread_sigmask: Fix return value.
11943         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
11944         * lib/pthread_sigmask.c: New file.
11945         * modules/pthread_sigmask (Files): Add it.
11946         (configure.ac): Invoke AC_LIBOBJ.
11947
11948 2011-07-07  Eric Blake  <eblake@redhat.com>
11949
11950         getopt: more portable argv creation
11951         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
11952         const, use char arrays rather than strings.
11953         Suggested by Paul Eggert.
11954
11955 2011-07-07  Bruno Haible  <bruno@clisp.org>
11956
11957         Tests for module 'sigprocmask'.
11958         * modules/sigprocmask-tests: New file.
11959         * tests/test-sigprocmask.c: New file.
11960
11961 2011-07-07  Bruno Haible  <bruno@clisp.org>
11962
11963         float tests: Tweak.
11964         * tests/test-float.c (main): Tweak skip message.
11965
11966 2011-07-07  Eric Blake  <eblake@redhat.com>
11967
11968         getopt: avoid compiler warning during configure
11969         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
11970         assigning string literals to non-const pointer.
11971
11972         getopt-gnu: avoid crash in glibc getopt
11973         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
11974         * tests/test-getopt.h (test_getopt): Enhance test.
11975         * tests/test-getopt_long.h (test_getopt_long): Likewise.
11976         * doc/posix-functions/getopt.texi (getopt): Document it.
11977         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
11978         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
11979         Likewise.
11980
11981 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
11982
11983         getopt: handle W; without long options in getopt [BZ #12922]
11984         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
11985         but no long options are defined, just return 'W'.
11986
11987 2011-07-07  Bruno Haible  <bruno@clisp.org>
11988
11989         Avoid literal tabs.
11990         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
11991         variable containing a tab instead of a literal tab.
11992         Reported by Jim Meyering.
11993
11994 2011-07-07  Bruno Haible  <bruno@clisp.org>
11995
11996         Comments.
11997         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
11998
11999 2011-07-06  Bruno Haible  <bruno@clisp.org>
12000
12001         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
12002         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
12003         <winsock2.h>.
12004         (rpl_fd_isset, FD_ISSET): New definitions, copied from
12005         lib/sys_socket.in.h.
12006         (close, gethostname): Hide declarations from <winsock2.h>.
12007         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
12008         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
12009         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
12010         (select): Don't override if gnulib's <sys/select.h> was already
12011         included.
12012         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
12013         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
12014         setsockopt, shutdown, select): Tweak indentation.
12015
12016 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
12017
12018         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
12019         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
12020         in an application that does not use the sys_select module.
12021
12022 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
12023
12024         poll: do not return 0 on timeout=-1
12025         * lib/poll.c: Loop with yield if no events occured
12026
12027 2011-07-06  Eric Blake  <eblake@redhat.com>
12028
12029         pthread_sigmask: always replace when not using pthread
12030         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
12031         replacement when using some threading other than pthread.  Fix
12032         logic bug.
12033
12034 2011-07-06  Bruno Haible  <bruno@clisp.org>
12035
12036         Comments.
12037         * m4/printf.m4: Update comments about mingw.
12038
12039 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
12040
12041         sys_select: define sigset_t more portably
12042         * lib/sys_select.in.h: Always include <sys/types.h>, since
12043         we now need sigset_t and mingw defines it there.
12044         Include <signal.h> before split inclusion guard, to avoid
12045         mishaps on Solaris, whose <signal.h> eventually includes us.
12046         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
12047         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
12048         which come from ...
12049         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
12050         gl_CHECK_TYPE_SIGSET_T.
12051         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
12052         does the real work.
12053         * modules/sys_select (Depends-on): Add 'signal'.
12054
12055         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
12056         Suggested by Bruno Haible.
12057
12058         pselect: Use pthread_sigmask, not sigprocmask.
12059         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
12060         multithreaded apps better than sigprocmask does.
12061         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
12062         sigprocmask directly.
12063
12064 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
12065
12066         * lib/pselect.c (pselect): Use plain name, without "rpl_".
12067         Don't #undef,  since we don't need any underlying pselect.
12068         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
12069         (Depends-on): Add select.
12070         (Link): Add $(LIBSOCKET).
12071         These changes suggested by Bruno Haible.
12072
12073         pselect: document better
12074         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
12075         * doc/posix-functions/pselect.texi (pselect): Document new module.
12076
12077         pthread_sigmask: new module
12078         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
12079         * doc/posix-functions/pthread_sigmask.texi: Document new module.
12080         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
12081         This is done only as a macro; I don't know how well that'll
12082         work for C++.  Move <sys/types.h> include before the include_next,
12083         to avoid mishap on Solaris.
12084         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
12085         * modules/signal (Makefile.am): Substitute the check's results.
12086         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
12087
12088         test-pselect: new module
12089         * modules/pselect-tests, tests/test-pselect.c: New files.
12090         * tests/test-select.c, tests/test-sys_select-c++.cc:
12091         If TEST_PSELECT is defined, test pselect instead of testing select.
12092
12093         * tests/test-sys_select.c (sigset_t): Test for it, too.
12094         Suggested by Bruno Haible.
12095
12096 2011-07-05  Eric Blake  <eblake@redhat.com>
12097
12098         snprintf: guarantee %1$d, for libintl
12099         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
12100         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
12101         * doc/posix-functions/snprintf.texi (snprintf): Update.
12102         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
12103         * tests/test-snprintf.c (main): Enhance test.
12104         * tests/test-vsnprintf.c (main): Likewise.
12105
12106 2011-07-05  Jim Meyering  <meyering@redhat.com>
12107
12108         maint: exempt stdio-read.c and stdio-write.c from the cppi check
12109         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
12110         per Bruno's request, to accommodate this idiom (no space after "#")
12111         even when the function is inside an #if block:
12112         char *
12113         gets (char *s)
12114         #undef gets
12115         {
12116           ...
12117         }
12118
12119 2011-07-04  Jim Meyering  <meyering@redhat.com>
12120
12121         maint: indent with spaces, not TABs, and add a rule to check this
12122         * tests/test-userspec.c: Indent with spaces, not TABs.
12123         * tests/test-argp.c: Likewise.
12124         * tests/test-c-stack2.sh: Likewise.
12125         * tests/test-parse-duration.sh: Likewise
12126         * m4/strtod.m4: Likewise.
12127         * m4/alloca.m4: Likewise.
12128         * m4/pselect.m4: Likewise.
12129         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
12130
12131 2011-07-03  Jim Meyering  <meyering@redhat.com>
12132
12133         maint.mk: correct omissions in prohibit_argmatch_without_use check
12134         This rule would mistakenly report that argmatch.h is included without
12135         use even when both the argmatch and invalid_arg macro were used.
12136         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
12137         of argmatch and invalid_arg.
12138
12139 2011-07-03  Bruno Haible  <bruno@clisp.org>
12140
12141         Comments about EINTR.
12142         * lib/safe-read.h: Explain the purpose of this module.
12143         * lib/safe-write.h: Likewise.
12144         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
12145         module.
12146         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
12147         module.
12148         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
12149
12150 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
12151
12152         xnanosleep: Rewrite to use new dtotimespec module.
12153         It has the conversion code that used to be in xnanosleep.
12154         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
12155         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
12156         (TIME_T_MAX): Remove.
12157         (xnanosleep): Rewrite in terms of dtotimespec.
12158         * modules/xnanosleep (Depends-on): Add dtotimespec.
12159         Remove intprops, stdbool.
12160
12161         timespec-add, timespec-sub: new modules
12162         * lib/timespec.h (timespec_add, timespec_sub): New decls.
12163         * lib/timespec-add.c, lib/timespec-sub.c:
12164         * modules/timespec-add, modules/timespec-sub: New files.
12165
12166         dtotimespec: new module
12167         * lib/timespec.h (dtotimespec): New decl.
12168         * lib/dtotimespec.c, modules/dtotimespec: New files.
12169
12170         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
12171
12172         pselect: new module
12173         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
12174         (pselect): New decls.
12175         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
12176         since the standard pselect decl uses 'restrict'.
12177         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
12178         HAVE_PSELECT, REPLACE_PSELECT.
12179         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
12180         HAVE_PSELECT, REPLACE_PSELECT.
12181         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
12182
12183         sys_select: don't depend on sys_socket
12184         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
12185         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
12186         This fix works on GNU and GNU-like platforms, but has not been tested
12187         on native Windows.
12188         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
12189         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
12190         gl_HEADER_SYS_SOCKET.
12191         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
12192         gl_PREREQ_SYS_H_WINSOCK2.
12193
12194 2011-06-29  Eric Blake  <eblake@redhat.com>
12195
12196         pipe2: fix C89 compile problem
12197         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
12198         Reported by Bruno Haible.
12199
12200         pipe, pipe2: don't corrupt fd on error
12201         * lib/pipe.c (pipe): Leave fd unchanged on error.
12202         * lib/pipe2.c (pipe2): Likewise.
12203         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
12204         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
12205
12206 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
12207
12208         mmap-anon: do not use regular expressions inadvertently
12209         * m4/mmap-anon.m4: Remove trailing period from strings sought
12210         in the output.
12211
12212 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
12213
12214         nanosleep: fix integer overflow problem
12215         * lib/nanosleep.c (my_usleep): Don't assume signed integer
12216         arithmetic wraps around on overflow.
12217
12218         nanosleep: simplify carrying
12219         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
12220         first call to the underyling nanosleep, not for the last one.
12221         This doesn't fix any bugs, but it simplifies the computation of
12222         the remaining delay.  Found while auditing integer overflow issues.
12223
12224         dup2: remove test for existence of fcntl
12225         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
12226         "#if HAVE_FCNTL", in the configure-time test program.
12227         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
12228         and therefore speeds up "configure" a bit.  Found while
12229         adding the dup2 module to Emacs.
12230
12231 2011-06-24  Eric Blake  <eblake@redhat.com>
12232
12233         maint.mk: enhance useless header checks
12234         * top/maint.mk (_sc_header_without_use): Check both include
12235         styles.
12236         (sc_prohibit_assert_without_use)
12237         (sc_prohibit_close_stream_without_use)
12238         (sc_prohibit_getopt_without_use)
12239         (sc_prohibit_quotearg_without_use)
12240         (sc_prohibit_quote_without_use)
12241         (sc_prohibit_long_options_without_use)
12242         (sc_prohibit_inttostr_without_use)
12243         (sc_prohibit_ignore_value_without_use)
12244         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
12245         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
12246         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
12247         (sc_prohibit_hash_pjw_without_use)
12248         (sc_prohibit_safe_read_without_use)
12249         (sc_prohibit_argmatch_without_use)
12250         (sc_prohibit_canonicalize_without_use)
12251         (sc_prohibit_root_dev_ino_without_use)
12252         (sc_prohibit_openat_without_use)
12253         (sc_prohibit_c_ctype_without_use)
12254         (sc_prohibit_signal_without_use)
12255         (sc_prohibit_stdio--_without_use)
12256         (sc_prohibit_stdio-safer_without_use)
12257         (sc_prohibit_strings_without_use)
12258         (sc_prohibit_intprops_without_use)
12259         (sc_prohibit_stddef_without_use)
12260         (sc_prohibit_xfreopen_without_use): Update clients.
12261
12262 2011-06-24  Jim Meyering  <meyering@redhat.com>
12263
12264         syntax-check: keep one maint.mk rule in sync with its header
12265         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
12266         of the bug Eric has just fixed, with today's commit 25e4c2ec.
12267         I prefer to avoid temporary files here, so use <(...), but that
12268         is not supported by /bin/sh, so...
12269         (SHELL): Define to /bin/bash.
12270
12271 2011-06-24  Eric Blake  <eblake@redhat.com>
12272
12273         maint.mk: update sc_prohibit_intprops_without_use
12274         * top/maint.mk (_intprops_names): Match recent changes.
12275
12276 2011-06-24  Bruno Haible  <bruno@clisp.org>
12277
12278         strerror-override: No-op tweak.
12279         * lib/strerror-override.h (strerror_override): Reorder conditions,
12280         for consistency with lib/strerror-override.c.
12281
12282 2011-06-23  Eric Blake  <eblake@redhat.com>
12283
12284         maint.mk: test further PATH_MAX issues
12285         * top/maint.mk (sc_prohibit_path_max_array): Rename...
12286         (sc_prohibit_path_max_allocation): ...and also test alloca.
12287         Suggested by Jim Meyering.
12288
12289 2011-06-22  Eric Blake  <eblake@redhat.com>
12290
12291         maint.mk: add syntax-check to avoid char[PATH_MAX]
12292         * top/maint.mk (sc_prohibit_path_max_array): New rule.
12293
12294         stat: be robust to PATH_MAX definition
12295         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
12296         * modules/stat (Depends-on): Add verify.
12297
12298         link: work around IRIX bug
12299         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
12300         * lib/link.c (rpl_link): Work around it.
12301         * tests/test-link.h (test_link): Enhance test.
12302         * doc/posix-functions/link.texi (link): Document the bug.
12303
12304         getopt: silence clang warning
12305         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
12306         dereference.
12307         Reported by Gustavo Martin Domato.
12308
12309 2011-06-22  Jim Meyering  <meyering@redhat.com>
12310
12311         bootstrap: do not insert a blank line into each .gitignore file
12312         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
12313
12314 2011-06-21  Eric Blake  <eblake@redhat.com>
12315
12316         perror: test for output mismatch
12317         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
12318         perror on IRIX.
12319
12320         strerror_r: fix OpenBSD behavior on out-of-range
12321         * lib/strerror_r.c (strerror_r): Always use maximal string.
12322         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
12323
12324         strerror_r: fix OpenBSD behavior on 0
12325         * lib/strerror-override.c (strerror_override): Also override 0
12326         when needed.
12327         * lib/strerror-override.h (strerror_override): Likewise.
12328         * lib/strerror.c (strerror): Simplify, now that 0 override is done
12329         earlier.
12330         * lib/strerror_r.c (strerror_r): Likewise.
12331         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
12332         behavior...
12333         (gl_FUNC_STRERROR_0): ...into new macro.
12334         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
12335         is overridden.
12336         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
12337         * modules/strerror-override (Files): Add strerror.m4.
12338         (configure.ac): Also provide override for 0 when needed.
12339         * doc/posix-functions/strerror.texi (strerror): Document this.
12340         * doc/posix-functions/perror.texi (perror): Likewise.
12341
12342         perror: adjust array size
12343         * modules/perror (Depends-on): Add strerror-override.
12344         * lib/perror.c (perror): Use it to avoid magic number.
12345
12346         strerror-override: reduce size
12347         * lib/strerror-override.c (strerror_override): Use fewer lines.
12348
12349 2011-06-20  Bruno Haible  <bruno@clisp.org>
12350
12351         pathmax: Ensure correct value for PATH_MAX on HP-UX.
12352         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
12353
12354 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
12355
12356         alloca: port to compilers that can optimize like GCC 4.6.0
12357         * lib/alloca.c (find_stack_direction): New signature, taken from
12358         Autoconf git.  This works with GCC 4.6.0.  This code should never
12359         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
12360         be used with other compilers that optimize as well as GCC 4.6.0 does.
12361         (alloca): Adjust to new signature.
12362         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
12363         New macro, which patches Autoconf in a similar way.
12364
12365         c-stack: stop worrying about stack direction
12366         * lib/c-stack.c (find_stack_direction): Remove.
12367         (segv_handler): Don't worry about stack direction growth, as it's
12368         too much of a pain to configure this correctly, given how compilers
12369         are optimizing-away our stack-growth detection code.  Instead, assume
12370         that any access to just before or just after the stack is OK.
12371         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
12372         Don't require AC_FUNC_ALLOCA; no longer needed.
12373
12374 2011-06-20  Eric Blake  <eblake@redhat.com>
12375
12376         test-stat: don't allocate PATH_MAX bytes
12377         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
12378         PATH_MAX-sized buffer.
12379         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
12380         * modules/stat-tests (Depends-on): Likewise.
12381         * tests/test-fstatat.c (includes): Drop pathmax.h.
12382         * tests/test-stat.c (includes): Likewise.
12383         Reported by Bruno Haible.
12384
12385 2011-06-20  Bruno Haible  <bruno@clisp.org>
12386
12387         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
12388         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
12389         * lib/float.c: New file.
12390         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
12391         REPLACE_FLOAT_LDBL.
12392         * modules/float (Files): Add lib/float.c.
12393         (configure.ac): Invoke AC_LIBOBJ.
12394         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
12395
12396 2011-06-20  Bruno Haible  <bruno@clisp.org>
12397
12398         Tests for module 'float'.
12399         * modules/float-tests: New file.
12400         * tests/test-float.c: New file.
12401
12402 2011-06-19  Bruno Haible  <bruno@clisp.org>
12403
12404         isinf: Coding style.
12405         * lib/isinf.c: Use GNU coding style.
12406
12407 2011-06-19  Bruno Haible  <bruno@clisp.org>
12408
12409         linkat test: Avoid test failure on AIX 7.1.
12410         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
12411         * tests/test-link.h (test_link): Likewise.
12412
12413 2011-06-19  Bruno Haible  <bruno@clisp.org>
12414
12415         pread test: Avoid test failure on OpenBSD 4.9.
12416         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
12417
12418 2011-06-19  Bruno Haible  <bruno@clisp.org>
12419
12420         sprintf-posix: Fix test failure on AIX 7.1.
12421         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
12422         * doc/posix-functions/dprintf.texi: Mention limited precision problem
12423         on AIX.
12424         * doc/posix-functions/fprintf.texi: Likewise.
12425         * doc/posix-functions/printf.texi: Likewise.
12426         * doc/posix-functions/snprintf.texi: Likewise.
12427         * doc/posix-functions/sprintf.texi: Likewise.
12428         * doc/posix-functions/vdprintf.texi: Likewise.
12429         * doc/posix-functions/vfprintf.texi: Likewise.
12430         * doc/posix-functions/vprintf.texi: Likewise.
12431         * doc/posix-functions/vsnprintf.texi: Likewise.
12432         * doc/posix-functions/vsprintf.texi: Likewise.
12433
12434 2011-06-19  Bruno Haible  <bruno@clisp.org>
12435
12436         roundl-ieee: Fix test failure on AIX 7.1.
12437         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
12438         * doc/posix-functions/roundl.texi: Mention problem with negative
12439         arguments.
12440
12441 2011-06-19  Bruno Haible  <bruno@clisp.org>
12442
12443         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
12444         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
12445         * doc/posix-functions/round.texi: Mention problem with negative
12446         arguments.
12447         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
12448
12449 2011-06-19  Bruno Haible  <bruno@clisp.org>
12450
12451         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
12452         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
12453         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
12454         * doc/posix-functions/roundf.texi: Mention problem with negative
12455         arguments.
12456         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
12457
12458 2011-06-19  Bruno Haible  <bruno@clisp.org>
12459
12460         ceilf-ieee: Work around bug on MacOS X 10.5.
12461         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
12462
12463         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
12464         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
12465         IEEE compliant, avoid compiler optimizations.
12466         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
12467         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
12468         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
12469         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
12470         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
12471         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
12472         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
12473         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
12474         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
12475         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
12476
12477 2011-06-19  Bruno Haible  <bruno@clisp.org>
12478
12479         ceilf-ieee: Work around bug on AIX 7.1.
12480         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
12481         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
12482
12483 2011-06-19  Bruno Haible  <bruno@clisp.org>
12484
12485         ceil-ieee: Work around bug on AIX 7.1.
12486         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
12487         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
12488
12489 2011-06-18  Bruno Haible  <bruno@clisp.org>
12490
12491         fsync test: Avoid test failure on MacOS X and AIX.
12492         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
12493         EINVAL.
12494
12495 2011-06-18  Bruno Haible  <bruno@clisp.org>
12496
12497         openat, fdopendir tests: Fix link errors.
12498         * modules/openat-tests (Depends-on): Add progname.
12499         * modules/fdopendir-tests (Depends-on): Likewise.
12500         * tests/test-fchownat.c: Include progname.h.
12501         (main): Call set_program_name.
12502         * tests/test-fstatat.c: Include progname.h.
12503         (main): Call set_program_name.
12504         * tests/test-mkdirat.c: Include progname.h.
12505         (main): Call set_program_name.
12506         * tests/test-openat.c: Include progname.h.
12507         (main): Call set_program_name.
12508         * tests/test-unlinkat.c: Include progname.h.
12509         (main): Call set_program_name.
12510         * tests/test-fdopendir.c: Include progname.h.
12511         (main): Call set_program_name.
12512
12513 2011-06-18  Bruno Haible  <bruno@clisp.org>
12514
12515         Doc update.
12516         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
12517         HP-UX.
12518         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
12519
12520 2011-06-18  Bruno Haible  <bruno@clisp.org>
12521
12522         getcwd tests: Avoid compilation error on HP-UX 11.31.
12523         * modules/getcwd-tests (Depends-on): Add pathmax.
12524         * tests/test-getcwd.c: Include pathmax.h.
12525
12526 2011-06-18  Bruno Haible  <bruno@clisp.org>
12527
12528         isfinite, isinf: Fix link error on AIX 6 and 7.
12529         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
12530         needed, also test the macro with a 'float' argument.
12531         * m4/isinf.m4 (gl_ISINF): Likewise.
12532
12533 2011-06-18  Bruno Haible  <bruno@clisp.org>
12534
12535         getloadavg: Don't clobber LIBS. Regression from previous commit.
12536         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
12537         AC_CHECK_LIB from here...
12538         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
12539         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
12540         gl_func_getloadavg_done.
12541         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12542
12543 2011-06-18  Bruno Haible  <bruno@clisp.org>
12544
12545         clean-temp: Improve documentation.
12546         * lib/clean-temp.h: Explain better how to use this module.
12547         Reported by John Darrington <john@darrington.wattle.id.au>.
12548
12549 2011-06-17  Bruno Haible  <bruno@clisp.org>
12550
12551         pread, pwrite: Avoid cc warning on AIX.
12552         * lib/unistd.in.h (pread): Undefine before defining as a macro.
12553         (pwrite): Likewise.
12554
12555 2011-06-17  Bruno Haible  <bruno@clisp.org>
12556
12557         spawn-pipe tests: Fix link error.
12558         * tests/test-spawn-pipe-child.c: Undefine fprintf.
12559         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12560
12561 2011-06-17  Bruno Haible  <bruno@clisp.org>
12562
12563         Tests: Remove unnecessary dependency.
12564         * modules/canonicalize-tests (Depends-on): Remove progname.
12565         * modules/chown-tests (Depends-on): Likewise.
12566         * modules/dirname-tests (Depends-on): Likewise.
12567         * modules/fdopendir-tests (Depends-on): Likewise.
12568         * modules/fdutimensat-tests (Depends-on): Likewise.
12569         * modules/hash-tests (Depends-on): Likewise.
12570         * modules/lchown-tests (Depends-on): Likewise.
12571         * modules/linkat-tests (Depends-on): Likewise.
12572         * modules/renameat-tests (Depends-on): Likewise.
12573         * modules/spawn-pipe-tests (Depends-on): Likewise.
12574         * modules/utimensat-tests (Depends-on): Likewise.
12575
12576 2011-06-17  Bruno Haible  <bruno@clisp.org>
12577
12578         spawn-pipe tests: Fix link error.
12579         * tests/test-spawn-pipe-child.c: Undefine fflush.
12580
12581 2011-06-17  Bruno Haible  <bruno@clisp.org>
12582
12583         Fix tests link errors.
12584         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
12585         * modules/chown-tests (Makefile.am): Don't link test-chown with
12586         LIBINTL.
12587         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
12588         LIBINTL.
12589         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
12590         LIBINTL.
12591         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
12592         LIBINTL.
12593
12594 2011-06-16  Bruno Haible  <bruno@clisp.org>
12595
12596         crypto/gc-sha1: Fix recent regression.
12597         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
12598         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
12599
12600         crypto/gc-md5: Fix recent regression.
12601         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
12602
12603         crypto/gc-md4: Fix recent regression.
12604         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
12605         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
12606
12607         crypto/gc-arctwo: Fix recent regression.
12608         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
12609         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
12610
12611         crypto/gc-rijndael: Fix recent regression.
12612         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
12613         (configure.ac): Invoke AC_LIBOBJ here.
12614         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
12615         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12616
12617         crypto/gc-hmac-sha1: Fix recent regression.
12618         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
12619         (configure.ac): Invoke AC_LIBOBJ here.
12620         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
12621         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12622
12623         crypto/gc-hmac-md5: Fix recent regression.
12624         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
12625         (configure.ac): Invoke AC_LIBOBJ here.
12626         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
12627         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12628
12629         crypto/gc-des: Fix recent regression.
12630         * modules/crypto/gc-des (Files): Remove m4/des.m4.
12631         (configure.ac): Invoke AC_LIBOBJ here.
12632         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
12633         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12634
12635         crypto/gc-arcfour: Fix recent regression.
12636         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
12637         (configure.ac): Invoke AC_LIBOBJ here.
12638         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
12639         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12640
12641 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
12642
12643         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
12644         After the 2011-05-21 change, this macro requires
12645         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
12646         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
12647
12648 2011-06-16  Bruno Haible  <bruno@clisp.org>
12649
12650         fprintftime: Move AC_LIBOBJ invocations to module description.
12651         * m4/fprintftime.m4: Remove file.
12652         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
12653         (configure.ac): Remove gl_FPRINTFTIME call.
12654         (Makefile.am): Augment lib_SOURCES.
12655         Reported by Jim Meyering.
12656
12657 2011-06-16  Bruno Haible  <bruno@clisp.org>
12658
12659         tmpfile-safer: Finish 2011-05-23 commit.
12660         * m4/stdio-safer.m4: Really remove file.
12661         Reported by Jim Meyering.
12662
12663 2011-06-16  Bruno Haible  <bruno@clisp.org>
12664
12665         syntax-check: Fix typo.
12666         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
12667         printf-posix.m4.
12668         Reported by Jim Meyering.
12669
12670 2011-06-13  Jim Meyering  <meyering@redhat.com>
12671
12672         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
12673         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
12674
12675 2011-05-23  Bruno Haible  <bruno@clisp.org>
12676
12677         yesno: Move AC_LIBOBJ invocations to module description.
12678         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
12679         * modules/yesno (Makefile.am): Augment lib_SOURCES.
12680
12681 2011-05-23  Bruno Haible  <bruno@clisp.org>
12682
12683         xstrtol: Move AC_LIBOBJ invocations to module description.
12684         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
12685         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
12686
12687 2011-05-23  Bruno Haible  <bruno@clisp.org>
12688
12689         xstrtold: Move AC_LIBOBJ invocations to module description.
12690         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
12691         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
12692
12693 2011-05-23  Bruno Haible  <bruno@clisp.org>
12694
12695         xstrtod: Move AC_LIBOBJ invocations to module description.
12696         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
12697         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
12698
12699 2011-05-23  Bruno Haible  <bruno@clisp.org>
12700
12701         xnanosleep: Move AC_LIBOBJ invocations to module description.
12702         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
12703         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
12704
12705 2011-05-23  Bruno Haible  <bruno@clisp.org>
12706
12707         xgetcwd: Move AC_LIBOBJ invocations to module description.
12708         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
12709         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
12710
12711 2011-05-23  Bruno Haible  <bruno@clisp.org>
12712
12713         xalloc: Move AC_LIBOBJ invocations to module description.
12714         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
12715         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
12716
12717 2011-05-23  Bruno Haible  <bruno@clisp.org>
12718
12719         write-any-file: Move AC_LIBOBJ invocations to module description.
12720         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
12721         invocation.
12722         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
12723
12724 2011-05-23  Bruno Haible  <bruno@clisp.org>
12725
12726         utimens: Move AC_LIBOBJ invocations to module description.
12727         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
12728         * modules/utimens (Makefile.am): Augment lib_SOURCES.
12729
12730 2011-05-23  Bruno Haible  <bruno@clisp.org>
12731
12732         utimecmp: Move AC_LIBOBJ invocations to module description.
12733         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
12734         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
12735
12736 2011-05-23  Bruno Haible  <bruno@clisp.org>
12737
12738         userspec: Move AC_LIBOBJ invocations to module description.
12739         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
12740         * modules/userspec (Makefile.am): Augment lib_SOURCES.
12741
12742 2011-05-23  Bruno Haible  <bruno@clisp.org>
12743
12744         unlinkdir: Move AC_LIBOBJ invocations to module description.
12745         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
12746         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
12747
12748 2011-05-23  Bruno Haible  <bruno@clisp.org>
12749
12750         unistd-safer: Move AC_LIBOBJ invocations to module description.
12751         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
12752         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
12753
12754 2011-05-23  Bruno Haible  <bruno@clisp.org>
12755
12756         tempname: Move AC_LIBOBJ invocations to module description.
12757         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
12758         * modules/tempname (Makefile.am): Augment lib_SOURCES.
12759
12760 2011-05-23  Bruno Haible  <bruno@clisp.org>
12761
12762         strftime: Move AC_LIBOBJ invocations to module description.
12763         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
12764         * modules/strftime (Makefile.am): Augment lib_SOURCES.
12765
12766 2011-05-23  Bruno Haible  <bruno@clisp.org>
12767
12768         stdlib-safer: Move AC_LIBOBJ invocations to module description.
12769         * m4/stdlib-safer.m4: Remove file.
12770         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
12771         (configure.ac): Remove gl_STDLIB_SAFER call.
12772         (Makefile.am): Augment lib_SOURCES.
12773
12774 2011-05-23  Bruno Haible  <bruno@clisp.org>
12775
12776         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
12777         * m4/stdio-safer.m4: Remove file.
12778         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
12779         (configure.ac): Remove gl_TMPFILE_SAFER call.
12780         (Makefile.am): Augment lib_SOURCES.
12781
12782 2011-05-23  Bruno Haible  <bruno@clisp.org>
12783
12784         popen-safer: Move AC_LIBOBJ invocations to module description.
12785         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
12786         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
12787         (configure.ac): Remove gl_POPEN_SAFER call.
12788         (Makefile.am): Augment lib_SOURCES.
12789
12790 2011-05-23  Bruno Haible  <bruno@clisp.org>
12791
12792         freopen-safer: Move AC_LIBOBJ invocations to module description.
12793         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
12794         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
12795         (configure.ac): Remove gl_FREOPEN_SAFER call.
12796         (Makefile.am): Augment lib_SOURCES.
12797
12798 2011-05-23  Bruno Haible  <bruno@clisp.org>
12799
12800         fopen-safer: Move AC_LIBOBJ invocations to module description.
12801         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
12802         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
12803         (configure.ac): Remove gl_FOPEN_SAFER call.
12804         (Makefile.am): Augment lib_SOURCES.
12805
12806 2011-05-23  Bruno Haible  <bruno@clisp.org>
12807
12808         crypto/sha512: Move AC_LIBOBJ invocations to module description.
12809         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
12810         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
12811
12812 2011-05-23  Bruno Haible  <bruno@clisp.org>
12813
12814         crypto/sha256: Move AC_LIBOBJ invocations to module description.
12815         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
12816         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
12817
12818 2011-05-23  Bruno Haible  <bruno@clisp.org>
12819
12820         crypto/sha1: Move AC_LIBOBJ invocations to module description.
12821         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
12822         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
12823
12824 2011-05-23  Bruno Haible  <bruno@clisp.org>
12825
12826         settime: Move AC_LIBOBJ invocations to module description.
12827         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
12828         * modules/settime (Makefile.am): Augment lib_SOURCES.
12829
12830 2011-05-23  Bruno Haible  <bruno@clisp.org>
12831
12832         savedir: Move AC_LIBOBJ invocations to module description.
12833         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
12834         * modules/savedir (Makefile.am): Augment lib_SOURCES.
12835
12836 2011-05-23  Bruno Haible  <bruno@clisp.org>
12837
12838         save-cwd: Move AC_LIBOBJ invocations to module description.
12839         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
12840         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
12841
12842 2011-05-23  Bruno Haible  <bruno@clisp.org>
12843
12844         same: Move AC_LIBOBJ invocations to module description.
12845         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
12846         * modules/same (Makefile.am): Augment lib_SOURCES.
12847
12848 2011-05-23  Bruno Haible  <bruno@clisp.org>
12849
12850         safe-write: Move AC_LIBOBJ invocations to module description.
12851         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
12852         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
12853         instead of gl_SAFE_WRITE.
12854         (Makefile.am): Augment lib_SOURCES.
12855
12856 2011-05-23  Bruno Haible  <bruno@clisp.org>
12857
12858         safe-read: Move AC_LIBOBJ invocations to module description.
12859         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
12860         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
12861         of gl_SAFE_READ.
12862         (Makefile.am): Augment lib_SOURCES.
12863
12864 2011-05-23  Bruno Haible  <bruno@clisp.org>
12865
12866         safe-alloc: Move AC_LIBOBJ invocations to module description.
12867         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
12868         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
12869
12870 2011-05-23  Bruno Haible  <bruno@clisp.org>
12871
12872         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
12873         * m4/rijndael.m4: Remove file.
12874         * modules/crypto/rijndael (Files): Remove it.
12875         (configure.ac): Remove gl_RIJNDAEL call.
12876         (Makefile.am): Augment lib_SOURCES.
12877
12878 2011-05-23  Bruno Haible  <bruno@clisp.org>
12879
12880         readtokens: Move AC_LIBOBJ invocations to module description.
12881         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
12882         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
12883
12884 2011-05-23  Bruno Haible  <bruno@clisp.org>
12885
12886         read-file: Move AC_LIBOBJ invocations to module description.
12887         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
12888         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
12889         of gl_FUNC_READ_FILE.
12890         (Makefile.am): Augment lib_SOURCES.
12891
12892 2011-05-23  Bruno Haible  <bruno@clisp.org>
12893
12894         quotearg: Move AC_LIBOBJ invocations to module description.
12895         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
12896         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
12897
12898 2011-05-23  Bruno Haible  <bruno@clisp.org>
12899
12900         quote: Move AC_LIBOBJ invocations to module description.
12901         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
12902         * modules/quote (Makefile.am): Augment lib_SOURCES.
12903
12904 2011-05-23  Bruno Haible  <bruno@clisp.org>
12905
12906         posixver: Move AC_LIBOBJ invocations to module description.
12907         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
12908         * modules/posixver (Makefile.am): Augment lib_SOURCES.
12909
12910 2011-05-23  Bruno Haible  <bruno@clisp.org>
12911
12912         posixtm: Move AC_LIBOBJ invocations to module description.
12913         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
12914         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
12915
12916 2011-05-23  Bruno Haible  <bruno@clisp.org>
12917
12918         physmem: Move AC_LIBOBJ invocations to module description.
12919         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
12920         * modules/physmem (Makefile.am): Augment lib_SOURCES.
12921
12922 2011-05-23  Bruno Haible  <bruno@clisp.org>
12923
12924         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
12925         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
12926         invocation.
12927         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
12928
12929 2011-05-23  Bruno Haible  <bruno@clisp.org>
12930
12931         mpsort: Move AC_LIBOBJ invocations to module description.
12932         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
12933         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
12934
12935 2011-05-23  Bruno Haible  <bruno@clisp.org>
12936
12937         modechange: Move AC_LIBOBJ invocations to module description.
12938         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
12939         * modules/modechange (Makefile.am): Augment lib_SOURCES.
12940
12941 2011-05-23  Bruno Haible  <bruno@clisp.org>
12942
12943         mkdir-p: Move AC_LIBOBJ invocations to module description.
12944         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
12945         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
12946
12947 2011-05-23  Bruno Haible  <bruno@clisp.org>
12948
12949         mkancesdirs: Move AC_LIBOBJ invocations to module description.
12950         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
12951         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
12952
12953 2011-05-23  Bruno Haible  <bruno@clisp.org>
12954
12955         mgetgroups: Move AC_LIBOBJ invocations to module description.
12956         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
12957         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
12958
12959 2011-05-23  Bruno Haible  <bruno@clisp.org>
12960
12961         memxor: Move AC_LIBOBJ invocations to module description.
12962         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
12963         * modules/memxor (Makefile.am): Augment lib_SOURCES.
12964
12965 2011-05-23  Bruno Haible  <bruno@clisp.org>
12966
12967         memcoll: Move AC_LIBOBJ invocations to module description.
12968         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
12969         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
12970
12971 2011-05-23  Bruno Haible  <bruno@clisp.org>
12972
12973         memcasecmp: Move AC_LIBOBJ invocations to module description.
12974         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
12975         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
12976
12977 2011-05-23  Bruno Haible  <bruno@clisp.org>
12978
12979         crypto/md5: Move AC_LIBOBJ invocations to module description.
12980         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
12981         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
12982
12983 2011-05-23  Bruno Haible  <bruno@clisp.org>
12984
12985         crypto/md4: Move AC_LIBOBJ invocations to module description.
12986         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
12987         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
12988
12989 2011-05-23  Bruno Haible  <bruno@clisp.org>
12990
12991         crypto/md2: Move AC_LIBOBJ invocations to module description.
12992         * m4/md2.m4: Remove file.
12993         * modules/crypto/md2 (Files): Remove it.
12994         (configure.ac): Remove gl_MD2 call.
12995         (Makefile.am): Augment lib_SOURCES.
12996
12997 2011-05-23  Bruno Haible  <bruno@clisp.org>
12998
12999         long-options: Move AC_LIBOBJ invocations to module description.
13000         * m4/long-options.m4: Remove file.
13001         * modules/long-options (Files): Remove it.
13002         (configure.ac): Remove gl_LONG_OPTIONS call.
13003         (Makefile.am): Augment lib_SOURCES.
13004
13005 2011-05-23  Bruno Haible  <bruno@clisp.org>
13006
13007         i-ring: Move AC_LIBOBJ invocations to module description.
13008         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
13009         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
13010
13011 2011-05-23  Bruno Haible  <bruno@clisp.org>
13012
13013         idcache: Move AC_LIBOBJ invocations to module description.
13014         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
13015         * modules/idcache (Makefile.am): Augment lib_SOURCES.
13016
13017 2011-05-23  Bruno Haible  <bruno@clisp.org>
13018
13019         human: Move AC_LIBOBJ invocations to module description.
13020         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
13021         * modules/human (Makefile.am): Augment lib_SOURCES.
13022
13023 2011-05-23  Bruno Haible  <bruno@clisp.org>
13024
13025         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
13026         * m4/hmac-sha1.m4: Remove file.
13027         * modules/crypto/hmac-sha1 (Files): Remove it.
13028         (configure.ac): Remove gl_HMAC_SHA1 call.
13029         (Makefile.am): Augment lib_SOURCES.
13030
13031 2011-05-23  Bruno Haible  <bruno@clisp.org>
13032
13033         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
13034         * m4/hmac-md5.m4: Remove file.
13035         * modules/crypto/hmac-md5 (Files): Remove it.
13036         (configure.ac): Remove gl_HMAC_MD5 call.
13037         (Makefile.am): Augment lib_SOURCES.
13038
13039 2011-05-23  Bruno Haible  <bruno@clisp.org>
13040
13041         hash: Move AC_LIBOBJ invocations to module description.
13042         * m4/hash.m4: Remove file.
13043         * modules/hash (Files): Remove it.
13044         (configure.ac): Remove gl_HASH call.
13045         (Makefile.am): Augment lib_SOURCES.
13046
13047 2011-05-23  Bruno Haible  <bruno@clisp.org>
13048
13049         hard-locale: Move AC_LIBOBJ invocations to module description.
13050         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
13051         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
13052
13053 2011-05-23  Bruno Haible  <bruno@clisp.org>
13054
13055         getugroups: Move AC_LIBOBJ invocations to module description.
13056         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
13057         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
13058
13059 2011-05-23  Bruno Haible  <bruno@clisp.org>
13060
13061         gettime: Move AC_LIBOBJ invocations to module description.
13062         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
13063         * modules/gettime (Makefile.am): Augment lib_SOURCES.
13064
13065 2011-05-23  Bruno Haible  <bruno@clisp.org>
13066
13067         getndelim2: Move AC_LIBOBJ invocations to module description.
13068         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
13069         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
13070
13071 2011-05-23  Bruno Haible  <bruno@clisp.org>
13072
13073         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
13074         * m4/gc-pbkdf2-sha1.m4: Remove file.
13075         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
13076         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
13077         (Makefile.am): Augment lib_SOURCES.
13078
13079 2011-05-23  Bruno Haible  <bruno@clisp.org>
13080
13081         fts: Move AC_LIBOBJ invocations to module description.
13082         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
13083         * modules/fts (configure.ac): ... to here.
13084
13085 2011-05-23  Bruno Haible  <bruno@clisp.org>
13086
13087         file-type: Move AC_LIBOBJ invocations to module description.
13088         * m4/file-type.m4: Remove file.
13089         * modules/file-type (Files): Remove it.
13090         (configure.ac): Remove gl_FILE_TYPE call.
13091         (Makefile.am): Augment lib_SOURCES.
13092
13093 2011-05-23  Bruno Haible  <bruno@clisp.org>
13094
13095         filenamecat*: Respect rules for use of AC_LIBOBJ.
13096         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
13097         Remove AC_LIBOBJ invocation.
13098         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
13099         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
13100
13101 2011-05-23  Bruno Haible  <bruno@clisp.org>
13102
13103         filemode: Move AC_LIBOBJ invocations to module description.
13104         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
13105         * modules/filemode (Makefile.am): Augment lib_SOURCES.
13106
13107 2011-05-23  Bruno Haible  <bruno@clisp.org>
13108
13109         openat-safer: Move AC_LIBOBJ invocations to module description.
13110         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
13111         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
13112
13113 2011-05-23  Bruno Haible  <bruno@clisp.org>
13114
13115         fcntl-safer: Move AC_LIBOBJ invocations to module description.
13116         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
13117         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
13118
13119 2011-05-23  Bruno Haible  <bruno@clisp.org>
13120
13121         exclude: Move AC_LIBOBJ invocations to module description.
13122         * m4/exclude.m4: Remove file.
13123         * modules/exclude (Files): Remove it.
13124         (configure.ac): Remove gl_EXCLUDE call.
13125         (Makefile.am): Augment lib_SOURCES.
13126
13127 2011-05-23  Bruno Haible  <bruno@clisp.org>
13128
13129         dirname*: Respect rules for use of AC_LIBOBJ.
13130         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
13131         invocations.
13132         * modules/dirname (Makefile.am): Augment lib_SOURCES.
13133         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
13134
13135 2011-05-23  Bruno Haible  <bruno@clisp.org>
13136
13137         dirent-safer: Move AC_LIBOBJ invocations to module description.
13138         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
13139         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
13140
13141 2011-05-23  Bruno Haible  <bruno@clisp.org>
13142
13143         crypto/des: Move AC_LIBOBJ invocations to module description.
13144         * m4/des.m4: Remove file.
13145         * modules/crypto/des (Files): Remove it.
13146         (configure.ac): Remove gl_DES call.
13147         (Makefile.am): Augment lib_SOURCES.
13148
13149 2011-05-23  Bruno Haible  <bruno@clisp.org>
13150
13151         cycle-check: Move AC_LIBOBJ invocations to module description.
13152         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
13153         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
13154
13155 2011-05-23  Bruno Haible  <bruno@clisp.org>
13156
13157         c-strtold: Move AC_LIBOBJ invocations to module description.
13158         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
13159         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
13160
13161 2011-05-23  Bruno Haible  <bruno@clisp.org>
13162
13163         c-strtod: Move AC_LIBOBJ invocations to module description.
13164         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
13165         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
13166
13167 2011-05-23  Bruno Haible  <bruno@clisp.org>
13168
13169         crc: Move AC_LIBOBJ invocations to module description.
13170         * m4/crc.m4: Remove file.
13171         * modules/crc (Files): Remove it.
13172         (configure.ac): Remove gl_CRC call.
13173         (Makefile.am): Augment lib_SOURCES.
13174
13175 2011-05-23  Bruno Haible  <bruno@clisp.org>
13176
13177         close-stream: Move AC_LIBOBJ invocations to module description.
13178         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
13179         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
13180
13181 2011-05-23  Bruno Haible  <bruno@clisp.org>
13182
13183         closeout: Move AC_LIBOBJ invocations to module description.
13184         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
13185         * modules/closeout (Makefile.am): Augment lib_SOURCES.
13186
13187 2011-05-23  Bruno Haible  <bruno@clisp.org>
13188
13189         closein: Move AC_LIBOBJ invocations to module description.
13190         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
13191         * modules/closein (Makefile.am): Augment lib_SOURCES.
13192
13193 2011-05-23  Bruno Haible  <bruno@clisp.org>
13194
13195         cloexec: Move AC_LIBOBJ invocations to module description.
13196         * m4/cloexec.m4: Remove file.
13197         * modules/cloexec (Files): Remove it.
13198         (configure.ac): Remove gl_CLOEXEC call.
13199         (Makefile.am): Augment lib_SOURCES.
13200
13201 2011-05-23  Bruno Haible  <bruno@clisp.org>
13202
13203         check-version: Move AC_LIBOBJ invocations to module description.
13204         * m4/check-version.m4: Remove file.
13205         * modules/check-version (Files): Remove it.
13206         (configure.ac): Remove gl_CHECK_VERSION call.
13207         (Makefile.am): Augment lib_SOURCES.
13208
13209 2011-05-23  Bruno Haible  <bruno@clisp.org>
13210
13211         chdir-safer: Move AC_LIBOBJ invocations to module description.
13212         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
13213         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
13214
13215 2011-05-23  Bruno Haible  <bruno@clisp.org>
13216
13217         canonicalize: Move AC_LIBOBJ invocations to module description.
13218         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
13219         AC_LIBOBJ invocation.
13220         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
13221
13222 2011-05-23  Bruno Haible  <bruno@clisp.org>
13223
13224         canon-host: Move AC_LIBOBJ invocations to module description.
13225         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
13226         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
13227         instead of gl_CANON_HOST.
13228         (Makefile.am): Augment lib_SOURCES.
13229
13230 2011-05-23  Bruno Haible  <bruno@clisp.org>
13231
13232         backupfile: Move AC_LIBOBJ invocations to module description.
13233         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
13234         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
13235
13236 2011-05-23  Bruno Haible  <bruno@clisp.org>
13237
13238         argmatch: Move AC_LIBOBJ invocations to module description.
13239         * m4/argmatch.m4: Remove file.
13240         * modules/argmatch (Files): Remove it.
13241         (configure.ac): Remove gl_ARGMATCH call.
13242         (Makefile.am): Augment lib_SOURCES.
13243
13244 2011-05-23  Bruno Haible  <bruno@clisp.org>
13245
13246         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
13247         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
13248         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
13249
13250 2011-05-23  Bruno Haible  <bruno@clisp.org>
13251
13252         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
13253         * m4/arcfour.m4: Remove file.
13254         * modules/crypto/arcfour (Files): Remove it.
13255         (configure.ac): Remove gl_ARCFOUR call.
13256         (Makefile.am): Augment lib_SOURCES.
13257
13258 2011-05-22  Bruno Haible  <bruno@clisp.org>
13259
13260         write: Move AC_LIBOBJ invocations to module description.
13261         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
13262         * modules/write (configure.ac): ... to here.
13263
13264 2011-05-22  Bruno Haible  <bruno@clisp.org>
13265
13266         wmemset: Move AC_LIBOBJ invocations to module description.
13267         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
13268         here...
13269         * modules/wmemset (configure.ac): ... to here.
13270
13271 2011-05-22  Bruno Haible  <bruno@clisp.org>
13272
13273         wmemmove: Move AC_LIBOBJ invocations to module description.
13274         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
13275         here...
13276         * modules/wmemmove (configure.ac): ... to here.
13277
13278 2011-05-22  Bruno Haible  <bruno@clisp.org>
13279
13280         wmemcpy: Move AC_LIBOBJ invocations to module description.
13281         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
13282         here...
13283         * modules/wmemcpy (configure.ac): ... to here.
13284
13285 2011-05-22  Bruno Haible  <bruno@clisp.org>
13286
13287         wmemcmp: Move AC_LIBOBJ invocations to module description.
13288         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
13289         here...
13290         * modules/wmemcmp (configure.ac): ... to here.
13291
13292 2011-05-22  Bruno Haible  <bruno@clisp.org>
13293
13294         wmemchr: Move AC_LIBOBJ invocations to module description.
13295         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
13296         here...
13297         * modules/wmemchr (configure.ac): ... to here.
13298
13299 2011-05-22  Bruno Haible  <bruno@clisp.org>
13300
13301         wcswidth: Move AC_LIBOBJ invocations to module description.
13302         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
13303         here...
13304         * modules/wcswidth (configure.ac): ... to here.
13305
13306 2011-05-22  Bruno Haible  <bruno@clisp.org>
13307
13308         wcwidth: Respect rules for use of AC_LIBOBJ.
13309         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
13310         invocation from here...
13311         * modules/wcwidth (configure.ac): ... to here.
13312         (Depends-on): Update conditions.
13313
13314 2011-05-22  Bruno Haible  <bruno@clisp.org>
13315
13316         wctype: Move AC_LIBOBJ invocations to module description.
13317         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
13318         invocation from here...
13319         * modules/wctype (configure.ac): ... to here.
13320         (Depends-on): Update conditions.
13321
13322 2011-05-22  Bruno Haible  <bruno@clisp.org>
13323
13324         wctrans: Move AC_LIBOBJ invocations to module description.
13325         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
13326         invocation from here...
13327         * modules/wctrans (configure.ac): ... to here.
13328
13329 2011-05-22  Bruno Haible  <bruno@clisp.org>
13330
13331         wctomb: Move AC_LIBOBJ invocations to module description.
13332         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
13333         invocations from here...
13334         * modules/wctomb (configure.ac): ... to here.
13335
13336 2011-05-22  Bruno Haible  <bruno@clisp.org>
13337
13338         wctob: Move AC_LIBOBJ invocations to module description.
13339         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
13340         gl_PREREQ_WCTOB invocations from here...
13341         * modules/wctob (configure.ac): ... to here.
13342         (Depends-on): Update conditions.
13343
13344 2011-05-22  Bruno Haible  <bruno@clisp.org>
13345
13346         wcsxfrm: Move AC_LIBOBJ invocations to module description.
13347         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
13348         here...
13349         * modules/wcsxfrm (configure.ac): ... to here.
13350
13351 2011-05-22  Bruno Haible  <bruno@clisp.org>
13352
13353         wcstok: Move AC_LIBOBJ invocations to module description.
13354         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
13355         * modules/wcstok (configure.ac): ... to here.
13356
13357 2011-05-22  Bruno Haible  <bruno@clisp.org>
13358
13359         wcsstr: Move AC_LIBOBJ invocations to module description.
13360         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
13361         * modules/wcsstr (configure.ac): ... to here.
13362
13363 2011-05-22  Bruno Haible  <bruno@clisp.org>
13364
13365         wcsspn: Move AC_LIBOBJ invocations to module description.
13366         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
13367         * modules/wcsspn (configure.ac): ... to here.
13368
13369 2011-05-22  Bruno Haible  <bruno@clisp.org>
13370
13371         wcsrtombs: Move AC_LIBOBJ invocations to module description.
13372         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
13373         gl_PREREQ_WCSRTOMBS invocations from here...
13374         * modules/wcsrtombs (configure.ac): ... to here.
13375
13376 2011-05-22  Bruno Haible  <bruno@clisp.org>
13377
13378         wcsrchr: Move AC_LIBOBJ invocations to module description.
13379         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
13380         here...
13381         * modules/wcsrchr (configure.ac): ... to here.
13382
13383 2011-05-22  Bruno Haible  <bruno@clisp.org>
13384
13385         wcspbrk: Move AC_LIBOBJ invocations to module description.
13386         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
13387         here...
13388         * modules/wcspbrk (configure.ac): ... to here.
13389
13390 2011-05-22  Bruno Haible  <bruno@clisp.org>
13391
13392         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
13393         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
13394         gl_PREREQ_WCSNRTOMBS invocations from here...
13395         * modules/wcsnrtombs (configure.ac): ... to here.
13396
13397 2011-05-22  Bruno Haible  <bruno@clisp.org>
13398
13399         wcsnlen: Move AC_LIBOBJ invocations to module description.
13400         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
13401         here...
13402         * modules/wcsnlen (configure.ac): ... to here.
13403
13404 2011-05-22  Bruno Haible  <bruno@clisp.org>
13405
13406         wcsncpy: Move AC_LIBOBJ invocations to module description.
13407         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
13408         here...
13409         * modules/wcsncpy (configure.ac): ... to here.
13410
13411 2011-05-22  Bruno Haible  <bruno@clisp.org>
13412
13413         wcsncmp: Move AC_LIBOBJ invocations to module description.
13414         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
13415         here...
13416         * modules/wcsncmp (configure.ac): ... to here.
13417
13418 2011-05-22  Bruno Haible  <bruno@clisp.org>
13419
13420         wcsncat: Move AC_LIBOBJ invocations to module description.
13421         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
13422         here...
13423         * modules/wcsncat (configure.ac): ... to here.
13424
13425 2011-05-22  Bruno Haible  <bruno@clisp.org>
13426
13427         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
13428         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
13429         from here...
13430         * modules/wcsncasecmp (configure.ac): ... to here.
13431
13432 2011-05-22  Bruno Haible  <bruno@clisp.org>
13433
13434         wcslen: Move AC_LIBOBJ invocations to module description.
13435         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
13436         * modules/wcslen (configure.ac): ... to here.
13437
13438 2011-05-22  Bruno Haible  <bruno@clisp.org>
13439
13440         wcsdup: Move AC_LIBOBJ invocations to module description.
13441         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
13442         * modules/wcsdup (configure.ac): ... to here.
13443
13444 2011-05-22  Bruno Haible  <bruno@clisp.org>
13445
13446         wcscspn: Move AC_LIBOBJ invocations to module description.
13447         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
13448         here...
13449         * modules/wcscspn (configure.ac): ... to here.
13450
13451 2011-05-22  Bruno Haible  <bruno@clisp.org>
13452
13453         wcscpy: Move AC_LIBOBJ invocations to module description.
13454         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
13455         * modules/wcscpy (configure.ac): ... to here.
13456
13457 2011-05-22  Bruno Haible  <bruno@clisp.org>
13458
13459         wcscoll: Move AC_LIBOBJ invocations to module description.
13460         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
13461         here...
13462         * modules/wcscoll (configure.ac): ... to here.
13463
13464 2011-05-22  Bruno Haible  <bruno@clisp.org>
13465
13466         wcscmp: Move AC_LIBOBJ invocations to module description.
13467         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
13468         * modules/wcscmp (configure.ac): ... to here.
13469
13470 2011-05-22  Bruno Haible  <bruno@clisp.org>
13471
13472         wcschr: Move AC_LIBOBJ invocations to module description.
13473         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
13474         * modules/wcschr (configure.ac): ... to here.
13475
13476 2011-05-22  Bruno Haible  <bruno@clisp.org>
13477
13478         wcscat: Move AC_LIBOBJ invocations to module description.
13479         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
13480         * modules/wcscat (configure.ac): ... to here.
13481
13482 2011-05-22  Bruno Haible  <bruno@clisp.org>
13483
13484         wcscasecmp: Move AC_LIBOBJ invocations to module description.
13485         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
13486         here...
13487         * modules/wcscasecmp (configure.ac): ... to here.
13488
13489 2011-05-22  Bruno Haible  <bruno@clisp.org>
13490
13491         wcrtomb: Move AC_LIBOBJ invocations to module description.
13492         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
13493         invocations from here...
13494         * modules/wcrtomb (configure.ac): ... to here.
13495
13496 2011-05-22  Bruno Haible  <bruno@clisp.org>
13497
13498         wcpncpy: Move AC_LIBOBJ invocations to module description.
13499         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
13500         here...
13501         * modules/wcpncpy (configure.ac): ... to here.
13502
13503 2011-05-22  Bruno Haible  <bruno@clisp.org>
13504
13505         wcpcpy: Move AC_LIBOBJ invocations to module description.
13506         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
13507         * modules/wcpcpy (configure.ac): ... to here.
13508
13509 2011-05-22  Bruno Haible  <bruno@clisp.org>
13510
13511         waitpid: Move AC_LIBOBJ invocations to module description.
13512         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
13513         invocation from here...
13514         * modules/waitpid (configure.ac): ... to here.
13515
13516 2011-05-22  Bruno Haible  <bruno@clisp.org>
13517
13518         utimensat: Move AC_LIBOBJ invocations to module description.
13519         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
13520         here...
13521         * modules/utimensat (configure.ac): ... to here.
13522
13523 2011-05-22  Bruno Haible  <bruno@clisp.org>
13524
13525         usleep: Move AC_LIBOBJ invocations to module description.
13526         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
13527         here...
13528         * modules/usleep (configure.ac): ... to here.
13529
13530 2011-05-22  Bruno Haible  <bruno@clisp.org>
13531
13532         unlockpt: Move AC_LIBOBJ invocations to module description.
13533         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
13534         gl_PREREQ_UNLOCKPT invocations from here...
13535         * modules/unlockpt (configure.ac): ... to here.
13536
13537 2011-05-22  Bruno Haible  <bruno@clisp.org>
13538
13539         unlink: Respect rules for use of AC_LIBOBJ.
13540         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
13541         * modules/unlink (configure.ac): ... to here.
13542
13543 2011-05-22  Bruno Haible  <bruno@clisp.org>
13544
13545         uname: Move AC_LIBOBJ invocations to module description.
13546         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
13547         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
13548         here...
13549         * modules/uname (configure.ac): ... to here.
13550
13551 2011-05-22  Bruno Haible  <bruno@clisp.org>
13552
13553         ttyname_r: Move AC_LIBOBJ invocations to module description.
13554         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
13555         gl_PREREQ_TTYNAME_R invocations from here...
13556         * modules/ttyname_r (configure.ac): ... to here.
13557
13558 2011-05-22  Bruno Haible  <bruno@clisp.org>
13559
13560         tsearch: Move AC_LIBOBJ invocations to module description.
13561         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
13562         invocations from here...
13563         * modules/tsearch (configure.ac): ... to here.
13564
13565 2011-05-22  Bruno Haible  <bruno@clisp.org>
13566
13567         towctrans: Move AC_LIBOBJ invocations to module description.
13568         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
13569         AC_LIBOBJ invocation from here...
13570         * modules/towctrans (configure.ac): ... to here.
13571
13572 2011-05-22  Bruno Haible  <bruno@clisp.org>
13573
13574         tmpfile: Move AC_LIBOBJ invocations to module description.
13575         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
13576         invocations from here...
13577         * modules/tmpfile (configure.ac): ... to here.
13578
13579 2011-05-22  Bruno Haible  <bruno@clisp.org>
13580
13581         times: Move AC_LIBOBJ invocations to module description.
13582         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
13583         * modules/times (configure.ac): ... to here.
13584
13585 2011-05-22  Bruno Haible  <bruno@clisp.org>
13586
13587         time_r: Move AC_LIBOBJ invocations to module description.
13588         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
13589         invocations from here...
13590         * modules/time_r (configure.ac): ... to here.
13591
13592 2011-05-22  Bruno Haible  <bruno@clisp.org>
13593
13594         timegm: Move AC_LIBOBJ invocations to module description.
13595         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
13596         invocations from here...
13597         * modules/timegm (configure.ac): ... to here.
13598
13599 2011-05-22  Bruno Haible  <bruno@clisp.org>
13600
13601         tcgetsid: Move AC_LIBOBJ invocations to module description.
13602         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
13603         and gl_PREREQ_TCGETSID invocations from here...
13604         * modules/tcgetsid (configure.ac): ... to here.
13605         (Depends-on): Update conditions.
13606
13607 2011-05-22  Bruno Haible  <bruno@clisp.org>
13608
13609         symlinkat: Move AC_LIBOBJ invocations to module description.
13610         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
13611         here...
13612         * modules/symlinkat (configure.ac): ... to here.
13613
13614 2011-05-22  Bruno Haible  <bruno@clisp.org>
13615
13616         symlink: Move AC_LIBOBJ invocations to module description.
13617         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
13618         here...
13619         * modules/symlink (configure.ac): ... to here.
13620
13621 2011-05-22  Bruno Haible  <bruno@clisp.org>
13622
13623         strverscmp: Move AC_LIBOBJ invocations to module description.
13624         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
13625         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
13626         from here...
13627         * modules/strverscmp (configure.ac): ... to here.
13628
13629 2011-05-22  Bruno Haible  <bruno@clisp.org>
13630
13631         strtok_r: Move AC_LIBOBJ invocations to module description.
13632         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
13633         and gl_PREREQ_STRTOK_R invocations from here...
13634         * modules/strtok_r (configure.ac): ... to here.
13635         (Depends-on): Update conditions.
13636
13637 2011-05-22  Bruno Haible  <bruno@clisp.org>
13638
13639         strtoumax: Move AC_LIBOBJ invocations to module description.
13640         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
13641         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
13642         from here...
13643         * modules/strtoumax (configure.ac): ... to here.
13644
13645 2011-05-22  Bruno Haible  <bruno@clisp.org>
13646
13647         strtoimax: Move AC_LIBOBJ invocations to module description.
13648         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
13649         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
13650         from here...
13651         * modules/strtoimax (configure.ac): ... to here.
13652
13653 2011-05-22  Bruno Haible  <bruno@clisp.org>
13654
13655         strtoull: Move AC_LIBOBJ invocations to module description.
13656         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
13657         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
13658         from here...
13659         * modules/strtoull (configure.ac): ... to here.
13660
13661 2011-05-22  Bruno Haible  <bruno@clisp.org>
13662
13663         strtoll: Move AC_LIBOBJ invocations to module description.
13664         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
13665         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
13666         here...
13667         * modules/strtoll (configure.ac): ... to here.
13668
13669 2011-05-22  Bruno Haible  <bruno@clisp.org>
13670
13671         strtoul: Move AC_LIBOBJ invocations to module description.
13672         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
13673         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
13674         * modules/strtoul (configure.ac): ... to here.
13675
13676 2011-05-22  Bruno Haible  <bruno@clisp.org>
13677
13678         strtol: Move AC_LIBOBJ invocations to module description.
13679         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
13680         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
13681         * modules/strtol (configure.ac): ... to here.
13682
13683 2011-05-22  Bruno Haible  <bruno@clisp.org>
13684
13685         strtod: Move AC_LIBOBJ invocations to module description.
13686         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
13687         invocations from here...
13688         * modules/strtod (configure.ac): ... to here.
13689
13690 2011-05-22  Bruno Haible  <bruno@clisp.org>
13691
13692         strstr*: Move AC_LIBOBJ invocations to module description.
13693         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
13694         invocations from here...
13695         * modules/strstr-simple (configure.ac): ... to here.
13696         * modules/strstr (configure.ac): ... and here.
13697
13698 2011-05-22  Bruno Haible  <bruno@clisp.org>
13699
13700         strsignal: Move AC_LIBOBJ invocations to module description.
13701         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
13702         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
13703         * modules/strsignal (configure.ac): ... to here.
13704         (Depends-on): Update conditions.
13705
13706 2011-05-22  Bruno Haible  <bruno@clisp.org>
13707
13708         strsep: Move AC_LIBOBJ invocations to module description.
13709         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
13710         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
13711         here...
13712         * modules/strsep (configure.ac): ... to here.
13713
13714 2011-05-22  Bruno Haible  <bruno@clisp.org>
13715
13716         strptime: Move AC_LIBOBJ invocations to module description.
13717         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
13718         gl_PREREQ_STRPTIME invocations from here...
13719         * modules/strptime (configure.ac): ... to here.
13720
13721 2011-05-22  Bruno Haible  <bruno@clisp.org>
13722
13723         strpbrk: Move AC_LIBOBJ invocations to module description.
13724         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
13725         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
13726         here...
13727         * modules/strpbrk (configure.ac): ... to here.
13728
13729 2011-05-22  Bruno Haible  <bruno@clisp.org>
13730
13731         strnlen: Move AC_LIBOBJ invocations to module description.
13732         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
13733         invocations from here...
13734         * modules/strnlen (configure.ac): ... to here.
13735
13736 2011-05-22  Bruno Haible  <bruno@clisp.org>
13737
13738         strndup: Move AC_LIBOBJ invocations to module description.
13739         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
13740         invocations from here...
13741         * modules/strndup (configure.ac): ... to here.
13742         (Depends-on): Update conditions.
13743
13744 2011-05-22  Bruno Haible  <bruno@clisp.org>
13745
13746         strncat: Move AC_LIBOBJ invocations to module description.
13747         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
13748         invocations from here...
13749         * modules/strncat (configure.ac): ... to here.
13750
13751 2011-05-22  Bruno Haible  <bruno@clisp.org>
13752
13753         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
13754         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
13755         invocations from here...
13756         * modules/strdup (configure.ac): ... to here.
13757         * modules/strdup-posix (configure.ac): ... and here.
13758
13759 2011-05-22  Bruno Haible  <bruno@clisp.org>
13760
13761         strcspn: Move AC_LIBOBJ invocations to module description.
13762         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
13763         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
13764         here...
13765         * modules/strcspn (configure.ac): ... to here.
13766
13767 2011-05-22  Bruno Haible  <bruno@clisp.org>
13768
13769         strchrnul: Move AC_LIBOBJ invocations to module description.
13770         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
13771         gl_PREREQ_STRCHRNUL invocations from here...
13772         * modules/strchrnul (configure.ac): ... to here.
13773
13774 2011-05-22  Bruno Haible  <bruno@clisp.org>
13775
13776         strcasestr*: Move AC_LIBOBJ invocations to module description.
13777         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
13778         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
13779         * modules/strcasestr-simple (configure.ac): ... to here.
13780         * modules/strcasestr (configure.ac): ... and here.
13781
13782 2011-05-22  Bruno Haible  <bruno@clisp.org>
13783
13784         strcase: Move AC_LIBOBJ invocations to module description.
13785         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
13786         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
13787         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
13788         gl_PREREQ_STRNCASECMP invocations from here...
13789         * modules/strcase (configure.ac): ... to here.
13790
13791 2011-05-22  Bruno Haible  <bruno@clisp.org>
13792
13793         stpncpy: Move AC_LIBOBJ invocations to module description.
13794         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
13795         here...
13796         * modules/stpncpy (configure.ac): ... to here.
13797
13798 2011-05-22  Bruno Haible  <bruno@clisp.org>
13799
13800         stpcpy: Move AC_LIBOBJ invocations to module description.
13801         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
13802         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
13803         here...
13804         * modules/stpcpy (configure.ac): ... to here.
13805
13806 2011-05-21  Bruno Haible  <bruno@clisp.org>
13807
13808         stat: Move AC_LIBOBJ invocations to module description.
13809         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
13810         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
13811         here...
13812         * modules/stat (configure.ac): ... to here.
13813
13814 2011-05-21  Bruno Haible  <bruno@clisp.org>
13815
13816         sleep: Move AC_LIBOBJ invocations to module description.
13817         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
13818         * modules/sleep (configure.ac): ... to here.
13819
13820 2011-05-21  Bruno Haible  <bruno@clisp.org>
13821
13822         signbit: Move AC_LIBOBJ invocations to module description.
13823         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
13824         * modules/signbit (configure.ac): ... to here.
13825
13826 2011-05-21  Bruno Haible  <bruno@clisp.org>
13827
13828         sigprocmask: Move AC_LIBOBJ invocations to module description.
13829         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
13830         gl_PREREQ_SIGPROMASK invocations from here...
13831         * modules/sigprocmask (configure.ac): ... to here.
13832
13833 2011-05-21  Bruno Haible  <bruno@clisp.org>
13834
13835         sigaction: Move AC_LIBOBJ invocations to module description.
13836         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
13837         gl_PREREQ_SIGACTION invocations from here...
13838         * modules/sigaction (configure.ac): ... to here.
13839
13840 2011-05-21  Bruno Haible  <bruno@clisp.org>
13841
13842         sig2str: Move AC_LIBOBJ invocations to module description.
13843         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
13844         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
13845         here...
13846         * modules/sig2str (configure.ac): ... to here.
13847
13848 2011-05-21  Bruno Haible  <bruno@clisp.org>
13849
13850         setlocale: Move AC_LIBOBJ invocations to module description.
13851         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
13852         gl_PREREQ_SETLOCALE invocations from here...
13853         * modules/setlocale (configure.ac): ... to here.
13854
13855 2011-05-21  Bruno Haible  <bruno@clisp.org>
13856
13857         unsetenv: Move AC_LIBOBJ invocations to module description.
13858         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
13859         and gl_PREREQ_UNSETENV invocations from here...
13860         * modules/unsetenv (configure.ac): ... to here.
13861         (Depends-on): Update.
13862
13863 2011-05-21  Bruno Haible  <bruno@clisp.org>
13864
13865         setenv: Move AC_LIBOBJ invocations to module description.
13866         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
13867         here...
13868         * modules/setenv (configure.ac): ... to here.
13869
13870 2011-05-21  Bruno Haible  <bruno@clisp.org>
13871
13872         selinux-h: Move AC_LIBOBJ invocations to module description.
13873         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
13874         AC_LIBOBJ invocation from here...
13875         * modules/selinux-h (configure.ac): ... to here.
13876
13877 2011-05-21  Bruno Haible  <bruno@clisp.org>
13878
13879         select: Respect rules for use of AC_LIBOBJ.
13880         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
13881         here...
13882         * modules/select (configure.ac): ... to here.
13883
13884 2011-05-21  Bruno Haible  <bruno@clisp.org>
13885
13886         scandir: Move AC_LIBOBJ invocations to module description.
13887         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
13888         invocations from here...
13889         * modules/scandir (configure.ac): ... to here.
13890
13891 2011-05-21  Bruno Haible  <bruno@clisp.org>
13892
13893         rpmatch: Move AC_LIBOBJ invocations to module description.
13894         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
13895         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
13896         here...
13897         * modules/rpmatch (configure.ac): ... to here.
13898
13899 2011-05-21  Bruno Haible  <bruno@clisp.org>
13900
13901         rmdir: Respect rules for use of AC_LIBOBJ.
13902         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
13903         * modules/rmdir (configure.ac): ... to here.
13904
13905 2011-05-21  Bruno Haible  <bruno@clisp.org>
13906
13907         renameat: Move AC_LIBOBJ invocations to module description.
13908         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
13909         here...
13910         * modules/renameat (configure.ac): ... to here.
13911
13912 2011-05-21  Bruno Haible  <bruno@clisp.org>
13913
13914         rename: Respect rules for use of AC_LIBOBJ.
13915         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
13916         here...
13917         * modules/rename (configure.ac): ... to here.
13918
13919 2011-05-21  Bruno Haible  <bruno@clisp.org>
13920
13921         remove: Move AC_LIBOBJ invocations to module description.
13922         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
13923         here...
13924         * modules/remove (configure.ac): ... to here.
13925
13926 2011-05-21  Bruno Haible  <bruno@clisp.org>
13927
13928         relocatable-lib: Move AC_LIBOBJ invocations to module description.
13929         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
13930         macro.
13931         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
13932         * modules/relocatable-lib (configure.ac): ... to here.
13933         * modules/relocatable-prog-wrapper (configure.ac): Invoke
13934         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
13935
13936 2011-05-21  Bruno Haible  <bruno@clisp.org>
13937
13938         relocatable-prog: Move AC_LIBOBJ invocations to module description.
13939         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
13940         here...
13941         * modules/relocatable-prog (configure.ac): ... to here.
13942
13943 2011-05-21  Bruno Haible  <bruno@clisp.org>
13944
13945         regex: Move AC_LIBOBJ invocations to module description.
13946         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
13947         invocations from here...
13948         * modules/regex (configure.ac): ... to here.
13949
13950 2011-05-21  Bruno Haible  <bruno@clisp.org>
13951
13952         realloc-*: Move AC_LIBOBJ invocations to module description.
13953         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
13954         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
13955         AC_LIBOBJ invocations from here...
13956         * modules/realloc-gnu (configure.ac): ... to here.
13957         * modules/realloc-posix (configure.ac): ... and here.
13958
13959 2011-05-21  Bruno Haible  <bruno@clisp.org>
13960
13961         readutmp: Move AC_LIBOBJ invocations to module description.
13962         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
13963         * modules/readutmp (configure.ac): ... to here.
13964
13965 2011-05-21  Bruno Haible  <bruno@clisp.org>
13966
13967         readlinkat: Move AC_LIBOBJ invocations to module description.
13968         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
13969         here...
13970         * modules/readlinkat (configure.ac): ... to here.
13971
13972 2011-05-21  Bruno Haible  <bruno@clisp.org>
13973
13974         readlink: Move AC_LIBOBJ invocations to module description.
13975         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
13976         gl_PREREQ_READLINK invocations from here...
13977         * modules/readlink (configure.ac): ... to here.
13978
13979 2011-05-21  Bruno Haible  <bruno@clisp.org>
13980
13981         readline: Move AC_LIBOBJ invocations to module description.
13982         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
13983         gl_PREREQ_READLINE invocations from here...
13984         * modules/readline (configure.ac): ... to here.
13985
13986 2011-05-21  Bruno Haible  <bruno@clisp.org>
13987
13988         read: Move AC_LIBOBJ invocations to module description.
13989         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
13990         * modules/read (configure.ac): ... to here.
13991
13992 2011-05-21  Bruno Haible  <bruno@clisp.org>
13993
13994         rawmemchr: Move AC_LIBOBJ invocations to module description.
13995         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
13996         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
13997         from here...
13998         * modules/rawmemchr (configure.ac): ... to here.
13999
14000 2011-05-21  Bruno Haible  <bruno@clisp.org>
14001
14002         random_r: Move AC_LIBOBJ invocations to module description.
14003         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
14004         gl_PREREQ_RANDOM_R invocations from here...
14005         * modules/random_r (configure.ac): ... to here.
14006
14007 2011-05-21  Bruno Haible  <bruno@clisp.org>
14008
14009         pwrite: Move AC_LIBOBJ invocations to module description.
14010         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
14011         * modules/pwrite (configure.ac): ... to here.
14012
14013 2011-05-21  Bruno Haible  <bruno@clisp.org>
14014
14015         putenv: Move AC_LIBOBJ invocations to module description.
14016         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
14017         * modules/putenv (configure.ac): ... to here.
14018
14019 2011-05-21  Bruno Haible  <bruno@clisp.org>
14020
14021         login_tty: Move AC_LIBOBJ invocations to module description.
14022         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
14023         * modules/login_tty (configure.ac): ... to here.
14024
14025 2011-05-21  Bruno Haible  <bruno@clisp.org>
14026
14027         openpty: Move AC_LIBOBJ invocations to module description.
14028         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
14029         * modules/openpty (configure.ac): ... to here.
14030
14031 2011-05-21  Bruno Haible  <bruno@clisp.org>
14032
14033         forkpty: Move AC_LIBOBJ invocations to module description.
14034         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
14035         * modules/forkpty (configure.ac): ... to here.
14036
14037 2011-05-21  Bruno Haible  <bruno@clisp.org>
14038
14039         ptsname: Move AC_LIBOBJ invocations to module description.
14040         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
14041         invocations from here...
14042         * modules/ptsname (configure.ac): ... to here.
14043
14044 2011-05-21  Bruno Haible  <bruno@clisp.org>
14045
14046         pread: Move AC_LIBOBJ invocations to module description.
14047         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
14048         * modules/pread (configure.ac): ... to here.
14049
14050 2011-05-21  Bruno Haible  <bruno@clisp.org>
14051
14052         posix_spawn*: Move AC_LIBOBJ invocations to module description.
14053         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
14054         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
14055         * modules/posix_spawn (configure.ac): ... to here.
14056         * modules/posix_spawnp (configure.ac): ... and here.
14057
14058 2011-05-21  Bruno Haible  <bruno@clisp.org>
14059
14060         popen: Move AC_LIBOBJ invocations to module description.
14061         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
14062         invocations from here...
14063         * modules/popen (configure.ac): ... to here.
14064
14065 2011-05-21  Bruno Haible  <bruno@clisp.org>
14066
14067         poll: Move AC_LIBOBJ invocations to module description.
14068         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
14069         invocations from here...
14070         * modules/poll (configure.ac): ... to here.
14071
14072 2011-05-21  Bruno Haible  <bruno@clisp.org>
14073
14074         pipe-posix: Move AC_LIBOBJ invocations to module description.
14075         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
14076         * modules/pipe-posix (configure.ac): ... to here.
14077
14078 2011-05-21  Bruno Haible  <bruno@clisp.org>
14079
14080         openat: Respect rules for use of AC_LIBOBJ.
14081         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
14082         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
14083         * modules/openat (configure.ac): ... to here.
14084
14085 2011-05-21  Bruno Haible  <bruno@clisp.org>
14086
14087         obstack-printf*: Move AC_LIBOBJ invocations to module description.
14088         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
14089         invocation from here...
14090         * modules/obstack-printf (configure.ac): ... to here.
14091         * modules/obstack-printf-posix (configure.ac): ... and here.
14092
14093 2011-05-21  Bruno Haible  <bruno@clisp.org>
14094
14095         nl_langinfo: Move AC_LIBOBJ invocations to module description.
14096         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
14097         from here...
14098         * modules/nl_langinfo (configure.ac): ... to here.
14099
14100 2011-05-21  Bruno Haible  <bruno@clisp.org>
14101
14102         nanosleep: Move AC_LIBOBJ invocations to module description.
14103         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
14104         gl_PREREQ_NANOSLEEP invocations from here...
14105         * modules/nanosleep (configure.ac): ... to here.
14106
14107 2011-05-21  Bruno Haible  <bruno@clisp.org>
14108
14109         mountlist: Move AC_LIBOBJ invocations to module description.
14110         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
14111         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
14112         * modules/mountlist (configure.ac): ... to here.
14113
14114 2011-05-21  Bruno Haible  <bruno@clisp.org>
14115
14116         mktime: Respect rules for use of AC_LIBOBJ.
14117         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
14118         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
14119         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
14120         (gl_FUNC_MKTIME_INTERNAL): ... and here...
14121         * modules/mktime (configure.ac): ... to here.
14122         * modules/mktime-internal (configure.ac): ... and here.
14123         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
14124
14125 2011-05-21  Bruno Haible  <bruno@clisp.org>
14126
14127         mkstemps: Move AC_LIBOBJ invocations to module description.
14128         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
14129         here...
14130         * modules/mkstemps (configure.ac): ... to here.
14131
14132 2011-05-21  Bruno Haible  <bruno@clisp.org>
14133
14134         mkstemp: Move AC_LIBOBJ invocations to module description.
14135         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
14136         gl_PREREQ_MKSTEMP invocations from here...
14137         * modules/mkstemp (configure.ac): ... to here.
14138
14139 2011-05-21  Bruno Haible  <bruno@clisp.org>
14140
14141         mkostemps: Move AC_LIBOBJ invocations to module description.
14142         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
14143         here...
14144         * modules/mkostemps (configure.ac): ... to here.
14145
14146 2011-05-21  Bruno Haible  <bruno@clisp.org>
14147
14148         mkostemp: Move AC_LIBOBJ invocations to module description.
14149         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
14150         gl_PREREQ_MKOSTEMP invocations from here...
14151         * modules/mkostemp (configure.ac): ... to here.
14152
14153 2011-05-21  Bruno Haible  <bruno@clisp.org>
14154
14155         mknod: Move AC_LIBOBJ invocations to module description.
14156         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
14157         * modules/mknod (configure.ac): ... to here.
14158
14159 2011-05-21  Bruno Haible  <bruno@clisp.org>
14160
14161         mkfifoat: Move AC_LIBOBJ invocations to module description.
14162         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
14163         here...
14164         * modules/mkfifoat (configure.ac): ... to here.
14165
14166 2011-05-21  Bruno Haible  <bruno@clisp.org>
14167
14168         mkfifo: Respect rules for use of AC_LIBOBJ.
14169         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
14170         here...
14171         * modules/mkfifo (configure.ac): ... to here.
14172
14173 2011-05-21  Bruno Haible  <bruno@clisp.org>
14174
14175         mkdtemp: Move AC_LIBOBJ invocations to module description.
14176         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
14177         invocations from here...
14178         * modules/mkdtemp (configure.ac): ... to here.
14179
14180 2011-05-21  Bruno Haible  <bruno@clisp.org>
14181
14182         mkdir: Move AC_LIBOBJ invocations to module description.
14183         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
14184         * modules/mkdir (configure.ac): ... to here.
14185
14186 2011-05-21  Bruno Haible  <bruno@clisp.org>
14187
14188         memset: Move AC_LIBOBJ invocations to module description.
14189         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
14190         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
14191         here...
14192         * modules/memset (configure.ac): ... to here.
14193
14194 2011-05-21  Bruno Haible  <bruno@clisp.org>
14195
14196         memrchr: Move AC_LIBOBJ invocations to module description.
14197         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
14198         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
14199         here...
14200         * modules/memrchr (configure.ac): ... to here.
14201
14202 2011-05-21  Bruno Haible  <bruno@clisp.org>
14203
14204         mempcpy: Move AC_LIBOBJ invocations to module description.
14205         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
14206         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
14207         here...
14208         * modules/mempcpy (configure.ac): ... to here.
14209
14210 2011-05-21  Bruno Haible  <bruno@clisp.org>
14211
14212         memmove: Move AC_LIBOBJ invocations to module description.
14213         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
14214         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
14215         here...
14216         * modules/memmove (configure.ac): ... to here.
14217
14218 2011-05-21  Bruno Haible  <bruno@clisp.org>
14219
14220         memmem*: Move AC_LIBOBJ invocations to module description.
14221         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
14222         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
14223         here...
14224         (gl_FUNC_MEMMEM): ... and here...
14225         * modules/memmem-simple (configure.ac): ... to here.
14226         * modules/memmem (configure.ac): ... and here.
14227
14228 2011-05-21  Bruno Haible  <bruno@clisp.org>
14229
14230         memcpy: Move AC_LIBOBJ invocations to module description.
14231         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
14232         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
14233         here...
14234         * modules/memcpy (configure.ac): ... to here.
14235
14236 2011-05-21  Bruno Haible  <bruno@clisp.org>
14237
14238         memcmp: Simplify autoconf macro.
14239         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
14240         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
14241         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
14242
14243 2011-05-21  Bruno Haible  <bruno@clisp.org>
14244
14245         memcmp: Move AC_LIBOBJ invocations to module description.
14246         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
14247         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
14248         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
14249         * modules/memcmp (configure.ac): ... to here.
14250         (Depends-on): Update conditions.
14251
14252 2011-05-21  Bruno Haible  <bruno@clisp.org>
14253
14254         memchr: Respect rules for use of AC_LIBOBJ.
14255         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
14256         invocations from here...
14257         * modules/memchr (configure.ac): ... to here.
14258
14259 2011-05-21  Bruno Haible  <bruno@clisp.org>
14260
14261         mbtowc: Move AC_LIBOBJ invocations to module description.
14262         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
14263         invocations from here...
14264         * modules/mbtowc (configure.ac): ... to here.
14265
14266 2011-05-21  Bruno Haible  <bruno@clisp.org>
14267
14268         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
14269         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
14270         gl_PREREQ_MBSRTOWCS invocations from here...
14271         * modules/mbsrtowcs (configure.ac): ... to here.
14272
14273 2011-05-21  Bruno Haible  <bruno@clisp.org>
14274
14275         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
14276         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
14277         gl_PREREQ_MBSNRTOWCS invocations from here...
14278         * modules/mbsnrtowcs (configure.ac): ... to here.
14279
14280 2011-05-21  Bruno Haible  <bruno@clisp.org>
14281
14282         mbsinit: Move AC_LIBOBJ invocations to module description.
14283         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
14284         invocations from here...
14285         * modules/mbsinit (configure.ac): ... to here.
14286
14287 2011-05-21  Bruno Haible  <bruno@clisp.org>
14288
14289         mbrlen: Move AC_LIBOBJ invocations to module description.
14290         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
14291         invocations from here...
14292         * modules/mbrlen (configure.ac): ... to here.
14293
14294 2011-05-21  Bruno Haible  <bruno@clisp.org>
14295
14296         mbrtowc: Respect rules for use of AC_LIBOBJ.
14297         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
14298         invocations from here...
14299         * modules/mbrtowc (configure.ac): ... to here.
14300
14301 2011-05-21  Bruno Haible  <bruno@clisp.org>
14302
14303         malloc-*: Move AC_LIBOBJ invocations to module description.
14304         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
14305         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
14306         AC_LIBOBJ invocations from here...
14307         * modules/malloc-gnu (configure.ac): ... to here.
14308         * modules/malloc-posix (configure.ac): ... and here.
14309
14310 2011-05-21  Bruno Haible  <bruno@clisp.org>
14311
14312         lstat, openat: Respect rules for use of AC_LIBOBJ.
14313         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
14314         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
14315         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
14316         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
14317         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
14318         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
14319         here.
14320         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
14321
14322 2011-05-21  Bruno Haible  <bruno@clisp.org>
14323
14324         lseek: Move AC_LIBOBJ invocations to module description.
14325         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
14326         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
14327         * modules/lseek (configure.ac): ... to here.
14328
14329 2011-05-21  Bruno Haible  <bruno@clisp.org>
14330
14331         linkat: Move AC_LIBOBJ invocations to module description.
14332         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
14333         here...
14334         * modules/linkat (configure.ac): ... to here.
14335
14336 2011-05-21  Bruno Haible  <bruno@clisp.org>
14337
14338         link: Respect rules for use of AC_LIBOBJ.
14339         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
14340         * modules/link (configure.ac): ... to here.
14341
14342 2011-05-21  Bruno Haible  <bruno@clisp.org>
14343
14344         lchown: Move AC_LIBOBJ invocations to module description.
14345         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
14346         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
14347         * modules/lchown (configure.ac): ... to here.
14348
14349 2011-05-21  Bruno Haible  <bruno@clisp.org>
14350
14351         iswctype: Move AC_LIBOBJ invocations to module description.
14352         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
14353         here...
14354         * modules/iswctype (configure.ac): ... to here.
14355
14356 2011-05-21  Bruno Haible  <bruno@clisp.org>
14357
14358         iswblank: Move AC_LIBOBJ invocations to module description.
14359         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
14360         here...
14361         * modules/iswblank (configure.ac): ... to here.
14362
14363 2011-05-21  Bruno Haible  <bruno@clisp.org>
14364
14365         atanl: Move AC_LIBOBJ invocations to module description.
14366         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
14367         * modules/atanl (configure.ac): ... to here.
14368
14369 2011-05-21  Bruno Haible  <bruno@clisp.org>
14370
14371         acosl: Move AC_LIBOBJ invocations to module description.
14372         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
14373         * modules/acosl (configure.ac): ... to here.
14374
14375 2011-05-21  Bruno Haible  <bruno@clisp.org>
14376
14377         asinl: Respect rules for use of AC_LIBOBJ.
14378         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
14379         * modules/asinl (configure.ac): ... to here.
14380
14381 2011-05-21  Bruno Haible  <bruno@clisp.org>
14382
14383         tanl: Move AC_LIBOBJ invocations to module description.
14384         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
14385         * modules/tanl (configure.ac): ... to here.
14386
14387 2011-05-21  Bruno Haible  <bruno@clisp.org>
14388
14389         cosl: Move AC_LIBOBJ invocations to module description.
14390         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
14391         * modules/cosl (configure.ac): ... to here.
14392
14393 2011-05-21  Bruno Haible  <bruno@clisp.org>
14394
14395         sinl: Move AC_LIBOBJ invocations to module description.
14396         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
14397         * modules/sinl (configure.ac): ... to here.
14398
14399 2011-05-21  Bruno Haible  <bruno@clisp.org>
14400
14401         logl: Move AC_LIBOBJ invocations to module description.
14402         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
14403         * modules/logl (configure.ac): ... to here.
14404
14405 2011-05-21  Bruno Haible  <bruno@clisp.org>
14406
14407         expl: Move AC_LIBOBJ invocations to module description.
14408         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
14409         * modules/expl (configure.ac): ... to here.
14410
14411 2011-05-21  Bruno Haible  <bruno@clisp.org>
14412
14413         roundl: Move AC_LIBOBJ invocations to module description.
14414         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
14415         * modules/roundl (configure.ac): ... to here.
14416
14417 2011-05-21  Bruno Haible  <bruno@clisp.org>
14418
14419         round: Move AC_LIBOBJ invocations to module description.
14420         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
14421         * modules/round (configure.ac): ... to here.
14422
14423 2011-05-21  Bruno Haible  <bruno@clisp.org>
14424
14425         roundf: Move AC_LIBOBJ invocations to module description.
14426         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
14427         * modules/roundf (configure.ac): ... to here.
14428
14429 2011-05-21  Bruno Haible  <bruno@clisp.org>
14430
14431         truncl: Move AC_LIBOBJ invocations to module description.
14432         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
14433         * modules/truncl (configure.ac): ... to here.
14434
14435 2011-05-21  Bruno Haible  <bruno@clisp.org>
14436
14437         trunc: Move AC_LIBOBJ invocations to module description.
14438         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
14439         * modules/trunc (configure.ac): ... to here.
14440
14441 2011-05-21  Bruno Haible  <bruno@clisp.org>
14442
14443         truncf: Move AC_LIBOBJ invocations to module description.
14444         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
14445         * modules/truncf (configure.ac): ... to here.
14446
14447 2011-05-21  Bruno Haible  <bruno@clisp.org>
14448
14449         ceill: Move AC_LIBOBJ invocations to module description.
14450         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
14451         * modules/ceill (configure.ac): ... to here.
14452
14453 2011-05-21  Bruno Haible  <bruno@clisp.org>
14454
14455         ceil: Move AC_LIBOBJ invocations to module description.
14456         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
14457         * modules/ceil (configure.ac): ... to here.
14458
14459 2011-05-21  Bruno Haible  <bruno@clisp.org>
14460
14461         ceilf: Move AC_LIBOBJ invocations to module description.
14462         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
14463         * modules/ceilf (configure.ac): ... to here.
14464
14465 2011-05-21  Bruno Haible  <bruno@clisp.org>
14466
14467         floorl: Respect rules for use of AC_LIBOBJ.
14468         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
14469         * modules/floorl (configure.ac): ... to here.
14470
14471 2011-05-21  Bruno Haible  <bruno@clisp.org>
14472
14473         floor: Respect rules for use of AC_LIBOBJ.
14474         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
14475         * modules/floor (configure.ac): ... to here.
14476
14477 2011-05-21  Bruno Haible  <bruno@clisp.org>
14478
14479         floorf: Move AC_LIBOBJ invocations to module description.
14480         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
14481         * modules/floorf (configure.ac): ... to here.
14482
14483 2011-05-20  Bruno Haible  <bruno@clisp.org>
14484
14485         sqrtl: Respect rules for use of AC_LIBOBJ.
14486         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
14487         * modules/sqrtl (configure.ac): ... to here.
14488
14489 2011-05-20  Bruno Haible  <bruno@clisp.org>
14490
14491         ldexpl: Respect rules for use of AC_LIBOBJ.
14492         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
14493         * modules/ldexpl (configure.ac): ... to here.
14494
14495 2011-05-20  Bruno Haible  <bruno@clisp.org>
14496
14497         frexpl*: Respect rules for use of AC_LIBOBJ.
14498         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
14499         invocation from here...
14500         * modules/frexpl (configure.ac): ... to here.
14501         * modules/frexpl-nolibm (configure.ac): ... and here.
14502
14503 2011-05-20  Bruno Haible  <bruno@clisp.org>
14504
14505         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
14506         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
14507         invocation from here...
14508         * modules/frexp (configure.ac): ... to here.
14509         * modules/frexp-nolibm (configure.ac): ... and here.
14510
14511 2011-05-20  Bruno Haible  <bruno@clisp.org>
14512
14513         isnan: Respect rules for use of AC_LIBOBJ.
14514         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
14515         invocations here.
14516         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
14517         REPLACE_ISNAN.
14518         * modules/isnand (configure.ac): Likewise.
14519         * modules/isnanl (configure.ac): Likewise.
14520
14521 2011-05-20  Bruno Haible  <bruno@clisp.org>
14522
14523         isnanl*: Respect rules for use of AC_LIBOBJ.
14524         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
14525         invocation from here...
14526         * modules/isnanl (configure.ac): ... to here.
14527         * modules/isnanl-nolibm (configure.ac): ... and here.
14528
14529 2011-05-20  Bruno Haible  <bruno@clisp.org>
14530
14531         isnand*: Move AC_LIBOBJ invocations to module description.
14532         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
14533         invocation from here...
14534         * modules/isnand (configure.ac): ... to here.
14535         * modules/isnand-nolibm (configure.ac): ... and here.
14536
14537 2011-05-20  Bruno Haible  <bruno@clisp.org>
14538
14539         isnanf*: Move AC_LIBOBJ invocations to module description.
14540         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
14541         invocation from here...
14542         * modules/isnanf (configure.ac): ... to here.
14543         * modules/isnanf-nolibm (configure.ac): ... and here.
14544
14545 2011-05-20  Bruno Haible  <bruno@clisp.org>
14546
14547         isnan*: Separate the AC_LIBOBJ invocations.
14548         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
14549         AC_LIBOBJ invocation.
14550         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
14551         here.
14552         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
14553         AC_LIBOBJ invocation.
14554         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
14555         here.
14556         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
14557         AC_LIBOBJ invocation.
14558         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
14559         here.
14560         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
14561
14562 2011-05-08  Bruno Haible  <bruno@clisp.org>
14563
14564         isinf: Move AC_LIBOBJ invocations to module description.
14565         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
14566         * modules/isinf (configure.ac): ... to here.
14567
14568 2011-05-08  Bruno Haible  <bruno@clisp.org>
14569
14570         isfinite: Move AC_LIBOBJ invocations to module description.
14571         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
14572         * modules/isfinite (configure.ac): ... to here.
14573
14574 2011-05-08  Bruno Haible  <bruno@clisp.org>
14575
14576         isblank: Move AC_LIBOBJ invocations to module description.
14577         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
14578         here...
14579         * modules/isblank (configure.ac): ... to here.
14580
14581 2011-05-08  Bruno Haible  <bruno@clisp.org>
14582
14583         isapipe: Move AC_LIBOBJ invocations to module description.
14584         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
14585         gl_PREREQ_ISAPIPE invocations from here...
14586         * modules/isapipe (configure.ac): ... to here.
14587         (Depends-on): Update condition.
14588
14589 2011-05-08  Bruno Haible  <bruno@clisp.org>
14590
14591         ioctl: Move AC_LIBOBJ invocations to module description.
14592         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
14593         invocations from here...
14594         * modules/ioctl (configure.ac): ... to here.
14595         (Depends-on): Update condition.
14596
14597 2011-05-08  Bruno Haible  <bruno@clisp.org>
14598
14599         imaxdiv: Move AC_LIBOBJ invocations to module description.
14600         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
14601         invocations from here...
14602         * modules/imaxdiv (configure.ac): ... to here.
14603
14604 2011-05-08  Bruno Haible  <bruno@clisp.org>
14605
14606         imaxabs: Move AC_LIBOBJ invocations to module description.
14607         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
14608         invocations from here...
14609         * modules/imaxabs (configure.ac): ... to here.
14610
14611 2011-05-08  Bruno Haible  <bruno@clisp.org>
14612
14613         getaddrinfo: Move AC_LIBOBJ invocations to module description.
14614         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
14615         AC_LIBOBJ invocations from here...
14616         * modules/getaddrinfo (configure.ac): ... to here.
14617         (Depends-on): Add conditions.
14618
14619 2011-05-08  Bruno Haible  <bruno@clisp.org>
14620
14621         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
14622         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
14623         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
14624         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
14625         (gl_PREREQ_INET_PTON): ... from here.
14626         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
14627         gl_PREREQ_INET_PTON here.
14628         (Depends-on): Update condition.
14629
14630 2011-05-08  Bruno Haible  <bruno@clisp.org>
14631
14632         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
14633         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
14634         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
14635         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
14636         (gl_PREREQ_INET_NTOP): ... from here.
14637         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
14638         gl_PREREQ_INET_NTOP here.
14639         (Depends-on): Update condition.
14640
14641 2011-05-08  Bruno Haible  <bruno@clisp.org>
14642
14643         iconv_open: Move AC_LIBOBJ invocations to module description.
14644         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
14645         AC_LIBOBJ invocations from here...
14646         * modules/iconv_open (configure.ac): ... to here.
14647
14648 2011-05-08  Bruno Haible  <bruno@clisp.org>
14649
14650         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
14651         If module 'iconv_open' is among the main modules and module
14652         'iconv_open-utf' is among the tests dependencies, then
14653         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
14654         return the special iconv_t values. Therefore iconv() and iconv_close()
14655         must support these special iconv_t values, already in lib, not only in
14656         tests.
14657         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
14658         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
14659         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
14660         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
14661         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
14662         (Depends-on): Add the dependencies of iconv_open-utf.
14663         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
14664         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
14665         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
14666
14667 2011-05-08  Bruno Haible  <bruno@clisp.org>
14668
14669         group-member: Move AC_LIBOBJ invocations to module description.
14670         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
14671         gl_PREREQ_GROUP_MEMBER invocations from here...
14672         * modules/group-member (configure.ac): ... to here.
14673
14674 2011-05-08  Bruno Haible  <bruno@clisp.org>
14675
14676         grantpt: Move AC_LIBOBJ invocations to module description.
14677         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
14678         invocations from here...
14679         * modules/grantpt (configure.ac): ... to here.
14680
14681 2011-05-08  Bruno Haible  <bruno@clisp.org>
14682
14683         glob: Move AC_LIBOBJ invocations to module description.
14684         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
14685         from here...
14686         * modules/glob (configure.ac): ... to here.
14687
14688 2011-05-08  Bruno Haible  <bruno@clisp.org>
14689
14690         getusershell: Move AC_LIBOBJ invocations to module description.
14691         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
14692         Move AC_LIBOBJ invocation from here...
14693         * modules/getusershell (configure.ac): ... to here.
14694         (Depends-on): Update condition.
14695
14696 2011-05-08  Bruno Haible  <bruno@clisp.org>
14697
14698         gettimeofday: Move AC_LIBOBJ invocations to module description.
14699         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
14700         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
14701         gl_PREREQ_GETTIMEOFDAY invocations from here...
14702         * modules/gettimeofday (configure.ac): ... to here.
14703
14704 2011-05-08  Bruno Haible  <bruno@clisp.org>
14705
14706         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
14707         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
14708         just gl_FUNC_TZSET.
14709         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
14710         (gl_FUNC_TZSET_CLOBBER): Remove actions.
14711         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
14712         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
14713
14714 2011-05-08  Bruno Haible  <bruno@clisp.org>
14715
14716         getsubopt: Move AC_LIBOBJ invocations to module description.
14717         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
14718         gl_PREREQ_GETSUBOPT invocations from here...
14719         * modules/getsubopt (configure.ac): ... to here.
14720
14721 2011-05-08  Bruno Haible  <bruno@clisp.org>
14722
14723         getpass-gnu: Move AC_LIBOBJ invocations to module description.
14724         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
14725         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
14726         * modules/getpass-gnu (configure.ac): ... to here.
14727
14728 2011-05-08  Bruno Haible  <bruno@clisp.org>
14729
14730         getpass: Move AC_LIBOBJ invocations to module description.
14731         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
14732         gl_PREREQ_GETPASS invocations from here...
14733         * modules/getpass (configure.ac): ... to here.
14734
14735 2011-05-08  Bruno Haible  <bruno@clisp.org>
14736
14737         getpagesize: Move AC_LIBOBJ invocations to module description.
14738         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
14739         from here...
14740         * modules/getpagesize (configure.ac): ... to here.
14741
14742 2011-05-08  Bruno Haible  <bruno@clisp.org>
14743
14744         getopt: Move AC_LIBOBJ invocations to module description.
14745         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
14746         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
14747         invocations from here...
14748         * modules/getopt-gnu (configure.ac): ... to here.
14749         * modules/getopt-posix (configure.ac): ... and here.
14750         (Depends-on): Update condition.
14751
14752 2011-05-08  Bruno Haible  <bruno@clisp.org>
14753
14754         getopt, argp: Respect rules for use of AC_LIBOBJ.
14755         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
14756         (gl_REPLACE_GETOPT_ALWAYS): New macro.
14757         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
14758         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
14759
14760 2011-05-08  Bruno Haible  <bruno@clisp.org>
14761
14762         getlogin_r: Move AC_LIBOBJ invocations to module description.
14763         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
14764         gl_PREREQ_GETLOGIN_R invocations from here...
14765         * modules/getlogin_r (configure.ac): ... to here.
14766
14767 2011-05-08  Bruno Haible  <bruno@clisp.org>
14768
14769         getlogin: Move AC_LIBOBJ invocations to module description.
14770         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
14771         here...
14772         * modules/getlogin (configure.ac): ... to here.
14773
14774 2011-05-08  Bruno Haible  <bruno@clisp.org>
14775
14776         getloadavg: Move AC_LIBOBJ invocations to module description.
14777         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
14778         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
14779         * modules/getloadavg (configure.ac): ... to here.
14780
14781 2011-05-08  Bruno Haible  <bruno@clisp.org>
14782
14783         gethrxtime: Move AC_LIBOBJ invocations to module description.
14784         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
14785         LIB_GETHRXTIME from here...
14786         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
14787         invocations from here...
14788         * modules/gethrxtime (configure.ac): ... to here.
14789
14790 2011-05-08  Bruno Haible  <bruno@clisp.org>
14791
14792         gethostname: Move AC_LIBOBJ invocations to module description.
14793         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
14794         gl_PREREQ_GETHOSTNAME invocations from here...
14795         * modules/gethostname (configure.ac): ... to here.
14796
14797 2011-05-08  Bruno Haible  <bruno@clisp.org>
14798
14799         getgroups: Move AC_LIBOBJ invocations to module description.
14800         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
14801         here...
14802         * modules/getgroups (configure.ac): ... to here.
14803
14804 2011-05-08  Bruno Haible  <bruno@clisp.org>
14805
14806         getdtablesize: Move AC_LIBOBJ invocations to module description.
14807         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
14808         invocation from here...
14809         * modules/getdtablesize (configure.ac): ... to here.
14810
14811 2011-05-08  Bruno Haible  <bruno@clisp.org>
14812
14813         getdomainname: Move AC_LIBOBJ invocations to module description.
14814         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
14815         gl_PREREQ_GETDOMAINNAME invocations from here...
14816         * modules/getdomainname (configure.ac): ... to here.
14817
14818 2011-05-08  Bruno Haible  <bruno@clisp.org>
14819
14820         getline: Move AC_LIBOBJ invocations to module description.
14821         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
14822         invocations from here...
14823         * modules/getline (configure.ac): ... to here.
14824
14825 2011-05-08  Bruno Haible  <bruno@clisp.org>
14826
14827         getline: Simplify.
14828         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
14829         It's already handled through the module dependency.
14830
14831 2011-05-08  Bruno Haible  <bruno@clisp.org>
14832
14833         getdelim: Move AC_LIBOBJ invocations to module description.
14834         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
14835         and gl_PREREQ_GETDELIM invocations from here...
14836         * modules/getdelim (configure.ac): ... to here.
14837         (Depends-on): Fix condition.
14838
14839 2011-05-08  Bruno Haible  <bruno@clisp.org>
14840
14841         getcwd: Move AC_LIBOBJ invocations to module description.
14842         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
14843         invocations from here...
14844         * modules/getcwd (configure.ac): ... to here.
14845
14846 2011-05-08  Bruno Haible  <bruno@clisp.org>
14847
14848         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
14849         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
14850         here...
14851         * modules/getcwd-lgpl (configure.ac): ... to here.
14852
14853 2011-05-07  Bruno Haible  <bruno@clisp.org>
14854
14855         crypto/gc: Move AC_LIBOBJ invocations to module description.
14856         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
14857         * modules/crypto/gc (configure.ac): ... to here.
14858
14859 2011-05-07  Bruno Haible  <bruno@clisp.org>
14860
14861         fwriting: Move AC_LIBOBJ invocations to module description.
14862         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
14863         here...
14864         * modules/fwriting (configure.ac): ... to here.
14865
14866 2011-05-07  Bruno Haible  <bruno@clisp.org>
14867
14868         fwritable: Move AC_LIBOBJ invocations to module description.
14869         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
14870         here...
14871         * modules/fwritable (configure.ac): ... to here.
14872
14873 2011-05-07  Bruno Haible  <bruno@clisp.org>
14874
14875         futimens: Move AC_LIBOBJ invocations to module description.
14876         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
14877         here...
14878         * modules/futimens (configure.ac): ... to here.
14879
14880 2011-05-07  Bruno Haible  <bruno@clisp.org>
14881
14882         ftruncate: Move AC_LIBOBJ invocations to module description.
14883         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
14884         gl_PREREQ_FTRUNCATE invocations from here...
14885         * modules/ftruncate (configure.ac): ... to here.
14886
14887 2011-05-07  Bruno Haible  <bruno@clisp.org>
14888
14889         fsync: Move AC_LIBOBJ invocations to module description.
14890         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
14891         invocations from here...
14892         * modules/fsync (configure.ac): ... to here.
14893
14894 2011-05-07  Bruno Haible  <bruno@clisp.org>
14895
14896         fsusage: Move AC_LIBOBJ invocations to module description.
14897         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
14898         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
14899         * modules/fsusage (configure.ac): ... to here.
14900
14901 2011-05-07  Bruno Haible  <bruno@clisp.org>
14902
14903         freopen: Move AC_LIBOBJ invocations to module description.
14904         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
14905         invocations from here...
14906         * modules/freopen (configure.ac): ... to here.
14907
14908 2011-05-07  Bruno Haible  <bruno@clisp.org>
14909
14910         free: Move AC_LIBOBJ invocations to module description.
14911         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
14912         invocations from here...
14913         * modules/free (configure.ac): ... to here.
14914
14915 2011-05-07  Bruno Haible  <bruno@clisp.org>
14916
14917         freadable: Move AC_LIBOBJ invocations to module description.
14918         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
14919         here...
14920         * modules/freadable (configure.ac): ... to here.
14921
14922 2011-05-07  Bruno Haible  <bruno@clisp.org>
14923
14924         fpurge: Move AC_LIBOBJ invocations to module description.
14925         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
14926         invocations from here...
14927         * modules/fpurge (configure.ac): ... to here.
14928
14929 2011-05-07  Bruno Haible  <bruno@clisp.org>
14930
14931         fpending: Move AC_LIBOBJ invocations to module description.
14932         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
14933         gl_FUNC_FPENDING.
14934         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
14935         invocations from here...
14936         * modules/fpending (configure.ac): ... to here.
14937
14938 2011-05-07  Bruno Haible  <bruno@clisp.org>
14939
14940         fopen: Move AC_LIBOBJ invocations to module description.
14941         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
14942         invocations from here...
14943         * modules/fopen (configure.ac): ... to here.
14944
14945 2011-05-07  Bruno Haible  <bruno@clisp.org>
14946
14947         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
14948         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
14949         gl_FUNC_FNMATCH_POSIX.
14950         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
14951         invocations from here...
14952         * modules/fnmatch (configure.ac): ... to here.
14953         * modules/fnmatch-gnu (configure.ac): ... and here.
14954
14955 2011-05-07  Bruno Haible  <bruno@clisp.org>
14956
14957         flock: Move AC_LIBOBJ invocations to module description.
14958         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
14959         invocations from here...
14960         * modules/flock (configure.ac): ... to here.
14961
14962 2011-05-07  Bruno Haible  <bruno@clisp.org>
14963
14964         fileblocks: Move AC_LIBOBJ invocations to module description.
14965         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
14966         gl_PREREQ_FILEBLOCKS invocations from here...
14967         * modules/fileblocks (configure.ac): ... to here.
14968
14969 2011-05-06  Bruno Haible  <bruno@clisp.org>
14970
14971         fflush: Move AC_LIBOBJ invocations to module description.
14972         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
14973         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
14974         invocations from here...
14975         * modules/fflush (configure.ac): ... to here.
14976
14977 2011-05-06  Bruno Haible  <bruno@clisp.org>
14978
14979         fdopendir: Move AC_LIBOBJ invocations to module description.
14980         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
14981         here...
14982         * modules/fdopendir (configure.ac): ... to here.
14983         (Depends-on): Improve conditions.
14984
14985 2011-05-06  Bruno Haible  <bruno@clisp.org>
14986
14987         _Exit: Move AC_LIBOBJ invocations to module description.
14988         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
14989         invocations from here...
14990         * modules/_Exit (configure.ac): ... to here.
14991
14992 2011-05-21  Bruno Haible  <bruno@clisp.org>
14993
14994         euidaccess: Respect rules for use of AC_LIBOBJ.
14995         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
14996         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
14997         from here...
14998         * modules/euidaccess (configure.ac): ... to here.
14999
15000 2011-05-06  Bruno Haible  <bruno@clisp.org>
15001
15002         error: Move AC_LIBOBJ invocations to module description.
15003         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
15004         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
15005         invocations from here...
15006         * modules/error (configure.ac): ... to here.
15007
15008 2011-05-06  Bruno Haible  <bruno@clisp.org>
15009
15010         duplocale: Move AC_LIBOBJ invocations to module description.
15011         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
15012         gl_PREREQ_DUPLOCALE invocations from here...
15013         * modules/duplocale (configure.ac): ... to here.
15014
15015 2011-05-05  Bruno Haible  <bruno@clisp.org>
15016
15017         dirfd: Move AC_LIBOBJ invocations to module description.
15018         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
15019         gl_FUNC_DIRFD.
15020         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
15021         here...
15022         * modules/dirfd (configure.ac): ... to here.
15023         (Depends-on): Fix condition.
15024
15025 2011-05-05  Bruno Haible  <bruno@clisp.org>
15026
15027         chown: Respect rules for use of AC_LIBOBJ.
15028         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
15029         * modules/chown (configure.ac): ... to here.
15030
15031 2011-05-05  Bruno Haible  <bruno@clisp.org>
15032
15033         chdir-long: Move AC_LIBOBJ invocations to module description.
15034         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
15035         gl_PREREQ_CHDIR_LONG invocations from here...
15036         * modules/chdir-long (configure.ac): ... to here.
15037
15038 2011-05-05  Bruno Haible  <bruno@clisp.org>
15039
15040         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
15041         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
15042         from here...
15043         * modules/canonicalize-lgpl (configure.ac): ... to here.
15044
15045 2011-05-05  Bruno Haible  <bruno@clisp.org>
15046
15047         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
15048         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
15049         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
15050         REPLACE_CALLOC.
15051         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
15052         * modules/calloc-gnu (configure.ac): Likewise.
15053
15054 2011-05-05  Bruno Haible  <bruno@clisp.org>
15055
15056         btowc: Move AC_LIBOBJ invocations to module description.
15057         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
15058         invocations from here...
15059         * modules/btowc (configure.ac): ... to here.
15060
15061 2011-05-21  Bruno Haible  <bruno@clisp.org>
15062
15063         atexit: Move AC_LIBOBJ invocations to module description.
15064         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
15065         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
15066         here...
15067         * modules/atexit (configure.ac): ... to here.
15068
15069 2011-05-05  Bruno Haible  <bruno@clisp.org>
15070
15071         atoll: Move AC_LIBOBJ invocations to module description.
15072         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
15073         invocations from here...
15074         * modules/atoll (configure.ac): ... to here.
15075
15076 2011-05-05  Bruno Haible  <bruno@clisp.org>
15077
15078         argz: Move AC_LIBOBJ invocations to module description.
15079         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
15080         * modules/argz (configure.ac): ... to here.
15081
15082 2011-05-05  Bruno Haible  <bruno@clisp.org>
15083
15084         alphasort: Move AC_LIBOBJ invocations to module description.
15085         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
15086         gl_PREREQ_ALPHASORT invocations from here...
15087         * modules/alphasort (configure.ac): ... to here.
15088
15089 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
15090
15091         verify: new macro verify_expr; verify_true deprecated
15092         * NEWS: Mention this.
15093         * doc/verify.texi (Compile-time Assertions): Document this.
15094         * lib/verify.h (verify_true): Deprecate.
15095         (verify_expr): New macro.
15096         * tests/test-verify.c (function): Test verify_expr.
15097
15098 2011-06-14  Jim Meyering  <meyering@redhat.com>
15099
15100         init.sh: give more portable redirection-related advice in a comment
15101         * tests/init.sh (stderr_fileno_): Update the advice in comments.
15102         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
15103         for lots of discussion.  Stefano Lattarini suggested the solution
15104         of putting "9>&2" after the command.  Reported by Bruno Haible.
15105
15106 2011-06-13  Bruno Haible  <bruno@clisp.org>
15107
15108         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
15109         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
15110         'none'.
15111
15112 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
15113
15114         ftoastr: use strtof only if HAVE_STRTOF
15115         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
15116         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
15117         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
15118         * modules/ftoastr (configure.ac): Check for strtof.
15119
15120 2011-06-13  Bruno Haible  <bruno@clisp.org>
15121
15122         gnulib-tool: Addendum to 2011-06-08 commit.
15123         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
15124         and --witness-c-macro have been given, augment AM_CPPFLAGS.
15125
15126 2011-06-13  Bruno Haible  <bruno@clisp.org>
15127
15128         fseeko: Provide a non-inline replacement of fseek().
15129         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
15130         * modules/fseeko (Depends-on): Add fseek.
15131         * modules/fseek (License): Change to LGPLv2+.
15132
15133 2011-06-13  Bruno Haible  <bruno@clisp.org>
15134
15135         ftello: Provide a non-inline replacement of ftell().
15136         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
15137         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
15138         not have ftello() (such as on mingw).
15139         * modules/ftello (Depends-on): Add ftell.
15140         * modules/ftell (License): Change to LGPLv2+.
15141
15142 2011-05-07  Bruno Haible  <bruno@clisp.org>
15143
15144         ftell: Move AC_LIBOBJ invocations to module description.
15145         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
15146         * modules/ftell (configure.ac): ... to here.
15147
15148 2011-05-07  Bruno Haible  <bruno@clisp.org>
15149
15150         ftello: Respect rules for use of AC_LIBOBJ.
15151         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
15152         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
15153         here...
15154         * modules/ftello (configure.ac): ... to here.
15155
15156 2011-05-07  Bruno Haible  <bruno@clisp.org>
15157
15158         fseeko: Simplify.
15159         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
15160         (gl_FUNC_FSEEKO): Inline it here.
15161
15162 2011-05-07  Bruno Haible  <bruno@clisp.org>
15163
15164         fseek: Move AC_LIBOBJ invocations to module description.
15165         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
15166         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
15167         * modules/fseek (configure.ac): ... to here.
15168
15169 2011-05-07  Bruno Haible  <bruno@clisp.org>
15170
15171         fseek: Respect rules for use of AC_LIBOBJ.
15172         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
15173         here...
15174         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
15175
15176 2011-05-07  Bruno Haible  <bruno@clisp.org>
15177
15178         fseeko: Respect rules for use of AC_LIBOBJ.
15179         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
15180         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
15181         here...
15182         * modules/fseeko (configure.ac): ... to here.
15183
15184 2011-06-13  Bruno Haible  <bruno@clisp.org>
15185
15186         gnulib-tool: Allow comments in the 'Depends-on' section.
15187         * doc/gnulib.texi (Module description): Mention comment syntax in the
15188         Depends-on section.
15189         * gnulib-tool (func_get_dependencies): Filter out comment lines.
15190
15191 2011-06-13  Bruno Haible  <bruno@clisp.org>
15192
15193         file-set.h: guard __attibute__ use, now that it's not always defined
15194         * lib/file-set.h (record_file): Use __attribute__ only with compiler
15195         versions that support it.  This fixes a coreutils build failure with
15196         the vendor cc on HP-UX 11.31.
15197
15198 2011-06-12  Bruno Haible  <bruno@clisp.org>
15199
15200         acl: Add support for HP-UX >= 11.11 JFS ACLs.
15201         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
15202         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
15203         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
15204         (acl, aclsort): New declarations.
15205         (aclv_nontrivial): New declaration.
15206         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
15207         (file_has_acl): Read also the second kind of HP-UX ACLs.
15208         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
15209         kind of HP-UX ACLs if the first kind fails.
15210         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
15211         second kind of HP-UX ACLs.
15212         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
15213         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
15214         agree.
15215         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
15216         hpuxjfs.
15217         Handle hpuxjfs.
15218         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
15219         hpuxjfs.
15220         Handle hpuxjfs.
15221         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
15222         (func_test_same_acls): Use both lsacl and getacl.
15223         Handle hpuxjfs.
15224         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
15225         (func_test_same_acls): Use both lsacl and getacl.
15226         Handle hpuxjfs.
15227
15228 2011-06-12  Bruno Haible  <bruno@clisp.org>
15229
15230         acl: Complete the 2010-08-10 fix.
15231         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
15232         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
15233         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
15234         explicitly.
15235         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
15236         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
15237
15238 2011-06-12  Bruno Haible  <bruno@clisp.org>
15239
15240         spawn-pipe tests: Comments.
15241         * tests/test-spawn-pipe-child.c (main): Update comment.
15242         Reported by James Youngman <jay@gnu.org>.
15243
15244 2011-06-11  James Youngman  <jay@gnu.org>
15245
15246         New module 'stat-size'.
15247         * modules/stat-size: New module.  Provides macros for accessing
15248         file size information in instances of struct stat.  Depends on the
15249         fileblocks module because it calls st_blocks.
15250         * lib/stat-size.h: New file, adapted from coreutils' system.h.
15251         * doc/gnulib.texi: Include stat-size.texi.
15252         * doc/stat-size.texi: Documentation for this module.
15253         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
15254         * m4/fileblocks.m4: Mention that stat-size depends on the call to
15255         AC_STRUCT_ST_BLOCKS.
15256
15257 2011-06-09  Bruno Haible  <bruno@clisp.org>
15258
15259         thread: Support pthreads-win32.
15260         * lib/glthread/thread.h (gl_thread_self): Define differently on
15261         pthreads-win32.
15262         (gl_null_thread): New declaration.
15263         (gl_thread_self_pointer): New macro.
15264         * lib/glthread/thread.c (gl_null_thread): New constant.
15265         * tests/test-lock.c: Use gl_thread_self_pointer instead of
15266         gl_thread_self.
15267         * tests/test-tls.c: Likewise.
15268         Suggested by Paul Eggert. Reported by Eric Blake.
15269
15270 2011-06-09  Bruno Haible  <bruno@clisp.org>
15271
15272         thread: Fix confusion between NULL and 0.
15273         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
15274         Reported by Paul Eggert.
15275
15276 2011-06-09  Bruno Haible  <bruno@clisp.org>
15277
15278         spawn-pipe tests: Avoid test failure on HP-UX 11.
15279         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
15280         is closed.
15281
15282 2011-06-09  Bruno Haible  <bruno@clisp.org>
15283
15284         acl tests: Fix compilation error on HP-UX 11.
15285         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
15286
15287 2011-06-09  Bruno Haible  <bruno@clisp.org>
15288
15289         rmdir: Avoid test failure on HP-UX 10.20.
15290         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
15291         EEXIST.
15292
15293 2011-06-08  Eric Blake  <eblake@redhat.com>
15294
15295         perror: fix test on mingw
15296         * modules/perror-tests (Depends-on): Add dup2.
15297
15298         strerror_r-posix: fix on MacOS
15299         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
15300         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
15301         logic bug.
15302         * lib/strerror_r.c (strerror_r): Fix the bug.
15303         * lib/strerror.c (strerror): Likewise.
15304         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
15305         problem.
15306         * doc/posix-functions/strerror.texi (strerror): Likewise.
15307         * doc/posix-functions/perror.texi (perror): Likewise.
15308         * tests/test-strerror.c (main): Enhance test.
15309         * tests/test-strerror_r.c (main): Likewise.
15310
15311 2011-06-08  Bruno Haible  <bruno@clisp.org>
15312
15313         gnulib-tool: Better isolation between different gnulib-tool invocations.
15314         * gnulib-tool: New option --witness-c-macro.
15315         (witness_c_macro): New variable.
15316         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
15317         AM_CPPFLAGS define it as a C macro.
15318         (func_emit_tests_Makefile_am): Likewise.
15319         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
15320         read it from there.
15321         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
15322         m4_define, not AC_DEFUN.
15323         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
15324         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
15325         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
15326         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
15327         s|...|...|, to substitute the values of the GNULIB_* module indicator
15328         variables.
15329         * modules/dirent (Makefile.am): Likewise.
15330         * modules/fcntl-h (Makefile.am): Likewise.
15331         * modules/iconv-h (Makefile.am): Likewise.
15332         * modules/langinfo (Makefile.am): Likewise.
15333         * modules/locale (Makefile.am): Likewise.
15334         * modules/math (Makefile.am): Likewise.
15335         * modules/netdb (Makefile.am): Likewise.
15336         * modules/poll-h (Makefile.am): Likewise.
15337         * modules/pty (Makefile.am): Likewise.
15338         * modules/search (Makefile.am): Likewise.
15339         * modules/signal (Makefile.am): Likewise.
15340         * modules/spawn (Makefile.am): Likewise.
15341         * modules/stdio (Makefile.am): Likewise.
15342         * modules/stdlib (Makefile.am): Likewise.
15343         * modules/string (Makefile.am): Likewise.
15344         * modules/sys_ioctl (Makefile.am): Likewise.
15345         * modules/sys_select (Makefile.am): Likewise.
15346         * modules/sys_socket (Makefile.am): Likewise.
15347         * modules/sys_stat (Makefile.am): Likewise.
15348         * modules/sys_times (Makefile.am): Likewise.
15349         * modules/sys_utsname (Makefile.am): Likewise.
15350         * modules/sys_wait (Makefile.am): Likewise.
15351         * modules/termios (Makefile.am): Likewise.
15352         * modules/time (Makefile.am): Likewise.
15353         * modules/unistd (Makefile.am): Likewise.
15354         * modules/wchar (Makefile.am): Likewise.
15355
15356 2011-06-08  Eric Blake  <eblake@redhat.com>
15357
15358         strerror: simplify replacement
15359         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
15360         * modules/strerror (configure.ac): No prereqs needed here...
15361         * modules/strerror-override (configure.ac): ...but this needs it.
15362         (Files): Add file for needed prereq macro.
15363
15364 2011-06-08  Bruno Haible  <bruno@clisp.org>
15365
15366         strerror_r-posix: Tweaks.
15367         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
15368         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
15369         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
15370         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
15371         (gl_FUNC_STRERROR_R): ... to here.
15372         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
15373
15374 2011-06-07  Eric Blake  <eblake@redhat.com>
15375
15376         perror: document fixed bugs
15377         * doc/posix-functions/perror.texi (perror): Document recent
15378         patches.
15379
15380 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
15381
15382         stat-time: get_stat_birthtime failure is better-defined
15383         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
15384         return a timestamp whose tv_sec and tv_nsec values are both -1.
15385         Previously, the spec said only that the tv_nsec value was negative.
15386         This upward-compatible change simplifies GNU tar a bit.
15387
15388 2011-06-07  Eric Blake  <eblake@redhat.com>
15389
15390         strerror_r-posix: work around cygwin 1.7.9
15391         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
15392         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
15393         bug without replacing strerror_r.
15394         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
15395         strerror_r is buggy, but without requiring strerror_r compilation.
15396         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
15397
15398         test-perror: relax test to ignore cygwin bug
15399         * tests/test-perror2.c (main): Relax test on requiring detection
15400         of stream errors, and use unbuffered stream.
15401         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
15402         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
15403         * doc/posix-functions/fputc.texi (fputc): Likewise.
15404         * doc/posix-functions/fputs.texi (fputs): Likewise.
15405         * doc/posix-functions/fputws.texi (fputws): Likewise.
15406         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
15407         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
15408         * doc/posix-functions/getopt.texi (getopt): Likewise.
15409         * doc/posix-functions/perror.texi (perror): Likewise.
15410         * doc/posix-functions/printf.texi (printf): Likewise.
15411         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
15412         * doc/posix-functions/psignal.texi (psignal): Likewise.
15413         * doc/posix-functions/putc.texi (putc): Likewise.
15414         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
15415         Likewise.
15416         * doc/posix-functions/putchar.texi (putchar): Likewise.
15417         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
15418         Likewise.
15419         * doc/posix-functions/puts.texi (puts): Likewise.
15420         * doc/posix-functions/putwc.texi (putwc): Likewise.
15421         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
15422         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
15423         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
15424         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
15425         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
15426         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
15427         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
15428         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
15429
15430 2011-05-22  Bruno Haible  <bruno@clisp.org>
15431
15432         strerror: Move AC_LIBOBJ invocations to module description.
15433         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
15434         gl_PREREQ_STRERROR invocations from here...
15435         * modules/strerror (configure.ac): ... to here.
15436
15437 2011-05-21  Bruno Haible  <bruno@clisp.org>
15438
15439         perror: Use common idiom.
15440         * modules/perror (configure.ac): Reorder statements.
15441
15442 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
15443
15444         tests: fix usage message in 'mktempd_'
15445         * tests/init.sh (mktempd_): In the usage message, use literal
15446         'mktempd_', not '$ME' (which is even undefined), as the name of
15447         the subroutine.
15448
15449 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
15450
15451         tests init: new function 'fatal_', for hard errors
15452         Before this patch, the only way offered by tests/init.sh to
15453         properly signal a hard error was the `framework_failure_'
15454         function.  But the error message issued by that function,
15455         as its name would suggest, refers to a set-up failure in the
15456         testsuite, while hard errors can obviously also be due to
15457         other reasons.  The best way to fix this inconsistency is to
15458         introduce a new function with a more general error message.
15459         * tests/init.sh (fatal_): New function.
15460
15461 2011-06-06  Eric Blake  <eblake@redhat.com>
15462
15463         canonicalize-lgpl: use common idiom
15464         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
15465         over newer POSIX -Rf.
15466         Reported by Bruno Haible.
15467
15468         canonicalize-lgpl: work around AIX realpath bug
15469         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
15470         * doc/posix-functions/realpath.texi (realpath): Document it.
15471         Reported by Bruno Haible.
15472
15473         strerror: work around FreeBSD bug
15474         * lib/strerror.c (strerror): Special case 0.
15475         Reported by Bruno Haible.
15476
15477         strerror-override: avoid bloating errno module
15478         * modules/errno (Files, configure.ac): Move replacement strings...
15479         * modules/strerror-override: ...to new module.
15480         * modules/strerror (Depends-on): Add strerror-override.
15481         * modules/strerror_r-posix (Depends-on): Likewise.
15482         * MODULES.html.sh: Document new module.
15483         Reported by Bruno Haible.
15484
15485 2011-06-06  Bruno Haible  <bruno@clisp.org>
15486
15487         spawn-pipe tests: Rename program.
15488         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
15489         * tests/test-spawn-pipe-child.c: Update comment.
15490         * tests/test-spawn-pipe.sh: Update.
15491         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
15492
15493         spawn-pipe tests: Link the child program only against libc.
15494         * tests/test-spawn-pipe-child.c: New file, extracted from
15495         tests/test-spawn-pipe.c.
15496         (main): Expect only one argument.
15497         (is_open): New function, copied from tests/test-pipe.c.
15498         * tests/test-spawn-pipe.c: Don't include <errno.h>.
15499         (child_main): Remove function.
15500         (test_pipe): Pass only one argument to the child program.
15501         (main): Remove child process code. Expect the child program's name as
15502         first argument.
15503         * tests/test-spawn-pipe.sh: Pass the child program's name as first
15504         argument.
15505         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
15506         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
15507         test-spawn-pipe-child against no libraries.
15508
15509 2011-06-06  Bruno Haible  <bruno@clisp.org>
15510
15511         careadlinkat: Avoid mismatch between ssize_t and int.
15512         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
15513         * lib/careadlinkat.c (careadlinkatcwd): Define always.
15514
15515 2011-06-06  Jim Meyering  <meyering@redhat.com>
15516
15517         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
15518         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
15519         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
15520
15521 2011-06-05  Bruno Haible  <bruno@clisp.org>
15522
15523         ansi-c++-opt: Interoperability with libtool.
15524         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
15525         set the variable to "no", not to ":".
15526         * NEWS: Mention the change.
15527
15528 2011-06-05  Bruno Haible  <bruno@clisp.org>
15529
15530         acl: Fix test failure on AIX 7.
15531         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
15532         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
15533
15534 2011-06-05  Bruno Haible  <bruno@clisp.org>
15535
15536         pipe-filter-ii: Fix test failure on AIX and IRIX.
15537         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
15538         with EAGAIN, retry with a smaller buffer size.
15539
15540 2011-06-05  Bruno Haible  <bruno@clisp.org>
15541
15542         localename: Fix link dependencies.
15543         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
15544         * modules/localename-tests (Makefile.am): Link test-localename with
15545         $(LIBTHREAD).
15546
15547 2011-06-05  Bruno Haible  <bruno@clisp.org>
15548
15549         error: Avoid gcc warning.
15550         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
15551
15552 2011-06-05  Bruno Haible  <bruno@clisp.org>
15553
15554         unsetenv: Avoid gcc warning.
15555         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
15556
15557 2011-06-05  Bruno Haible  <bruno@clisp.org>
15558
15559         setenv: Avoid gcc warning.
15560         * lib/setenv.c (setenv): Provide declaration if system lacks it.
15561
15562 2011-06-05  Bruno Haible  <bruno@clisp.org>
15563
15564         sys_select: Ensure memset is declared also on AIX 7.
15565         * lib/sys_select.in.h: Include <string.h> also on AIX.
15566         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
15567         self-contained also on AIX 7.1.
15568
15569 2011-06-04  Jim Meyering  <meyering@redhat.com>
15570
15571         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
15572         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
15573         function name, "error".
15574         (_gl_translatable_diag_func_re): New configurable variable.
15575
15576 2011-06-04  Bruno Haible  <bruno@clisp.org>
15577
15578         getopt: Avoid gcc warning.
15579         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
15580
15581 2011-06-04  Bruno Haible  <bruno@clisp.org>
15582
15583         strerror_r: Fix comments.
15584         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
15585         commit.
15586
15587 2011-06-04  Bruno Haible  <bruno@clisp.org>
15588
15589         perror: Fix compilation error.
15590         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
15591         Undefine fprintf, not sprintf.
15592         * modules/perror (Depends-on): Remove intprops, verify.
15593
15594 2011-06-04  Bruno Haible  <bruno@clisp.org>
15595
15596         setlocale: Enable replacement on Cygwin 1.5.
15597         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
15598         Cygwin 1.5.x.
15599         * doc/posix-functions/setlocale.texi: Mention that the problem with the
15600         LC_CTYPE category also exists on Cygwin 1.5.x.
15601
15602 2011-06-04  Bruno Haible  <bruno@clisp.org>
15603
15604         strerror-override: Don't disable symbol renamings.
15605         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
15606         * lib/strerror-override.c: Include config.h.
15607         (strerror_override): Don't undefine.
15608
15609 2011-06-03  Bruno Haible  <bruno@clisp.org>
15610
15611         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
15612         * lib/localename.h: Update copyright header.
15613         * lib/localename.c: Likewise.
15614         * lib/relocatable.h: Likewise.
15615         * lib/relocatable.c: Likewise.
15616
15617 2011-06-02  Bruno Haible  <bruno@clisp.org>
15618
15619         doc: Fix a module name.
15620         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
15621
15622 2011-06-02  Bruno Haible  <bruno@clisp.org>
15623
15624         pipe2: Remove dependency on 'nonblocking' module.
15625         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
15626         O_NONBLOCK is defined by gnulib.
15627         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
15628         is zero.
15629         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
15630         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
15631         defined by gnulib.
15632         (get_nonblocking_flag): New function.
15633         (main): Test O_NONBLOCK flag only if it is nonzero.
15634         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
15635
15636 2011-06-03  Jim Meyering  <meyering@redhat.com>
15637
15638         maint: three new prohibit-header-without-use rules
15639         Prohibit use of cloexec.h, posixver.h, same.h without use.
15640         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
15641         (sc_prohibit_posixver_without_use): Likewise.
15642         (sc_prohibit_same_without_use): Likewise.
15643
15644 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
15645
15646         allocator: 'die' routine is now given requested size
15647         * lib/allocator.h (struct allocator.die): New size arg.
15648         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
15649         If the actual problem is an ssize_t limitation, not a size_t or
15650         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
15651
15652 2011-06-01  Eric Blake  <eblake@redhat.com>
15653
15654         strerror: drop strerror_r dependency
15655         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
15656         * lib/strerror-override.c (strerror_override): ...to new file.
15657         * lib/strerror-override.h: Add prototype.
15658         * lib/strerror-impl.h: Delete.
15659         * lib/strerror.c (strerror): New implementation.
15660         * modules/errno (Files): Add new files.
15661         (configure.ac): Compile new file as appropriate.
15662         * modules/strerror (Files): Drop unused file.
15663         (Depends-on): Drop strerror_r-posix.
15664         * MODULES.html.sh: Document strerror_r-posix.
15665         Requested by Sam Steingold.
15666
15667         perror: call strerror_r directly
15668         * modules/perror (Files): Drop strerror-impl.h.
15669         * lib/perror.c (perror): Use our own stack buffer, rather than
15670         calling a wrapper that uses static storage.
15671         * doc/posix-functions/perror.texi (perror): Document a limitation
15672         of our replacement.
15673
15674         strerror_r: fix includes for FreeBSD
15675         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
15676         since we use abort on some platforms.
15677         Reported by Matthias Bolte.
15678
15679 2011-05-31  Bruno Haible  <bruno@clisp.org>
15680
15681         Fix link errors in tests: openat-die uses gettext-h.
15682         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
15683         against $(LIBINTL).
15684         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
15685         against $(LIBINTL).
15686         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
15687         $(LIBINTL).
15688         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
15689         against $(LIBINTL).
15690         * modules/linkat-tests (Makefile.am): Link test-linkat against
15691         $(LIBINTL).
15692         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
15693         $(LIBINTL).
15694         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
15695         against $(LIBINTL).
15696         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
15697         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
15698         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
15699         $(LIBINTL).
15700         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
15701         $(LIBINTL).
15702         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
15703         $(LIBINTL).
15704         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15705
15706 2011-05-31  Bruno Haible  <bruno@clisp.org>
15707
15708         Fix link errors in tests: wait-process uses gettext-h.
15709         * modules/nonblocking-pipe-tests (Makefile.am): Set
15710         test_nonblocking_pipe_main_LDADD.
15711         * modules/nonblocking-socket-tests (Makefile.am): Link
15712         test-nonblocking-socket-main against $(LIBINTL).
15713         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15714
15715 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
15716
15717         assert-h: work around 'verify' incompatibility
15718         * lib/verify.h: Use @...@ directives, not ifdef.
15719         * modules/assert-h (assert.h): Implement the directives.
15720         (assert.h): Substitute the symbol-prefix more consistently.
15721
15722 2011-05-29  Jim Meyering  <meyering@redhat.com>
15723
15724         trim: remove three superfluous assignments
15725         * lib/trim.c (trim2): Remove three superfluous assignments
15726         and correct brace positioning.
15727
15728 2011-05-29  Bruno Haible  <bruno@clisp.org>
15729
15730         wctype-h: Avoid namespace pollution on Solaris 2.6.
15731         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
15732         identifiers.
15733         * doc/posix-headers/wctype.texi: Mention the problem.
15734         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15735
15736 2011-05-28  Jim Meyering  <meyering@redhat.com>
15737
15738         parse-datetime.y: accommodate -Wstrict-overflow
15739         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
15740         placate -Wstrict-overflow.
15741
15742         trim: avoid a warning from -O2 -Wstrict-overflow
15743         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
15744
15745 2011-05-29  Bruno Haible  <bruno@clisp.org>
15746
15747         gnulib-tool: Fix bug in yesterday's commit.
15748         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
15749         twice.
15750
15751 2011-05-29  Bruno Haible  <bruno@clisp.org>
15752
15753         Allow multiple gnulib generated include files to be combined.
15754         * gnulib-tool (func_compute_include_guard_prefix): New function.
15755         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
15756         ${gl_include_guard_prefix} references.
15757         (func_import, func_create_testdir): Invoke
15758         func_compute_include_guard_prefix.
15759         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
15760         * lib/ctype.in.h: Likewise.
15761         * lib/dirent.in.h: Likewise.
15762         * lib/errno.in.h: Likewise.
15763         * lib/fcntl.in.h: Likewise.
15764         * lib/float.in.h: Likewise.
15765         * lib/getopt.in.h: Likewise.
15766         * lib/iconv.in.h: Likewise.
15767         * lib/langinfo.in.h: Likewise.
15768         * lib/locale.in.h: Likewise.
15769         * lib/math.in.h: Likewise.
15770         * lib/netdb.in.h: Likewise.
15771         * lib/netinet_in.in.h: Likewise.
15772         * lib/poll.in.h: Likewise.
15773         * lib/pthread.in.h: Likewise.
15774         * lib/pty.in.h: Likewise.
15775         * lib/sched.in.h: Likewise.
15776         * lib/se-selinux.in.h: Likewise.
15777         * lib/search.in.h: Likewise.
15778         * lib/signal.in.h: Likewise.
15779         * lib/spawn.in.h: Likewise.
15780         * lib/stdarg.in.h: Likewise.
15781         * lib/stddef.in.h: Likewise.
15782         * lib/stdint.in.h: Likewise.
15783         * lib/stdio.in.h: Likewise.
15784         * lib/stdlib.in.h: Likewise.
15785         * lib/string.in.h: Likewise.
15786         * lib/strings.in.h: Likewise.
15787         * lib/sys_file.in.h: Likewise.
15788         * lib/sys_ioctl.in.h: Likewise.
15789         * lib/sys_select.in.h: Likewise.
15790         * lib/sys_socket.in.h: Likewise.
15791         * lib/sys_stat.in.h: Likewise.
15792         * lib/sys_time.in.h: Likewise.
15793         * lib/sys_times.in.h: Likewise.
15794         * lib/sys_uio.in.h: Likewise.
15795         * lib/sys_utsname.in.h: Likewise.
15796         * lib/sys_wait.in.h: Likewise.
15797         * lib/sysexits.in.h: Likewise.
15798         * lib/termios.in.h: Likewise.
15799         * lib/time.in.h: Likewise.
15800         * lib/unistd.in.h: Likewise.
15801         * lib/wchar.in.h: Likewise.
15802         * lib/wctype.in.h: Likewise.
15803         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
15804         * modules/ctype (Makefile.am): Likewise.
15805         * modules/dirent (Makefile.am): Likewise.
15806         * modules/errno (Makefile.am): Likewise.
15807         * modules/fcntl-h (Makefile.am): Likewise.
15808         * modules/float (Makefile.am): Likewise.
15809         * modules/getopt-posix (Makefile.am): Likewise.
15810         * modules/iconv-h (Makefile.am): Likewise.
15811         * modules/langinfo (Makefile.am): Likewise.
15812         * modules/locale (Makefile.am): Likewise.
15813         * modules/math (Makefile.am): Likewise.
15814         * modules/netdb (Makefile.am): Likewise.
15815         * modules/netinet_in (Makefile.am): Likewise.
15816         * modules/poll-h (Makefile.am): Likewise.
15817         * modules/pthread (Makefile.am): Likewise.
15818         * modules/pty (Makefile.am): Likewise.
15819         * modules/sched (Makefile.am): Likewise.
15820         * modules/search (Makefile.am): Likewise.
15821         * modules/selinux-h (Makefile.am): Likewise.
15822         * modules/signal (Makefile.am): Likewise.
15823         * modules/spawn (Makefile.am): Likewise.
15824         * modules/stdarg (Makefile.am): Likewise.
15825         * modules/stddef (Makefile.am): Likewise.
15826         * modules/stdint (Makefile.am): Likewise.
15827         * modules/stdio (Makefile.am): Likewise.
15828         * modules/stdlib (Makefile.am): Likewise.
15829         * modules/string (Makefile.am): Likewise.
15830         * modules/strings (Makefile.am): Likewise.
15831         * modules/sys_file (Makefile.am): Likewise.
15832         * modules/sys_ioctl (Makefile.am): Likewise.
15833         * modules/sys_select (Makefile.am): Likewise.
15834         * modules/sys_socket (Makefile.am): Likewise.
15835         * modules/sys_stat (Makefile.am): Likewise.
15836         * modules/sys_time (Makefile.am): Likewise.
15837         * modules/sys_times (Makefile.am): Likewise.
15838         * modules/sys_uio (Makefile.am): Likewise.
15839         * modules/sys_utsname (Makefile.am): Likewise.
15840         * modules/sys_wait (Makefile.am): Likewise.
15841         * modules/sysexits (Makefile.am): Likewise.
15842         * modules/termios (Makefile.am): Likewise.
15843         * modules/time (Makefile.am): Likewise.
15844         * modules/unistd (Makefile.am): Likewise.
15845         * modules/wchar (Makefile.am): Likewise.
15846         * modules/wctype-h (Makefile.am): Likewise.
15847         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
15848
15849 2011-05-29  Bruno Haible  <bruno@clisp.org>
15850
15851         assert-h: Allow multiple gnulib generated replacements to coexist.
15852         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
15853
15854 2011-05-29  Bruno Haible  <bruno@clisp.org>
15855
15856         argp: Allow coexistence with strerror_r-posix module.
15857         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
15858         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
15859         by gnulib's <string.h> replacement), assume it has the POSIX signature,
15860         not the glibc signature.
15861
15862 2011-05-28  Bruno Haible  <bruno@clisp.org>
15863
15864         gnulib-tool: Alternative structure of testdirs, similar to --import.
15865         * gnulib-tool: New option --single-configure.
15866         (func_usage): Document it.
15867         (single_configure): New variable.
15868         (func_modules_transitive_closure_separately,
15869         func_modules_transitive_closure_separately,
15870         func_determine_use_libtests, func_modules_add_dummy_separately,
15871         func_modules_to_filelist_separately): New functions, extracted from
15872         func_import.
15873         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
15874         (func_import): Use the new functions.
15875         (func_create_testdir): Set final_modules. Handle $single_configure =
15876         true case.
15877
15878 2011-05-28  Bruno Haible  <bruno@clisp.org>
15879
15880         getloadavg: Remove an unreliable safety check.
15881         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
15882         getloadavg.c is in place.
15883         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
15884         Reported by Sam Steingold <sds@gnu.org>.
15885
15886 2011-05-28  Bruno Haible  <bruno@clisp.org>
15887
15888         doc: Cleanup yet another file produced by texinfo.tex.
15889         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
15890
15891 2011-05-28  Bruno Haible  <bruno@clisp.org>
15892
15893         Finish the conditional dependencies mechanism.
15894         * gnulib-tool: New option --no-conditional-dependencies.
15895         (func_usage): Document it. Don't mark --conditional-dependencies as
15896         experimental.
15897         (cond_dependencies): The possible values can now be true, false, empty.
15898         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
15899         (func_import): Store setting in gnulib-cache.m4 and read it from there.
15900         * doc/gnulib-tool.texi (Conditional dependencies): New section.
15901
15902 2011-05-28  Bruno Haible  <bruno@clisp.org>
15903
15904         doc: Use a recent texinfo.tex.
15905         * doc/Makefile (tex_opts): New variable.
15906         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
15907
15908 2011-05-28  Jim Meyering  <meyering@redhat.com>
15909
15910         intprops.h: adjust comment to match code change
15911         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
15912         only once, it *may* have side effects.  Also fix an unrelated typo.
15913         (_GL_INT_SIGNED): Likewise.
15914
15915 2011-05-26  Simon Josefsson  <simon@josefsson.org>
15916
15917         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
15918
15919 2011-05-26  Bruno Haible  <bruno@clisp.org>
15920
15921         mbsrchr: Avoid collision with system function on Interix.
15922         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
15923         Reported by Markus Duft <mduft@gentoo.org>.
15924
15925 2011-05-15  James Youngman  <jay@gnu.org>
15926
15927         getopt: for ambiguous options, enumerate the possibilities.
15928         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
15929         the ambiguous options when an ambiguous prefix is given. This was
15930         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
15931         glibc change was
15932         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
15933
15934 2011-05-25  Eric Blake  <eblake@redhat.com>
15935
15936         getcwd: work around mingw bug
15937         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
15938         * doc/posix-functions/getcwd.texi (getcwd): Document it.
15939         Reported by Matthias Bolte.
15940
15941 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
15942
15943         test-intprops: disable -Wtype-limits diagnostics
15944         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
15945         diagnostics.  Otherwise, the integer overflow macros generate many
15946         diagnostics.  Reported by Jim Meyering in
15947         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
15948
15949         intprops: shorten, to pacify gcc -Woverlength-strings
15950         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
15951         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
15952         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
15953         likely to run afoul of C compiler limits for string constant lengths.
15954         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
15955
15956 2011-05-24  Eric Blake  <eblake@redhat.com>
15957
15958         docs: document recently fixed glibc printf bug
15959         * doc/posix-functions/fprintf.texi (fprintf): Document it.
15960         * doc/posix-functions/printf.texi (printf): Likewise.
15961         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
15962         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
15963
15964         closein-tests: convert to init.sh
15965         * modules/closein-tests (Files): Add init.sh
15966         * tests/test-closein.sh Use it.
15967
15968         yesno-tests: convert to init.sh
15969         * modules/yesno-tests (Files): Add init.sh.
15970         * tests/test-yesno.sh: Use it.
15971
15972         atexit-tests: ensure reliable exit status
15973         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
15974         Reported by Bruno Haible.
15975
15976 2011-05-24  Bruno Haible  <bruno@clisp.org>
15977
15978         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
15979         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
15980         gl_PREREQ_STRERROR_R invocations from here...
15981         * modules/strerror_r-posix (configure.ac): ... to here.
15982
15983 2011-05-24  Eric Blake  <eblake@redhat.com>
15984
15985         strerror_r: fix missing header
15986         * lib/strerror_r.c: Avoid compiler warning about snprintf.
15987
15988         strerror_r: fix AIX test failures
15989         * lib/strerror_r.c (strerror_r): Convert silent truncation to
15990         ERANGE failure.
15991
15992         strerror_r: fix Solaris test failures
15993         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
15994         failures.
15995         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
15996
15997         strerror_r: enforce POSIX recommendations
15998         * lib/strerror_r.c (safe_copy): New helper method.
15999         (strerror_r): Guarantee a non-empty string.
16000         * tests/test-strerror_r.c (main): Enhance tests to incorporate
16001         recent POSIX rulings and to match our strerror guarantees.
16002         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
16003
16004 2011-05-24  Jim Meyering  <meyering@redhat.com>
16005
16006         test-perror2.c: avoid warning about unused variable
16007         * tests/test-perror2.c (main): Remove declaration of unused "fp".
16008
16009 2011-05-24  Eric Blake  <eblake@redhat.com>
16010
16011         perror: avoid spurious test failure on HP-UX
16012         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
16013
16014         tests: fix logic bug in init.sh
16015         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
16016         shell.
16017
16018 2011-05-24  Jim Meyering  <meyering@redhat.com>
16019
16020         utimensat: do not reference an out-of-scope buffer
16021         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
16022         declared in an inner scope, yet "times" would be dereferenced outside
16023         the scope in which "ts" was valid.
16024         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
16025         of ts[2] "out/up", so that the use of aliased "times" (via
16026         "times = ts;") does not end up referencing an out-of-scope "ts"
16027
16028         opendir-safer.c: don't clobber errno; don't close negative FD
16029         * lib/opendir-safer.c (opendir_safer):
16030         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
16031         file descriptor, and more importantly, don't clobber the
16032         offending errno value with EINVAL.  Before, upon failure
16033         of dup_safer, we would pass the negative file descriptor to
16034         fdopendir, which would clobber errno.
16035
16036 2011-05-23  Bruno Haible  <bruno@clisp.org>
16037
16038         idcache: Fix module description.
16039         * modules/idcache (Include): Set to "idcache.h".
16040
16041 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
16042
16043         gnulib-tool: fix portability problem with MacOS sed
16044         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
16045         before the "}".  Problem reported by Leo in
16046         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
16047         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
16048         sed_extract_condition1, sed_extract_condition2.
16049
16050 2011-05-23  Bruno Haible  <bruno@clisp.org>
16051
16052         hash: Simplify autoconf macro.
16053         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
16054
16055 2011-05-23  Bruno Haible  <bruno@clisp.org>
16056
16057         getugroups: Fix module description.
16058         * modules/getugroups (Include): Set to "getugroups.h".
16059
16060 2011-05-23  Bruno Haible  <bruno@clisp.org>
16061
16062         linkat: Simplify autoconf macro.
16063         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
16064
16065 2011-05-23  Bruno Haible  <bruno@clisp.org>
16066             Eric Blake  <eblake@redhat.com>
16067
16068         linkat, renameat: Update dependencies.
16069         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
16070         * modules/linkat (Depends-on): Likewise. Remove also readlink,
16071         symlinkat.
16072
16073 2011-05-23  Jim Meyering  <meyering@redhat.com>
16074
16075         maint.mk: more tight_scope improvements
16076         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
16077         (_gl_TS_headers): Define only in if-0'd block.
16078         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
16079         sometimes we must *not* use it.  Adjust uses accordingly.
16080         (sc_tight_scope): Use much simpler grep-based test to determine
16081         whether we skip this rule.
16082
16083         maint.mk: generalize/improve the tight-scope rule
16084         * top/maint.mk: Emit a warning when the test is skipped.
16085         (_gl_TS_dir): Add $(srcdir)/ prefix.
16086         (_gl_TS_function_match): Simplify, rather than trying
16087         to enumerate common types.  Otherwise, it would fail to match an
16088         "extern unsigned char const *" declaration in idutils.
16089         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
16090         a way to support use of that type of macro.
16091         (_gl_TS_var_match): Simplify regexp.
16092         (_gl_TS_obj_files): New configurable variable.
16093         (_gl_TS_headers): Likewise.
16094
16095 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
16096
16097         verify: fix bug when gnulib <assert.h> is also included
16098         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
16099         is defined, not if _GL_STATIC_ASSERT_H is not defined.
16100         Perhaps there's a better way, but this fixes the immediate problem.
16101         Problem reported by Bruno Haible in
16102         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
16103
16104 2011-05-22  Bruno Haible  <bruno@clisp.org>
16105
16106         xgetcwd: Simplify autoconf macro.
16107         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
16108
16109 2011-05-22  Bruno Haible  <bruno@clisp.org>
16110
16111         New module 'mktime-internal'.
16112         * modules/mktime-internal: New file.
16113         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
16114         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
16115         mktime_internal as a C macro if libc has __mktime_internal.
16116         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
16117         conditions.
16118         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
16119
16120 2011-05-22  Bruno Haible  <bruno@clisp.org>
16121
16122         timegm: Correct mktime replacement statements.
16123         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
16124         defining mktime as a C macro. This completes a 2009-07-28 commit.
16125
16126 2011-05-22  Bruno Haible  <bruno@clisp.org>
16127
16128         timegm: Simplify autoconf macro.
16129         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
16130
16131 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
16132
16133         clock-time: change to LGPLv2+.
16134         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
16135         BSD-like but we have no mark for that; this is good enough for now.
16136
16137 2011-05-21  Bruno Haible  <bruno@clisp.org>
16138
16139         strerror_r: Fix comments.
16140         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
16141
16142 2011-05-21  Bruno Haible  <bruno@clisp.org>
16143
16144         relocatable-prog-wrapper: Fix possible link error.
16145         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
16146         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
16147         (gl_FUNC_SETENV): ... to here.
16148         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
16149         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
16150
16151 2011-05-21  Bruno Haible  <bruno@clisp.org>
16152
16153         relocatable-prog-wrapper: Assume strerror() exists.
16154         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
16155         m4/strerror.m4.
16156         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
16157         * lib/relocwrapper.c: Remove mention of strerror module.
16158         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
16159         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
16160         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
16161         C macro.
16162
16163 2011-05-21  Bruno Haible  <bruno@clisp.org>
16164
16165         select: Simplify replacement idiom.
16166         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
16167         Win32 platforms.
16168         * lib/sys_select.in.h (select): Simplify accordingly.
16169         * modules/select (Depends-on): Likewise.
16170
16171 2011-05-21  Bruno Haible  <bruno@clisp.org>
16172
16173         mkdir-p: Simplify autoconf macro.
16174         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
16175         gl_FUNC_LCHOWN.
16176
16177 2011-05-21  Eric Blake  <eblake@redhat.com>
16178
16179         strerror_r: avoid clobbering strerror on cygwin
16180         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
16181         fall back instead to sys_errlist.
16182         * modules/strerror (configure.ac): Add witness.
16183         * tests/test-strerror_r.c (main): Enhance test.
16184         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16185         * tests/test-perror2.c (main): Free memory before exit.
16186
16187 2011-05-21  Bruno Haible  <bruno@clisp.org>
16188
16189         mkdtemp: Use gnulib naming conventions.
16190         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
16191         * modules/mkdtemp (configure.ac): Update.
16192
16193 2011-05-20  Eric Blake  <eblake@redhat.com>
16194
16195         strerror_r: avoid corrupting errno on Solaris
16196         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
16197         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16198
16199         strerror_r: avoid compiler warning
16200         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
16201
16202         strerror_r: simplify AIX code
16203         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
16204
16205         test-perror: avoid spurious failure on FreeBSD
16206         * modules/perror-tests (Depends-on): Add strerror, now that
16207         strerror_r no longer pulls it in.
16208
16209 2011-05-20  Bruno Haible  <bruno@clisp.org>
16210
16211         strerror_r-posix: Remove unused dependencies.
16212         * modules/strerror_r-posix (Depends-on): Remove strerror.
16213         Reported by Eric Blake.
16214
16215 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
16216
16217         intprops: remove assumption about A|B representation
16218         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
16219         is a valid integer if both A and B are.  Although this is true for
16220         all known practical hosts, the C standard doesn't guarantee it,
16221         and the code need not assume it.  Also, this change may work around
16222         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
16223         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
16224
16225 2011-05-20  Eric Blake  <eblake@redhat.com>
16226
16227         perror: work around FreeBSD bug
16228         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
16229         is broken.  Move AC_LIBOBJ...
16230         * modules/perror (configure.ac): Here.
16231         * doc/posix-functions/perror.texi (perror): Document this.
16232         * tests/test-perror2.c (main): Enhance test.
16233
16234         test-perror: check for strerror interactions
16235         * tests/macros.h (STREQ): Add macro.
16236         * modules/perror-tests (Files): Add second test.
16237         * tests/test-perror2.c (main): New file.
16238         * doc/posix-functions/perror.texi (perror): Document glibc bug.
16239
16240         test-perror: rewrite to use init script
16241         * modules/perror-tests (Files): Add init.sh.
16242         * tests/test-perror.sh: Use temporary directory.
16243
16244 2011-05-20  Jim Meyering  <meyering@redhat.com>
16245
16246         maint: replace misused "a" with "an"
16247         * doc/intprops.texi: "a integer"
16248         * doc/regex.texi: "a explanation"
16249         * lib/alignof.h: "a object"
16250         * lib/argmatch.h: "a explanation"
16251         * lib/argp-help.c: "a option" and "a OPTION_DOC"
16252         * lib/stdint.in.h: "a integer"
16253         * lib/userspec.c: "a owner"
16254         * doc/gnulib.texi: Fix "a idea", and reword.
16255
16256 2011-05-19  Jim Meyering  <meyering@redhat.com>
16257
16258         maint: correct misuse of "a" and "an"
16259         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
16260         * lib/argp-help.c: "an docum...": s/an/a/
16261         * lib/argp-parse.c: "An vector": s/An/A/
16262         * lib/execute.c: "an native": s/an/a/
16263         * lib/spawn-pipe.c: Likewise.
16264         * lib/gc.h: "an Gc_rc": s/an/a/
16265         * lib/unigbrk.in.h: "an grapheme": s/an/a/
16266         * lib/fts.c: "an stat.st_dev": s/an/a/
16267
16268 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
16269
16270         intprops-tests: work around HP-UX 11.23 cc bug with constants
16271         * tests/test-intprops.c (VERIFY): New macro.
16272         (main): Use it, instead of verify, to work around the compiler bug; see
16273         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
16274
16275         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
16276         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
16277         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
16278         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
16279         (_GL_REMAINDER_OVERFLOW): Use it.
16280
16281         intprops-tests: revert unsigned part of previous change
16282         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
16283         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
16284         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
16285         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
16286
16287 2011-05-19  Bruno Haible  <bruno@clisp.org>
16288
16289         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
16290         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
16291         strerror_r() returned without filling the buffer.
16292         Reported by Eric Blake.
16293
16294 2011-05-19  Eric Blake  <eblake@redhat.com>
16295
16296         strerror_r: guarantee unchanged errno
16297         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
16298         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
16299         failure.
16300         * tests/test-strerror_r.c (main): Enhance test.
16301
16302 2011-05-19  Bruno Haible  <bruno@clisp.org>
16303
16304         strerror_r: Reorder #if blocks.
16305         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
16306         for consistency with the previous commit.
16307
16308 2011-05-19  Bruno Haible  <bruno@clisp.org>
16309
16310         perror: Avoid clobbering the strerror buffer when possible.
16311         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
16312         * lib/strerror.c: Include it.
16313         * modules/strerror (Files): Add lib/strerror-impl.h.
16314         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
16315         (my_strerror): New function, defined through lib/strerror-impl.h.
16316         (perror): Use it instead of strerror.
16317         * modules/perror (Files): Add lib/strerror-impl.h.
16318         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
16319
16320 2011-05-19  Eric Blake  <eblake@redhat.com>
16321
16322         strerror_r: fix on newer cygwin
16323         * lib/strerror_r.c (strerror_r): Cygwin now has
16324         __xpg_strerror_r, use it.
16325
16326 2011-05-19  Bruno Haible  <bruno@clisp.org>
16327
16328         strerror_r: Avoid clobbering the strerror buffer when possible.
16329         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
16330         (sys_nerr, sys_errlist): New declarations.
16331         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
16332         HP-UX, native Win32, IRIX, and 32-bit Solaris.
16333         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
16334
16335 2011-05-19  Bruno Haible  <bruno@clisp.org>
16336
16337         strerror_r: Fix test failure on mingw.
16338         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
16339         EXTEND_STRERROR_R.
16340         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
16341         macros from errno.in.h instead.
16342
16343 2011-05-19  Eric Blake  <eblake@redhat.com>
16344
16345         strerror: relax test for Solaris
16346         * tests/test-strerror.c (main): Permit Solaris behavior.
16347         * tests/test-strerror_r.c (main): Likewise.
16348
16349         strerror: enforce POSIX ruling on strerror(0)
16350         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
16351         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
16352         * lib/strerror_r.c (rpl_strerror_r): Work around it.
16353         * doc/posix-functions/strerror.texi (strerror): Document it.
16354         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
16355         * tests/test-strerror.c (main): Strengthen test.
16356         * tests/test-strerror_r.c (main): Likewise.
16357
16358 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
16359
16360         intprop-tests: port to older and more-pedantic compilers
16361         * modules/intprops-tests (Files): Add tests/macros.h.
16362         * tests/test-intprops.c: Include macros.h.
16363         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
16364         it's no longer documented to expand to an integer constant expression.
16365         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
16366         argument is floating point, as it's no longer documented to expand
16367         to an integer constant expression in that case.
16368         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
16369         compiler bugs reported by Bruno Haible.  See
16370         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
16371         (U0, U1): New constants, to work around the same bugs.  Also,
16372         in tests, use e.g., "(unsigned int) 39" rather than "39u".
16373
16374         intprops: work around C compiler bugs
16375         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
16376         bug in Sun C 5.11 2010/08/13 and other compilers; see
16377         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
16378
16379         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
16380         * doc/intprops.texi (Integer Type Determination): Fix
16381         documentation for TYPE_IS_INTEGER: it returns an constant
16382         expression, not an integer constant expression.  Fix doc for
16383         TYPE_SIGNED: it returns an integer constant expression only if its
16384         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
16385         hardly worth documented that way....)
16386
16387 2011-05-18  Bruno Haible  <bruno@clisp.org>
16388
16389         strerror_r: Avoid clobbering the strerror buffer when possible.
16390         * lib/strerror_r.c (strerror_r): Merge the three implementations.
16391         Handle gnulib defined errno values here. When strerror() returns NULL
16392         or an empty string, return EINVAL.
16393         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
16394         gnulib defined errno values here.
16395         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
16396
16397 2011-05-18  Eric Blake  <eblake@redhat.com>
16398
16399         fnmatch: avoid compiler warning
16400         * lib/fnmatch_loop.c (FCT): Use correct type.
16401         Reported by Matthias Bolte.
16402
16403 2011-05-13  Jim Meyering  <meyering@redhat.com>
16404
16405         maint.mk: three new prohibit_<HDR>_without_use rules
16406         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
16407         (sc_prohibit_stdio-safer_without_use): Likewise.
16408         (sc_prohibit_xfreopen_without_use): Likewise.
16409
16410 2011-05-17  Jim Meyering  <meyering@redhat.com>
16411
16412         announce-gen: fail if the NEWS delta is empty
16413         If there's nothing noteworthy in NEWS, then either you forgot
16414         or you shouldn't be releasing.
16415         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
16416
16417 2011-05-17  Pádraig Brady <P@draigBrady.com>
16418
16419         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
16420         reserved symbols starting with double underscore from the check.
16421
16422 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
16423
16424         intprops: add doc
16425         * doc/intprops.texi: New file, documenting intprops.
16426         * doc/gnulib.texi (Particular Modules): Include it.
16427
16428         verify: add doc to gnulib manual and fix example
16429         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
16430         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
16431         (Compile-time Assertions): Fix example so it can't overflow.
16432
16433 2011-05-17  Jim Meyering  <meyering@redhat.com>
16434
16435         warnings.m4: don't usurp save_CPPFLAGS variable name
16436         * m4/warnings.m4: Prefix local temporary variable name with gl_.
16437
16438         doc: fix typo
16439         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
16440
16441 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
16442             Bruno Haible  <bruno@clisp.org>
16443
16444         doc: Tweak recent change.
16445         * README (Portability guidelines): Tweak new text.
16446         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
16447         Interix 6.1.
16448
16449 2011-05-16  Eric Blake  <eblake@redhat.com>
16450
16451         inttypes: avoid autoconf warning
16452         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
16453         * m4/stdint.m4 (gl_STDINT_H): Likewise.
16454
16455 2011-05-16  Sam Steingold <sds@gnu.org>
16456         and Eric Blake  <eblake@redhat.com>
16457
16458         vc-list-files: accept multiple directory operands
16459         * build-aux/vc-list-files: Iterate over all remaining operands.
16460
16461 2011-05-16  Bruno Haible  <bruno@clisp.org>
16462
16463         Fix confusion regarding deprecated modules.
16464         * modules/calloc (Status, Notice): Mark module as deprecated, not
16465         obsolete.
16466         * modules/fnmatch-posix (Status, Notice): Likewise.
16467         * modules/getdate (Status, Notice): Likewise.
16468         * modules/getopt (Status, Notice): Likewise.
16469         * modules/malloc (Status, Notice): Likewise.
16470         * modules/pipe (Status, Notice): Likewise.
16471         * modules/realloc (Status, Notice): Likewise.
16472         * modules/rename-dest-slash (Status, Notice): Likewise.
16473         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
16474         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
16475         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
16476         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
16477         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
16478
16479 2011-05-16  Bruno Haible  <bruno@clisp.org>
16480
16481         doc: List the target platforms.
16482         * doc/gnulib-intro.texi (Target Platforms): New section.
16483         * doc/gnulib.texi (Introduction): Update menu.
16484         * README (Portability guidelines): Refer to the new section. Update
16485         statement about oldest supported environment. Remove rationale why
16486         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
16487         unportable C89 function.
16488         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
16489         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
16490
16491 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
16492
16493         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
16494
16495 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
16496
16497         intprops-tests: new module
16498         * modules/intprops-tests, tests/test-intprops.c: New files.
16499
16500         intprops: add safe, portable integer overflow checking
16501         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
16502         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
16503         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
16504         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
16505         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
16506         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
16507         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
16508         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
16509         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
16510         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
16511         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
16512
16513 2011-05-12  James Youngman  <jay@gnu.org>
16514
16515         Add a test for glibc's Bugzilla bug #12378.
16516         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
16517         doesn't allow the literal matching of a lone "[" (which is
16518         required by POSIX).
16519         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
16520
16521 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
16522
16523         Sync glibc change fixing Bugzilla bug #12378.
16524         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
16525         beginning and fall back to matching as normal character if the
16526         string ends before the matching ']' is found.  This is what POSIX
16527         requires.
16528
16529 2011-05-13  Eric Blake  <eblake@redhat.com>
16530
16531         getcwd-lgpl: relax test for FreeBSD
16532         * doc/posix-functions/getcwd.texi (getcwd): Document portability
16533         issue.
16534         * tests/test-getcwd-lgpl.c (main): Relax test.
16535         Reported by Matthias Bolte.
16536
16537 2011-05-11  Eric Blake  <eblake@redhat.com>
16538
16539         test-fflush: silence compiler warning
16540         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
16541
16542 2011-05-11  Bruno Haible  <bruno@clisp.org>
16543
16544         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
16545         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
16546         * modules/canonicalize (Depends-on): Add 'nocrash'.
16547         * modules/canonicalize-lgpl (Depends-on): Likewise.
16548         * doc/posix-functions/realpath.texi: Update platforms list.
16549         Reported by Ryan Schmidt <ryandesign@macports.org>.
16550
16551 2011-05-11  Bruno Haible  <bruno@clisp.org>
16552
16553         group-member: Declare function in <unistd.h>.
16554         * lib/unistd.in.h (group_member): New declaration.
16555         * lib/group-member.h: Remove file.
16556         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
16557         * tests/test-unistd-c++.cc: Check signature of group_member.
16558         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
16559         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
16560         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
16561         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
16562         HAVE_GROUP_MEMBER.
16563         * modules/group-member (Files): Remove lib/group-member.h.
16564         (Depends-on): Add unistd. Specify conditions.
16565         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
16566         (Include): Change to <unistd.h>.
16567         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
16568         HAVE_GROUP_MEMBER.
16569         * NEWS: Mention the change.
16570         * lib/euidaccess.c: Don't include group-member.h.
16571
16572 2011-05-11  Bruno Haible  <bruno@clisp.org>
16573
16574         group-member: Document module.
16575         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
16576         module.
16577
16578 2011-05-11  Bruno Haible  <bruno@clisp.org>
16579
16580         fclose: Fix mistake earlier today.
16581         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
16582
16583 2011-05-11  Eric Blake  <eblake@redhat.com>
16584
16585         fclose: preserve fflush errors
16586         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
16587         Reported by Jim Meyering.
16588
16589         bootstrap: support a prereq of 'rpcgen -' on RHEL5
16590         * build-aux/bootstrap (check_versions): When no specific version
16591         is required, merely check that the app produces an exit status
16592         that indicates its existence.
16593
16594         maint.mk: drop redundant check
16595         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
16596         the same but better.
16597
16598 2011-05-11  Bruno Haible  <bruno@clisp.org>
16599
16600         fclose: Fix possible link error.
16601         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
16602         unregister_shadow_fd. Improve comments.
16603         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
16604         Eric Blake.
16605
16606 2011-05-11  Jim Meyering  <meyering@redhat.com>
16607
16608         maint.mk: improve "can not" detection and generalize rule name
16609         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
16610         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
16611         Use the same technique as in sc_prohibit_doubled_word, so that
16612         we recognize "can not" also when the words are separated by a newline.
16613         Suggested by Eric Blake.
16614         (perl_filename_lineno_text_): Define.  Factored out of...
16615         (prohibit_doubled_word_): ...here.  Use the new definition.
16616         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
16617         (prohibit_undesirable_word_seq_RE_): New overridable variable.
16618         (ignore_undesirable_word_sequence_RE_): New overridable variable.
16619
16620 2011-05-10  Eric Blake  <eblake@redhat.com>
16621
16622         fclose: avoid double close race when possible
16623         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
16624         all but WINDOWS_SOCKETS.
16625
16626 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
16627
16628         openat: correct new comment
16629         * lib/openat-proc.c (openat_proc_name): Correct the comment.
16630
16631 2011-05-10  Jim Meyering  <meyering@redhat.com>
16632
16633         openat: add comments
16634         * lib/openat-proc.c (openat_proc_name): Add comments,
16635         mostly from Eric Blake.
16636
16637 2011-05-09  Eric Blake  <eblake@redhat.com>
16638
16639         openat: reduce syscalls in first probe of /proc
16640         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
16641         be a directory.  Simplify the probe for .. bugs.
16642         * modules/openat (Depends-on): Drop same-inode.
16643         Reported by Bastien ROUCARIES.
16644
16645 2011-05-09  Jim Meyering  <meyering@redhat.com>
16646
16647         maint.mk: change semantics/name of tight_scope variables
16648         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
16649         Rename variables to align with semantics that make them more useful.
16650
16651         maint.mk: tweak new rule's name not to impinge
16652         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
16653         (sc_tight_scope): Use new rule name rather than $@-0.
16654
16655         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
16656         * top/maint.mk (sc_tight_scope): New rule.
16657         (sc_tight_scope-0): New rule, ifdef'd out.
16658         (_gl_TS_dir): Default.
16659         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
16660         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
16661
16662 2011-05-09  Simon Josefsson  <simon@josefsson.org>
16663
16664         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
16665         Haible <bruno@clisp.org>.
16666
16667 2011-05-08  Bruno Haible  <bruno@clisp.org>
16668
16669         Comments.
16670         * m4/isnanf.m4: Add comment.
16671         * m4/isnanl.m4: Likewise.
16672
16673 2011-05-08  Bruno Haible  <bruno@clisp.org>
16674
16675         glob: Remove obsolete macro.
16676         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
16677
16678 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
16679
16680         intprops: Sun C 5.11 supports __typeof__
16681         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
16682         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
16683         which is new.
16684         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
16685
16686         intprops: switch to usual gnulib indenting and naming
16687         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
16688         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
16689
16690         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
16691
16692 2011-05-08  Jim Meyering  <meyering@redhat.com>
16693
16694         maint.mk: suppress "Entering/Leaving directory" diag in announcement
16695         * top/maint.mk (release-prep): Use make's --no-print-directory
16696         option when generating the announcement.  This eliminates the
16697         pesky "make[2]: Entering/Leaving directory" diagnostics in the
16698         generated announcement template.
16699
16700 2011-05-08  Bruno Haible  <bruno@clisp.org>
16701
16702         tzset: Fix gettimeofday wrapper on Solaris 2.6.
16703         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
16704         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
16705
16706 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
16707
16708         ignore-value, verify: Omit include files from lib_SOURCES.
16709         * modules/ignore-value, modules/verify (Makefile.am):
16710         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
16711         that leads Automake to duplicate use of am__objects_... variables
16712         in Makefile.in.  See
16713         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
16714
16715 2011-05-07  Bruno Haible  <bruno@clisp.org>
16716
16717         fclose: Simplify autoconf macro.
16718         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
16719         defined.
16720
16721 2011-05-07  Bruno Haible  <bruno@clisp.org>
16722
16723         canonicalize-lgpl: Fix autoconf macro ordering bug.
16724         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
16725         gl_STDLIB_H_DEFAULTS.
16726
16727 2011-05-06  Eric Blake  <eblake@redhat.com>
16728
16729         maintainer-makefile: make sc_po_check easier to tune
16730         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
16731         to probe for strings, such as an alternate location for gnulib.
16732
16733         fclose: guarantee behavior on seekable stdin
16734         * modules/fclose (Depends-on): Add fflush.
16735         * doc/posix-functions/fclose.texi (fclose): Document this.
16736         * tests/test-fclose.c (main): Make test for this unconditional.
16737
16738 2011-05-06  Bruno Haible  <bruno@clisp.org>
16739
16740         fflush, fpurge: Relicense under LGPLv2+.
16741         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
16742         * modules/fpurge (License): Likewise.
16743         With permission from Eric Blake and Jim Meyering.
16744         Suggested by Eric Blake.
16745
16746 2011-05-06  Karl Berry  <karl@gnu.org>
16747
16748         * MODULES.html.sh (func_all_modules): remove exit.
16749
16750 2011-05-06  Jim Meyering  <meyering@redhat.com>
16751
16752         maint.mk: use info-gnu@ as the default only for a stable release
16753         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
16754         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
16755         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
16756         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
16757
16758 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
16759
16760         assert-h: new module, which supports C1X-style static_assert
16761         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
16762         * lib/verify.h: Revamp so that this can be copied into assert.h,
16763         while retaining the ability to use it standalone as before.
16764         Rename private identifiers so as not to encroach on the
16765         standard C namespace, since this is now used by assert.h.
16766         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
16767         the old verify_true.
16768         (_GL_VERIFY_TRUE): New macro, with much of the contents of
16769         the old verify_true.  Use _GL_VERIFY_TYPE.
16770         (_GL_VERIFY): New macro, with much of the contents of the old verify.
16771         (static_assert): New macro, if _GL_STATIC_ASSERT_H
16772         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
16773         defined when this file is copied into the replacement assert.h.
16774         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
16775         and _Static_assert is not built in.
16776         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
16777         defined, and use the new macros mentioned above.
16778         * doc/posix-headers/assert.texi: Document this.
16779
16780 2011-05-05  Bruno Haible  <bruno@clisp.org>
16781
16782         fclose, fflush: Respect rules for use of AC_LIBOBJ.
16783         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
16784         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
16785         gl_REPLACE_FCLOSE here.
16786         * modules/fflush (Depends-on): Remove fclose.
16787         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
16788         combination with module 'fclose'.
16789
16790 2011-05-05  Bruno Haible  <bruno@clisp.org>
16791
16792         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
16793         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
16794         gl_FUNC_FFLUSH.
16795         (gl_FUNC_FFLUSH): Use it.
16796         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
16797         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
16798         gl_REPLACE_FSEEKO here.
16799
16800 2011-05-05  Bruno Haible  <bruno@clisp.org>
16801
16802         tzset: Relicense under LGPL.
16803         * modules/tzset (License): Change to LGPL.
16804         No agreement needed; it's a no-op.
16805
16806         strtoimax, strtoumax: Relicense under LGPL.
16807         * modules/strtoimax (License): Change to LGPL.
16808         * modules/strtoumax (License): Likewise.
16809         With permission from Jim Meyering, Paul Eggert:
16810         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
16811         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
16812
16813         getgroups: Relicense under LGPL.
16814         * modules/getgroups (License): Change to LGPL.
16815         With permission from Jim Meyering, Paul Eggert, Eric Blake:
16816         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
16817         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
16818         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
16819
16820         nanosleep: Relicense under LGPL.
16821         * modules/nanosleep (License): Change to LGPL.
16822         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
16823         Haible:
16824         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
16825         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
16826         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
16827         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
16828
16829         futimens: Relicense under LGPL.
16830         * modules/futimens (License): Change to LGPL.
16831         With permission from Eric Blake:
16832         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
16833
16834         fflush: Relicense under LGPL.
16835         * modules/fflush (License): Change to LGPL.
16836         With permission from Eric Blake, Bruno Haible, Jim Meyering:
16837         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
16838         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
16839         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
16840
16841         tmpfile: Relicense under LGPL.
16842         * modules/tmpfile (License): Change to LGPL.
16843         With permission from Ben Pfaff:
16844         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
16845
16846         isfinite: Relicense under LGPL.
16847         * modules/isfinite (License): Change to LGPL.
16848         With permission from Ben Pfaff, Bruno Haible:
16849         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
16850         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
16851
16852         acosl..tanl: Relicense under LGPL.
16853         * modules/acosl (License): Change to LGPL.
16854         * modules/asinl (License): Likewise.
16855         * modules/atanl (License): Likewise.
16856         * modules/cosl (License): Likewise.
16857         * modules/expl (License): Likewise.
16858         * modules/logl (License): Likewise.
16859         * modules/sinl (License): Likewise.
16860         * modules/sqrtl (License): Likewise.
16861         * modules/tanl (License): Likewise.
16862         Source code originally from glibc and Paolo Bonzini. Agreements:
16863         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
16864         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
16865
16866 2011-05-05  Bruno Haible  <bruno@clisp.org>
16867
16868         signal: Define sighandler_t.
16869         * lib/signal.in.h (sighandler_t): New type.
16870         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
16871         whether sighandler_t is defined.
16872         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
16873         * modules/signal (Depends-on): Add extensions.
16874         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
16875         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
16876         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
16877
16878 2011-05-05  Eric Blake  <eblake@redhat.com>
16879
16880         maint: remove useless REPLACE_*_H macros
16881         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
16882         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
16883         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
16884         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
16885         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
16886         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
16887         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
16888         * m4/btowc.m4: Update callers.
16889         * m4/dirfd.m4: Likewise.
16890         * m4/duplocale.m4: Likewise.
16891         * m4/fchdir.m4: Likewise.
16892         * m4/fdopendir.m4: Likewise.
16893         * m4/inet_ntop.m4: Likewise.
16894         * m4/inet_pton.m4: Likewise.
16895         * m4/ioctl.m4: Likewise.
16896         * m4/mbrlen.m4: Likewise.
16897         * m4/mbrtowc.m4: Likewise.
16898         * m4/mbsinit.m4: Likewise.
16899         * m4/mbsnrtowcs.m4: Likewise.
16900         * m4/mbsrtowcs.m4: Likewise.
16901         * m4/poll.m4: Likewise.
16902         * m4/setlocale.m4: Likewise.
16903         * m4/wcrtomb.m4: Likewise.
16904         * m4/wcsnrtombs.m4: Likewise.
16905         * m4/wcsrtombs.m4: Likewise.
16906         * m4/wctob.m4: Likewise.
16907         * m4/wcwidth.m4: Likewise.
16908         * modules/posix_spawn: Likewise.
16909         * modules/posix_spawn_file_actions_addclose: Likewise.
16910         * modules/posix_spawn_file_actions_adddup2: Likewise.
16911         * modules/posix_spawn_file_actions_addopen: Likewise.
16912         * modules/posix_spawn_file_actions_destroy: Likewise.
16913         * modules/posix_spawn_file_actions_init: Likewise.
16914         * modules/posix_spawnattr_destroy: Likewise.
16915         * modules/posix_spawnattr_getflags: Likewise.
16916         * modules/posix_spawnattr_getpgroup: Likewise.
16917         * modules/posix_spawnattr_getschedparam: Likewise.
16918         * modules/posix_spawnattr_getschedpolicy: Likewise.
16919         * modules/posix_spawnattr_getsigdefault: Likewise.
16920         * modules/posix_spawnattr_getsigmask: Likewise.
16921         * modules/posix_spawnattr_init: Likewise.
16922         * modules/posix_spawnattr_setflags: Likewise.
16923         * modules/posix_spawnattr_setpgroup: Likewise.
16924         * modules/posix_spawnattr_setschedparam: Likewise.
16925         * modules/posix_spawnattr_setschedpolicy: Likewise.
16926         * modules/posix_spawnattr_setsigdefault: Likewise.
16927         * modules/posix_spawnattr_setsigmask: Likewise.
16928         * modules/posix_spawnp: Likewise.
16929
16930 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
16931
16932         Add option to do-release-commit-and-tag to specify branch.
16933         * build-aux/do-release-commit-and-tag: Add --branch.
16934
16935 2011-05-03  Bruno Haible  <bruno@clisp.org>
16936
16937         Avoid unnecessary compilation units, through conditional dependencies.
16938         * modules/accept (Depends-on): Add conditions to the dependencies.
16939         * modules/acosl (Depends-on): Likewise.
16940         * modules/argz (Depends-on): Likewise.
16941         * modules/asinl (Depends-on): Likewise.
16942         * modules/atanl (Depends-on): Likewise.
16943         * modules/atoll (Depends-on): Likewise.
16944         * modules/bind (Depends-on): Likewise.
16945         * modules/btowc (Depends-on): Likewise.
16946         * modules/canonicalize-lgpl (Depends-on): Likewise.
16947         * modules/ceil (Depends-on): Likewise.
16948         * modules/ceilf (Depends-on): Likewise.
16949         * modules/ceill (Depends-on): Likewise.
16950         * modules/chdir-long (Depends-on): Likewise.
16951         * modules/chown (Depends-on): Likewise.
16952         * modules/close (Depends-on): Likewise.
16953         * modules/connect (Depends-on): Likewise.
16954         * modules/cosl (Depends-on): Likewise.
16955         * modules/dirfd (Depends-on): Likewise.
16956         * modules/dprintf (Depends-on): Likewise.
16957         * modules/dprintf-posix (Depends-on): Likewise.
16958         * modules/error (Depends-on): Likewise.
16959         * modules/euidaccess (Depends-on): Likewise.
16960         * modules/expl (Depends-on): Likewise.
16961         * modules/faccessat (Depends-on): Likewise.
16962         * modules/fchdir (Depends-on): Likewise.
16963         * modules/fclose (Depends-on): Likewise.
16964         * modules/fcntl (Depends-on): Likewise.
16965         * modules/fdopendir (Depends-on): Likewise.
16966         * modules/fflush (Depends-on): Likewise.
16967         * modules/floor (Depends-on): Likewise.
16968         * modules/floorf (Depends-on): Likewise.
16969         * modules/floorl (Depends-on): Likewise.
16970         * modules/fnmatch (Depends-on): Likewise.
16971         * modules/fopen (Depends-on): Likewise.
16972         * modules/fprintf-posix (Depends-on): Likewise.
16973         * modules/frexp (Depends-on): Likewise.
16974         * modules/frexp-nolibm (Depends-on): Likewise.
16975         * modules/frexpl (Depends-on): Likewise.
16976         * modules/frexpl-nolibm (Depends-on): Likewise.
16977         * modules/fseek (Depends-on): Likewise.
16978         * modules/fsusage (Depends-on): Likewise.
16979         * modules/ftell (Depends-on): Likewise.
16980         * modules/ftello (Depends-on): Likewise.
16981         * modules/futimens (Depends-on): Likewise.
16982         * modules/getcwd (Depends-on): Likewise.
16983         * modules/getcwd-lgpl (Depends-on): Likewise.
16984         * modules/getdelim (Depends-on): Likewise.
16985         * modules/getdomainname (Depends-on): Likewise.
16986         * modules/getgroups (Depends-on): Likewise.
16987         * modules/gethostname (Depends-on): Likewise.
16988         * modules/getline (Depends-on): Likewise.
16989         * modules/getlogin_r (Depends-on): Likewise.
16990         * modules/getopt-posix (Depends-on): Likewise.
16991         * modules/getpeername (Depends-on): Likewise.
16992         * modules/getsockname (Depends-on): Likewise.
16993         * modules/getsockopt (Depends-on): Likewise.
16994         * modules/getsubopt (Depends-on): Likewise.
16995         * modules/getusershell (Depends-on): Likewise.
16996         * modules/glob (Depends-on): Likewise.
16997         * modules/grantpt (Depends-on): Likewise.
16998         * modules/iconv_open (Depends-on): Likewise.
16999         * modules/iconv_open-utf (Depends-on): Likewise.
17000         * modules/inet_ntop (Depends-on): Likewise.
17001         * modules/inet_pton (Depends-on): Likewise.
17002         * modules/ioctl (Depends-on): Likewise.
17003         * modules/isapipe (Depends-on): Likewise.
17004         * modules/isfinite (Depends-on): Likewise.
17005         * modules/isinf (Depends-on): Likewise.
17006         * modules/lchown (Depends-on): Likewise.
17007         * modules/ldexpl (Depends-on): Likewise.
17008         * modules/link (Depends-on): Likewise.
17009         * modules/linkat (Depends-on): Likewise.
17010         * modules/listen (Depends-on): Likewise.
17011         * modules/logl (Depends-on): Likewise.
17012         * modules/lstat (Depends-on): Likewise.
17013         * modules/mbrlen (Depends-on): Likewise.
17014         * modules/mbrtowc (Depends-on): Likewise.
17015         * modules/mbsinit (Depends-on): Likewise.
17016         * modules/mbsnrtowcs (Depends-on): Likewise.
17017         * modules/mbsrtowcs (Depends-on): Likewise.
17018         * modules/mbtowc (Depends-on): Likewise.
17019         * modules/memcmp (Depends-on): Likewise.
17020         * modules/mkdir (Depends-on): Likewise.
17021         * modules/mkdtemp (Depends-on): Likewise.
17022         * modules/mkfifo (Depends-on): Likewise.
17023         * modules/mkfifoat (Depends-on): Likewise.
17024         * modules/mknod (Depends-on): Likewise.
17025         * modules/mkostemp (Depends-on): Likewise.
17026         * modules/mkostemps (Depends-on): Likewise.
17027         * modules/mkstemp (Depends-on): Likewise.
17028         * modules/mkstemps (Depends-on): Likewise.
17029         * modules/mktime (Depends-on): Likewise.
17030         * modules/nanosleep (Depends-on): Likewise.
17031         * modules/open (Depends-on): Likewise.
17032         * modules/openat (Depends-on): Likewise.
17033         * modules/perror (Depends-on): Likewise.
17034         * modules/poll (Depends-on): Likewise.
17035         * modules/popen (Depends-on): Likewise.
17036         * modules/posix_spawn (Depends-on): Likewise.
17037         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
17038         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
17039         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
17040         * modules/posix_spawnp (Depends-on): Likewise.
17041         * modules/pread (Depends-on): Likewise.
17042         * modules/printf-posix (Depends-on): Likewise.
17043         * modules/ptsname (Depends-on): Likewise.
17044         * modules/putenv (Depends-on): Likewise.
17045         * modules/pwrite (Depends-on): Likewise.
17046         * modules/readline (Depends-on): Likewise.
17047         * modules/readlink (Depends-on): Likewise.
17048         * modules/readlinkat (Depends-on): Likewise.
17049         * modules/recv (Depends-on): Likewise.
17050         * modules/recvfrom (Depends-on): Likewise.
17051         * modules/regex (Depends-on): Likewise.
17052         * modules/remove (Depends-on): Likewise.
17053         * modules/rename (Depends-on): Likewise.
17054         * modules/renameat (Depends-on): Likewise.
17055         * modules/rmdir (Depends-on): Likewise.
17056         * modules/round (Depends-on): Likewise.
17057         * modules/roundf (Depends-on): Likewise.
17058         * modules/roundl (Depends-on): Likewise.
17059         * modules/rpmatch (Depends-on): Likewise.
17060         * modules/select (Depends-on): Likewise.
17061         * modules/send (Depends-on): Likewise.
17062         * modules/sendto (Depends-on): Likewise.
17063         * modules/setenv (Depends-on): Likewise.
17064         * modules/setlocale (Depends-on): Likewise.
17065         * modules/setsockopt (Depends-on): Likewise.
17066         * modules/shutdown (Depends-on): Likewise.
17067         * modules/sigaction (Depends-on): Likewise.
17068         * modules/signbit (Depends-on): Likewise.
17069         * modules/sigprocmask (Depends-on): Likewise.
17070         * modules/sinl (Depends-on): Likewise.
17071         * modules/sleep (Depends-on): Likewise.
17072         * modules/snprintf (Depends-on): Likewise.
17073         * modules/snprintf-posix (Depends-on): Likewise.
17074         * modules/socket (Depends-on): Likewise.
17075         * modules/sprintf-posix (Depends-on): Likewise.
17076         * modules/sqrtl (Depends-on): Likewise.
17077         * modules/stat (Depends-on): Likewise.
17078         * modules/strchrnul (Depends-on): Likewise.
17079         * modules/strdup-posix (Depends-on): Likewise.
17080         * modules/strerror (Depends-on): Likewise.
17081         * modules/strerror_r-posix (Depends-on): Likewise.
17082         * modules/strndup (Depends-on): Likewise.
17083         * modules/strnlen (Depends-on): Likewise.
17084         * modules/strptime (Depends-on): Likewise.
17085         * modules/strsep (Depends-on): Likewise.
17086         * modules/strsignal (Depends-on): Likewise.
17087         * modules/strstr-simple (Depends-on): Likewise.
17088         * modules/strtod (Depends-on): Likewise.
17089         * modules/strtoimax (Depends-on): Likewise.
17090         * modules/strtok_r (Depends-on): Likewise.
17091         * modules/strtoumax (Depends-on): Likewise.
17092         * modules/symlink (Depends-on): Likewise.
17093         * modules/symlinkat (Depends-on): Likewise.
17094         * modules/tanl (Depends-on): Likewise.
17095         * modules/tcgetsid (Depends-on): Likewise.
17096         * modules/tmpfile (Depends-on): Likewise.
17097         * modules/trunc (Depends-on): Likewise.
17098         * modules/truncf (Depends-on): Likewise.
17099         * modules/truncl (Depends-on): Likewise.
17100         * modules/uname (Depends-on): Likewise.
17101         * modules/unlink (Depends-on): Likewise.
17102         * modules/unlockpt (Depends-on): Likewise.
17103         * modules/unsetenv (Depends-on): Likewise.
17104         * modules/usleep (Depends-on): Likewise.
17105         * modules/utimensat (Depends-on): Likewise.
17106         * modules/vasprintf (Depends-on): Likewise.
17107         * modules/vdprintf (Depends-on): Likewise.
17108         * modules/vdprintf-posix (Depends-on): Likewise.
17109         * modules/vfprintf-posix (Depends-on): Likewise.
17110         * modules/vprintf-posix (Depends-on): Likewise.
17111         * modules/vsnprintf (Depends-on): Likewise.
17112         * modules/vsnprintf-posix (Depends-on): Likewise.
17113         * modules/vsprintf-posix (Depends-on): Likewise.
17114         * modules/wcrtomb (Depends-on): Likewise.
17115         * modules/wcscasecmp (Depends-on): Likewise.
17116         * modules/wcscspn (Depends-on): Likewise.
17117         * modules/wcsdup (Depends-on): Likewise.
17118         * modules/wcsncasecmp (Depends-on): Likewise.
17119         * modules/wcsnrtombs (Depends-on): Likewise.
17120         * modules/wcspbrk (Depends-on): Likewise.
17121         * modules/wcsrtombs (Depends-on): Likewise.
17122         * modules/wcsspn (Depends-on): Likewise.
17123         * modules/wcsstr (Depends-on): Likewise.
17124         * modules/wcstok (Depends-on): Likewise.
17125         * modules/wcswidth (Depends-on): Likewise.
17126         * modules/wctob (Depends-on): Likewise.
17127         * modules/wctomb (Depends-on): Likewise.
17128         * modules/wctype (Depends-on): Likewise.
17129         * modules/wcwidth (Depends-on): Likewise.
17130         * modules/write (Depends-on): Likewise.
17131
17132 2011-05-03  Bruno Haible  <bruno@clisp.org>
17133
17134         Support for conditional dependencies.
17135         * doc/gnulib.texi (Module description): Document the syntax of
17136         conditional dependencies.
17137         * gnulib-tool: New option --conditional-dependencies.
17138         (func_usage): Document it.
17139         (cond_dependencies): New variable.
17140         (func_get_automake_snippet_conditional,
17141         func_get_automake_snippet_unconditional): New functions, extracted from
17142         func_get_automake_snippet.
17143         (func_get_automake_snippet): Use them.
17144         (sed_first_32_chars): New variable.
17145         (func_module_shellfunc_name): New function.
17146         (func_module_shellvar_name): New function.
17147         (func_module_conditional_name): New function.
17148         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
17149         func_cond_module_condition): New functions.
17150         (func_modules_transitive_closure): Add support for conditional
17151         dependencies.
17152         (func_emit_lib_Makefile_am): For a conditional module, enclose the
17153         conditional automake snippet in an automake conditional.
17154         (func_emit_autoconf_snippets): Emit shell functions that contain the
17155         code for conditional modules.
17156         (func_import, func_create_testdir): Update specification.
17157
17158 2011-05-03  Eric Blake  <eblake@redhat.com>
17159
17160         test-getaddrinfo: report error information
17161         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
17162
17163 2011-05-03  Jim Meyering  <meyering@redhat.com>
17164
17165         bootstrap: avoid build failure when $GZIP is set
17166         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
17167         program name.  If defined at all, it is supposed to list gzip options.
17168         Reported by Alan Curry in http://debbugs.gnu.org/8609
17169
17170 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
17171
17172         readme-release: new module with release instructions
17173         * modules/readme-release: New module.
17174         * top/README-release: New file, from coreutils, grep, diffutils.
17175         * MODULES.html.sh (Support for maintaining and releasing): Add it.
17176
17177 2011-05-02  Eric Blake  <eblake@redhat.com>
17178
17179         fflush: also replace fclose when fixing fflush
17180         * modules/fflush (Depends-on): Add fclose.
17181         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
17182         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
17183         memstreams with no backing fd.
17184         * doc/posix-functions/fclose.texi (fclose): Document the use of
17185         fflush module to fix the bug.
17186         * tests/test-fclose.c (main): Relax test when fclose is used in
17187         isolation.
17188
17189         fclose: add some tests
17190         * modules/fclose-tests: New test module.
17191         * tests/test-fclose.c: New file.
17192         * doc/posix-functions/fclose.texi (fclose): Document the bug.
17193
17194         fclose: reduced dependencies
17195         * modules/fclose (Depends-on): Switch from fflush/fseeko to
17196         simpler lseek.
17197         * lib/fclose.c (rpl_fclose): Likewise.
17198         Reported by Simon Josefsson.
17199
17200         exit: drop remaining clients
17201         * modules/argmatch (Depends-on): Replace exit with stdlib.
17202         * modules/copy-file (Depends-on): Likewise.
17203         * modules/execute (Depends-on): Likewise.
17204         * modules/exitfail (Depends-on): Likewise.
17205         * modules/obstack (Depends-on): Likewise.
17206         * modules/pagealign_alloc (Depends-on): Likewise.
17207         * modules/pipe-filter-gi (Depends-on): Likewise.
17208         * modules/pipe-filter-ii (Depends-on): Likewise.
17209         * modules/savewd (Depends-on): Likewise.
17210         * modules/spawn-pipe (Depends-on): Likewise.
17211         * modules/wait-process (Depends-on): Likewise.
17212         * modules/xsetenv (Depends-on): Likewise.
17213         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
17214         * modules/git-merge-changelog (Depends-on): Likewise.
17215         * modules/long-options (Depends-on): Likewise.
17216         * modules/pt_chown (Depends-on): Likewise.
17217         * modules/sysexits (Depends-on): Likewise.
17218
17219         freading: relax license from LGPLv3+ to LGPLv2+
17220         * modules/freading (License): Relax LGPL version.
17221
17222 2011-05-02  Bruno Haible  <bruno@clisp.org>
17223
17224         fchdir: Remove unused dependencies.
17225         * modules/fchdir (Depends-on): Remove include_next.
17226
17227 2011-05-02  Bruno Haible  <bruno@clisp.org>
17228
17229         gnulib-tool: Refactor.
17230         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
17231         from func_emit_autoconf_snippets.
17232         (func_emit_autoconf_snippets): Use it.
17233
17234 2011-05-02  Simon Josefsson  <simon@josefsson.org>
17235
17236         * NEWS: Document removal of 'exit'.
17237         * modules/exit: Remove file.
17238
17239 2011-05-01  Bruno Haible  <bruno@clisp.org>
17240
17241         Update DEPENDENCIES.
17242         * DEPENDENCIES (gettext): Recommend the newest release.
17243         Reported by Simon Josefsson.
17244
17245 2011-05-01  Bruno Haible  <bruno@clisp.org>
17246
17247         gnulib-tool: Reduce code duplication.
17248         * gnulib-tool (func_emit_autoconf_snippets): New function.
17249         (func_import, func_create_testdir): Use it.
17250
17251 2011-04-30  Eric Blake  <eblake@redhat.com>
17252
17253         fclose: don't fail on non-seekable input stream
17254         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
17255         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
17256         since fflush is allowed to fail in that case.
17257
17258 2011-04-30  Bruno Haible  <bruno@clisp.org>
17259
17260         dup3: cleanup
17261         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
17262
17263 2011-04-30  Bruno Haible  <bruno@clisp.org>
17264
17265         netdb: Make it work in C++ mode.
17266         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
17267         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
17268         module.
17269         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
17270         gl_MODULE_INDICATOR_FOR_TESTS.
17271         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
17272         * modules/netdb-c++-tests: New file.
17273         * tests/test-netdb-c++.cc: New file.
17274
17275 2011-04-30  Bruno Haible  <bruno@clisp.org>
17276
17277         New modules 'vfscanf', 'vscanf'.
17278         * modules/vfscanf: New file.
17279         * modules/vscanf: New file.
17280         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
17281         here.
17282         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
17283         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
17284
17285 2011-04-30  Bruno Haible  <bruno@clisp.org>
17286
17287         passfd: Add comments.
17288         * lib/passfd.c: Add comments about platforms.
17289
17290 2011-04-30  Bruno Haible  <bruno@clisp.org>
17291
17292         sys_uio: Make <sys/uio.h> self-contained.
17293         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
17294         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
17295
17296 2011-04-30  Bruno Haible  <bruno@clisp.org>
17297
17298         sys_socket: Ensure 'struct iovec' definition.
17299         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
17300         <sys/socket.h>.
17301         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
17302
17303 2011-04-30  Bruno Haible  <bruno@clisp.org>
17304
17305         sys_uio: Protect definition of 'struct iovec'.
17306         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
17307         it as a C struct.
17308
17309 2011-04-30  Bruno Haible  <bruno@clisp.org>
17310
17311         manywarnings: fix indentation
17312         * m4/manywarnings.m4: Indent by 2 spaces consistently.
17313
17314 2011-04-30  Pádraig Brady <P@draigBrady.com>
17315
17316         manywarnings: add -Wno-missing-field-initializers if needed.
17317         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
17318         option if it's needed to allow initialization with { 0, }
17319
17320 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
17321
17322         announce-gen: cosmetic improvement
17323         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
17324
17325 2011-04-29  Jim Meyering  <meyering@redhat.com>
17326
17327         vc-list-files: indent with spaces, not TABs
17328         * build-aux/vc-list-files: Convert leading TABs to spaces,
17329         to match the style of most other files in gnulib.
17330
17331         announce-gen: indent with spaces, not TABs
17332         * build-aux/announce-gen: Convert all TABs to spaces, to match
17333         the style of most other files in gnulib.
17334
17335 2011-04-29  Eric Blake  <eblake@redhat.com>
17336
17337         quotearg: avoid uninitialized variable use
17338         * lib/quotearg.c (quoting_options_from_style): Initialize
17339         remaining fields, and ensure that custom styles are only used via
17340         quoting_options rather than quoting_style.
17341
17342 2011-04-29  Jim Meyering  <meyering@redhat.com>
17343
17344         maint.mk: remove unused VC-tag variable
17345         * top/maint.mk (VC-tag): Remove unused variable.
17346
17347 2011-04-29  Bruno Haible  <bruno@clisp.org>
17348
17349         netdb: fix gai_strerror replacements
17350         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
17351         * modules/netdb: Substitute it.
17352
17353 2011-04-29  Jim Meyering  <meyering@redhat.com>
17354
17355         test-getcwd.c: avoid new set-but-not-used warning
17356         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
17357         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
17358         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
17359         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
17360
17361         test-hash.c: avoid a new shadowing warning
17362         * tests/test-hash.c (main): Don't shadow "dup".
17363
17364 2011-04-28  Eric Blake  <eblake@redhat.com>
17365
17366         getaddrinfo: fix gai_strerror signature
17367         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
17368         and work around mingw with UNICODE defined.
17369         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
17370         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
17371         * modules/netdb (Makefile.am): Substitute it.
17372         * lib/netdb.in.h (gai_strerror): Declare replacement.
17373         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
17374         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
17375         the fix.
17376
17377         getsockopt: avoid compiler warning
17378         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
17379         Reported by Matthias Bolte.
17380
17381         tests: drop unused link dependency
17382         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
17383         * modules/dirent-safer-tests (Makefile.am): Likewise.
17384         * modules/fdopendir-tests (Makefile.am): Likewise.
17385         * modules/mkfifoat-tests (Makefile.am): Likewise.
17386         * modules/openat-safer-tests (Makefile.am): Likewise.
17387         * modules/openat-tests (Makefile.am): Likewise.
17388         * modules/readlinkat-tests (Makefile.am): Likewise.
17389         * modules/symlinkat-tests (Makefile.am): Likewise.
17390         * modules/linkat-tests (Makefile.am): Likewise.
17391         (Depends-on): Switch to filenamecat-lgpl.
17392         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
17393         LIBINTL.
17394         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
17395         * tests/test-linkat.c (main): Don't require xalloc.
17396
17397         hash, mgetgroups: drop xalloc dependency
17398         * lib/hash.c (includes): Adjust includes.
17399         * lib/mgetgroups.c (includes): Likewise.
17400         (xgetgroups): Move...
17401         * lib/xgetgroups.c: ...to new file.
17402         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
17403         * modules/xgetgroups: New file, split from...
17404         * modules/mgetgroups: ...here.
17405         (Depends-on): Add xalloc-oversized.
17406         * modules/hash (Depends-on): Likewise.
17407         * modules/hash-tests (Depends-on): Drop xalloc.
17408         (test_hash_LDADD): Drop unused library.
17409         * tests/test-hash.c (main): Break xalloc dependency.
17410         (includes): Drop unused include.
17411
17412         xalloc-oversized: new module
17413         * modules/xalloc-oversized: New module.
17414         * modules/xalloc (Depends-on): Add it.
17415         * lib/xalloc.h (xalloc_oversized): Move...
17416         * lib/xalloc-oversized.h: ...into new file.
17417
17418         utimecmp: drop dependency on xmalloc
17419         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
17420         due to memory pressure.
17421         * modules/utimecmp (Depends-on): Drop xalloc.
17422
17423 2011-04-27  Eric Blake  <eblake@redhat.com>
17424
17425         getcwd: fix mingw bugs
17426         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
17427         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
17428         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
17429
17430 2011-04-27  Bruno Haible  <bruno@clisp.org>
17431
17432         mkstemps: Ensure declaration on MacOS X 10.5.
17433         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
17434         * doc/glibc-functions/mkstemps.texi: Document header file problem on
17435         MacOS X.
17436
17437 2011-04-27  Bruno Haible  <bruno@clisp.org>
17438
17439         mkstemp: More documentation.
17440         * doc/posix-functions/mkstemp.texi: Document header file problem on
17441         MacOS X.
17442
17443 2011-04-27  Bruno Haible  <bruno@clisp.org>
17444
17445         mkstemp: Tweak configure message when cross-compiling.
17446         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
17447         result as a guess.
17448
17449 2011-04-27  Bruno Haible  <bruno@clisp.org>
17450
17451         clean-temp: Clarify what it does.
17452         * lib/clean-temp.h: Add more comments.
17453         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
17454         module.
17455         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
17456         * doc/glibc-functions/mkstemps.texi: Likewise.
17457         * doc/glibc-functions/mkostemps.texi: Likewise.
17458
17459 2011-04-27  Eric Blake  <eblake@redhat.com>
17460
17461         fchdir: avoid extra chdir and fix test
17462         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
17463         getcwd-lgpl.
17464         * lib/fchdir.c (get_name): Any absolute name will do; it does not
17465         have to be canonical.
17466         (canonicalize_file_name): Drop unused macro.
17467         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
17468
17469         filenamecat-lgpl: fix licence
17470         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
17471         when it was first created.
17472
17473         linkat, renameat: add missing dependency
17474         * modules/linkat (Depends-on): Require getcwd-lgpl.
17475         * modules/renameat (Depends-on): Likewise.
17476
17477         tests: reduce dependencies
17478         * tests/test-linkat.c (main): Use lighter-weight getcwd.
17479         * tests/test-renameat.c (main): Likewise.
17480         * modules/linkat-tests (Depends-on): Relax dependency.
17481         * modules/renameat-tests (Depends-on): Likewise.
17482         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
17483         dependency explicit.
17484
17485         save-cwd: reduce default dependency
17486         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
17487         * lib/save-cwd.c: Update comments.
17488         * NEWS: Document the semantic change.
17489
17490         getcwd: enhance tests
17491         * tests/test-getcwd-lgpl.c: New file, taken from...
17492         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
17493         repeat long path stress tests from m4 probe.
17494         * modules/getcwd-lgpl-tests: New module.
17495         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
17496         * m4/getcwd-abort-bug.m4: Update comment.
17497         * m4/getcwd-path-max.m4: Likewise.
17498
17499         getcwd-lgpl: new module
17500         * modules/getcwd-lgpl: New module.
17501         * lib/getcwd-lgpl.c: New file.
17502         * doc/posix-functions/getcwd.texi (getcwd): Document it.
17503         * MODULES.html.sh (lacking POSIX:2008): Likewise.
17504         * modules/getcwd (configure.ac): Set C witness.
17505         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
17506
17507         getcwd: tweak comments
17508         * m4/getcwd-abort-bug.m4: Fix comments.
17509         * m4/getcwd-path-max.m4: Likewise.
17510         * m4/getcwd.m4: Likewise.
17511
17512 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
17513         and Eric Blake  <eblake@redhat.com>
17514
17515         mkstemp: replace if system version uses wrong permissions
17516         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
17517         read/write mode bits set in file created by mkstemp.
17518         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
17519
17520 2011-04-27  Eric Blake  <eblake@redhat.com>
17521
17522         passfd: avoid compiler warning
17523         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
17524         Reported by Laine Stump.
17525
17526 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
17527
17528         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
17529         required by the NetBSD (and perhaps other 4.4BSD derived) join.
17530
17531 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
17532         and Eric Blake  <eblake@redhat.com>
17533
17534         mkstemp: mention clean-temp module
17535         * lib/mkstemp.c: Add comment.
17536         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
17537
17538 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
17539
17540         inttypes: also provide default values for 32-bit tests
17541         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
17542         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
17543
17544 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
17545
17546         strtoumax: remove dependency on strtoimax
17547         This is like the strtoull change of yesterday.
17548         * modules/strtoumax (Files): Add lib/strtoimax.c.
17549         (Depends-on): Remove strtoimax and add verify.
17550
17551         inttypes-incomplete: new module
17552         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
17553         all but the PRI* and SCN* parts of gl_INTTYPES_H.
17554         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
17555         of gl_INTTYPES_H.
17556         (gl_INTTYPES_H): Rewrite in terms of these new macros.
17557         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
17558         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
17559         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
17560         * modules/strtoumax, modules/xstrtol (Depends-on):
17561         Depend on inttypes-incomplete, not inttypes.
17562         * modules/inttypes-incomplete: New module, containing the contents
17563         of the old modules/inttypes module, except that the Files: section
17564         omits m4/inttypes-pri.m4, and the configure.ac section invokes
17565         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
17566         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
17567         (Depends-on): Depend only on inttypes-incomplete.
17568         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
17569
17570         inttypes: omit now-redundant strtoimax and strtoumax work
17571         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
17572         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
17573
17574         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
17575         This supports apps that need pointers to strtoimax and strtoumax,
17576         and ports to HP-UX 11.00 64.bit, which has macros that expand to
17577         nonexistent functions.  See
17578         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
17579         et seq.
17580         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
17581         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
17582         a macro.
17583         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
17584
17585 2011-04-25  Simon Josefsson  <simon@josefsson.org>
17586
17587         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
17588
17589 2011-04-25  Bruno Haible  <bruno@clisp.org>
17590
17591         strtol, strtoul: Mark modules as obsolete.
17592         * modules/strtol (Status, Notice): New sections.
17593         * modules/strtoul (Status, Notice): New sections.
17594
17595 2011-04-25  Bruno Haible  <bruno@clisp.org>
17596
17597         strtod: Remove check for strtod, unless supporting old platforms.
17598         * modules/strtod-obsolete: New file.
17599         * m4/strtod-obsolete.m4: New file.
17600         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
17601         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
17602         * modules/strtod (Depends-on): Add strtod-obsolete.
17603         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
17604
17605 2011-04-25  Bruno Haible  <bruno@clisp.org>
17606
17607         strcase: Make module obsolete.
17608         * modules/strcase (Status, Notice): New sections.
17609
17610 2011-04-25  Bruno Haible  <bruno@clisp.org>
17611
17612         dup2: Remove check for dup2, unless supporting old obsolete platforms.
17613         * modules/dup2-obsolete: New file.
17614         * m4/dup2-obsolete.m4: New file.
17615         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
17616         gl_FUNC_DUP2_OBSOLETE is not also defined.
17617         * modules/dup2 (Depends-on): Add dup2-obsolete.
17618         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
17619
17620 2011-04-25  Bruno Haible  <bruno@clisp.org>
17621
17622         strnlen: Avoid memchr related link error on old obsolete platforms.
17623         * modules/memchr-obsolete: New file.
17624         * m4/memchr-obsolete.m4: New file.
17625         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
17626         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
17627         * modules/memchr (Depends-on): Add memchr-obsolete.
17628         * modules/strnlen (Depends-on): Likewise.
17629         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
17630
17631 2011-04-25  Jim Meyering  <meyering@redhat.com>
17632
17633         maint.mk: makefile_at_at_check extend and clean up
17634         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
17635         in addition to */Makefile.am.
17636         Exempt legitimate uses of @VAR@ notation, e.g.,
17637         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
17638         Remove obsolete coreutils-specific comment.
17639         Prompted by discussion here:
17640         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
17641
17642 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
17643
17644         strtoul: remove dependency on strtol
17645         This is so that 'configure' need not check for strtol merely because
17646         the application needs strtoul.
17647         * modules/strtoul (Files): Add lib/strtol.c.
17648         (Depends-on): Remove strtol.
17649
17650         strtoull: remove dependency on strtoul
17651         This is like the strtoll change.
17652         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
17653         (Depends-on): Remove strtoul.
17654
17655         strtoll: remove dependency on strtol
17656         This is so that 'configure' need not check for strtol merely because
17657         the application needs strtoll.
17658         * modules/strtoll (Files): Add lib/strtol.c.
17659         (Depends-on): Remove strtol.
17660
17661 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
17662
17663         inttypes: Move some configure check to module 'imaxdiv'.
17664         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
17665         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
17666         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
17667
17668 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
17669
17670         inttypes: Move some configure check to module 'imaxabs'.
17671         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
17672         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
17673         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
17674
17675 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
17676
17677         inttypes: Remove configure tests that are not needed since 2009-12-31.
17678         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
17679         gl_cv_header_working_inttypes_h.
17680
17681 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
17682
17683         * modules/strnlen (Depends-on): Remove memchr.
17684         The strnlen implementation doesn't need the memchr module's fixes; see
17685         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
17686
17687         strtol: remove dependency on wchar
17688         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
17689         * modules/strtol (Depends-on): Remove wchar.
17690
17691 2011-04-21  Eric Blake  <eblake@redhat.com>
17692
17693         passfd: fix test regression on Linux
17694         * modules/passfd-tests (configure.ac): Correct socketpair check.
17695
17696         passfd: speed up configure and drop unused code
17697         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
17698         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
17699         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
17700         Instead of probing at configure for unix_scm_rights_bsd44_way,
17701         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
17702         check to a struct member probe.
17703         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
17704         (sendfd, recvfd): Update preprocessor checks.
17705         * modules/passfd (Files): Reflect rename, and drop unused file.
17706         (Depends-on): Drop unused dependency.
17707
17708         passfd: allow compilation on mingw
17709         * modules/sys_socket (Depends-on): Add sys_uio.
17710         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
17711         iovec and a minimal struct msghdr.
17712         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
17713         * tests/test-sys_socket.c (main): Enhance test.
17714         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
17715         guaranteed to provide what we need.
17716         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
17717         * modules/passfd-tests (Depends-on): Add sys_wait.
17718         * tests/test-passfd.c (main): Skip test on mingw, for now.
17719         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
17720         partial 'struct msghdr' implementation.
17721
17722         sys_uio: new module
17723         * modules/sys_uio: New module.
17724         * modules/sys_uio-tests: Likewise.
17725         * lib/sys_uio.in.h: New file.
17726         * m4/sys_uio_h.m4: Likewise.
17727         * tests/test-sys_uio.c: Likewise.
17728         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
17729         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
17730
17731 2011-04-20  Jim Meyering  <meyering@redhat.com>
17732
17733         useless-if-before-free: avoid false-positive
17734         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
17735         disjunct so that it too requires a terminating ";".  Without that,
17736         this script would identify as useless one statement from gcc that
17737         was not:
17738           if (aligned_ptr)
17739             free (((void **) aligned_ptr) [-1]);
17740
17741 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
17742
17743         doc: update users.txt.
17744         * users.txt: Add barcode.
17745
17746 2011-04-19  Bruno Haible  <bruno@clisp.org>
17747
17748         ioctl: Remove link dependency on native Windows.
17749         * lib/fd-hook.h: Renamed from lib/close-hook.h.
17750         (gl_close_fn, gl_ioctl_fn): New types.
17751         (struct fd_hook): Renamed from struct close_hook. Change type of
17752         private_close_fn field. Add private_ioctl_fn field.
17753         (close_hook_fn): Add parameter for primary close method.
17754         (execute_close_hooks, execute_all_close_hooks): Likewise.
17755         (ioctl_hook_fn): New type.
17756         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
17757         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
17758         argument.
17759         (unregister_fd_hook): Renamed from unregister_close_hook.
17760         * lib/fd-hook.c: Renamed from lib/close-hook.c.
17761         Don't include <unistd.h>.
17762         (close): Remove undef.
17763         (anchor): Update.
17764         (execute_close_hooks): Add argument for primary close method.
17765         (execute_all_close_hooks): Likewise.
17766         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
17767         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
17768         argument. Allow each argument to be NULL.
17769         (unregister_fd_hook): Renamed from unregister_close_hook.
17770         * lib/close.c (rpl_close): Pass 'close' function pointer to
17771         execute_all_close_hooks.
17772         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
17773         (primary_ioctl): New function.
17774         (ioctl): Don't call ioctlsocket here. Instead, call
17775         execute_all_ioctl_hooks.
17776         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
17777         close method.
17778         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
17779         (fd_sockets_hook): Renamed from close_sockets_hook.
17780         (gl_sockets_startup, gl_sockets_cleanup): Update.
17781         * modules/fd-hook: Renamed from modules/close-hook. Update.
17782         * modules/close (Depends-on): Add fd-hook, remove close-hook.
17783         * modules/sockets (Depends-on): Likewise.
17784         * modules/ioctl (Depends-on): Add fd-hook.
17785         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
17786         GNULIB_SOCKET.
17787
17788 2011-04-19  Bruno Haible  <bruno@clisp.org>
17789
17790         Move the support of O_NONBLOCK in open() to the 'open' module.
17791         * modules/nonblocking (Depends-on): Remove 'open'.
17792         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
17793         gl_cv_have_open_O_NONBLOCK.
17794         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
17795         O_NONBLOCK support.
17796         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
17797
17798 2011-04-17  Bruno Haible  <bruno@clisp.org>
17799
17800         pipe2: Simplify code.
17801         * lib/pipe2.c (pipe2): Reduce code duplication.
17802
17803 2011-04-17  Bruno Haible  <bruno@clisp.org>
17804
17805         nonblocking: Add comment.
17806         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
17807
17808 2011-04-17  Bruno Haible  <bruno@clisp.org>
17809
17810         nonblocking: Add tests for sockets.
17811         * tests/test-nonblocking-socket.sh: New file.
17812         * tests/test-nonblocking-socket-main.c: New file.
17813         * tests/test-nonblocking-socket-child.c: New file.
17814         * tests/test-nonblocking-socket.h: New file.
17815         * tests/socket-server.h: New file.
17816         * tests/socket-client.h: New file.
17817         * modules/nonblocking-socket-tests: New file.
17818         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
17819
17820 2011-04-17  Bruno Haible  <bruno@clisp.org>
17821
17822         nonblocking: Add tests for pipes.
17823         * tests/test-nonblocking-pipe.sh: New file.
17824         * tests/test-nonblocking-pipe-main.c: New file.
17825         * tests/test-nonblocking-pipe-child.c: New file.
17826         * tests/test-nonblocking-pipe.h: New file.
17827         * tests/test-nonblocking-writer.h: New file.
17828         * tests/test-nonblocking-reader.h: New file.
17829         * tests/test-nonblocking-misc.h: New file.
17830         * modules/nonblocking-pipe-tests: New file.
17831         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
17832
17833 2011-04-16  Bruno Haible  <bruno@clisp.org>
17834
17835         gettext: Clarify the needed programmer actions.
17836         * modules/gettext (Notice): New field.
17837         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
17838
17839 2011-04-16  Bruno Haible  <bruno@clisp.org>
17840
17841         strchrnul: Tweak last commit.
17842         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
17843         bug.
17844         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
17845         as in _GL_FUNCDECL_SYS.
17846         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
17847         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
17848
17849 2011-04-15  Eric Blake  <eblake@redhat.com>
17850
17851         strchrnul: work around cygwin bug
17852         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
17853         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
17854         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
17855         * modules/string (Makefile.am): Substitute it.
17856         * lib/string.in.h (strchrnul): Use it.
17857
17858 2011-04-15  Bruno Haible  <bruno@clisp.org>
17859
17860         Don't require lib/stdio-write.c when only module 'stdio' is used.
17861         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
17862         invocation.
17863         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
17864
17865 2011-04-14  Bruno Haible  <bruno@clisp.org>
17866
17867         Support non-blocking pipe I/O in read() on native Windows.
17868         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
17869         (read): New declaration.
17870         * lib/read.c: New file.
17871         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
17872         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
17873         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
17874         vscanf): New declarations.
17875         * lib/stdio-read.c: New file.
17876         * m4/read.m4: New file.
17877         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
17878         REPLACE_READ.
17879         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
17880         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
17881         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
17882         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
17883         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
17884         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
17885         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
17886         * modules/read: New file.
17887         * modules/nonblocking (Files): Add lib/stdio-read.c.
17888         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
17889         * modules/stdio (Makefile.am): Substitute 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/pread (Depends-on): Add read.
17893         * modules/safe-read (Depends-on): Likewise.
17894         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
17895         gets, scanf, vfscanf, vscanf): Verify signatures.
17896         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
17897         problem with non-blocking pipes.
17898         * doc/posix-functions/fgetc.texi: Likewise.
17899         * doc/posix-functions/fgets.texi: Likewise.
17900         * doc/posix-functions/fread.texi: Likewise.
17901         * doc/posix-functions/fscanf.texi: Likewise.
17902         * doc/posix-functions/getc.texi: Likewise.
17903         * doc/posix-functions/getchar.texi: Likewise.
17904         * doc/posix-functions/gets.texi: Likewise.
17905         * doc/posix-functions/scanf.texi: Likewise.
17906         * doc/posix-functions/vfscanf.texi: Likewise.
17907         * doc/posix-functions/vscanf.texi: Likewise.
17908
17909 2011-04-14  Bruno Haible  <bruno@clisp.org>
17910
17911         Support non-blocking pipe I/O in write() on native Windows.
17912         * lib/write.c (rpl_write): Split a write request that failed merely
17913         because the byte count was larger than the pipe buffer's size.
17914         * doc/posix-functions/write.texi: Mention the problem with large byte
17915         counts.
17916
17917 2011-04-14  Bruno Haible  <bruno@clisp.org>
17918
17919         wchar: Ensure that wchar_t gets defined on uClibc.
17920         * lib/wchar.in.h: On uClibc, include <stddef.h>.
17921         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
17922
17923 2011-04-13  Bruno Haible  <bruno@clisp.org>
17924
17925         safe-write, full-read: Avoid unnecessary compilation units.
17926         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
17927         (Depends-on): Remove safe-read. Add ssize_t.
17928         * modules/full-read (Files): Add lib/full-write.c.
17929         (Depends-on): Add full-write.
17930
17931 2011-04-13  Bruno Haible  <bruno@clisp.org>
17932
17933         Support non-blocking pipe I/O and SIGPIPE in pwrite().
17934         * modules/pwrite (Depends-on): Add 'write'.
17935
17936 2011-04-13  Bruno Haible  <bruno@clisp.org>
17937
17938         Support non-blocking pipe I/O in write() on native Windows.
17939         * lib/unistd.in.h (write): Enable replacement also if
17940         GNULIB_UNISTD_H_NONBLOCKING is 1.
17941         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
17942         (rpl_write): When failing to write on a non-blocking pipe, change
17943         errno from ENOSPC to EAGAIN.
17944         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
17945         putchar, puts, vfprintf, vprintf): Enable replacement also if
17946         GNULIB_STDIO_H_NONBLOCKING is 1.
17947         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
17948         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
17949         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
17950         CALL_WITH_SIGPIPE_EMULATION.
17951         (CALL_WITH_SIGPIPE_EMULATION): Use them.
17952         * m4/nonblocking.m4: New file.
17953         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
17954         for non-blocking I/O support.
17955         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17956         GNULIB_UNISTD_H_NONBLOCKING.
17957         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
17958         required for non-blocking I/O support.
17959         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
17960         * modules/nonblocking (Files): Add m4/nonblocking.m4,
17961         lib/stdio-write.c, m4/asm-underscore.m4.
17962         (Depends-on): Add stdio, unistd.
17963         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
17964         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
17965         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
17966         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
17967         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
17968         problem with non-blocking pipes.
17969         * doc/posix-functions/fputc.texi: Likewise.
17970         * doc/posix-functions/fputs.texi: Likewise.
17971         * doc/posix-functions/fwrite.texi: Likewise.
17972         * doc/posix-functions/printf.texi: Likewise.
17973         * doc/posix-functions/putc.texi: Likewise.
17974         * doc/posix-functions/putchar.texi: Likewise.
17975         * doc/posix-functions/puts.texi: Likewise.
17976         * doc/posix-functions/vfprintf.texi: Likewise.
17977         * doc/posix-functions/vprintf.texi: Likewise.
17978         * doc/posix-functions/write.texi: Likewise.
17979
17980 2011-04-10  Jim Meyering  <meyering@redhat.com>
17981
17982         maint.mk: prohibit doubled words
17983         Detect them also when they're separated by a newline.
17984         There are 3 ways to customize it:
17985           - disable the test on a per file basis, as usual with rules using
17986             $(VC_LIST_EXCEPT)
17987           - replace the default doubled-word-selecting regexp (affects all files)
17988           - ignore a particular file-vs-doubled-word match
17989         I nearly used that last one to ignore the "is is" match in
17990         coreutils' NEWS file, since the text was "ls -is is ..."
17991         To do that, I would have added this line to cfg.mk:
17992           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
17993         but it would have ignored any "is is" match in NEWS.
17994         Low probability, but still...
17995         Instead, I changed the text, slightly:
17996           -  ls -is is now consistent with ls -lis in ignoring values returned
17997           +  "ls -is" is now consistent with ls -lis in ignoring values returned
17998         * top/maint.mk (prohibit_double_word_RE_): Provide default.
17999         (prohibit_doubled_word_): Define.
18000         (sc_prohibit_doubled_word): New rule.
18001         (sc_prohibit_the_the): Remove.  Subsumed by the above.
18002
18003 2011-04-10  Jim Meyering  <meyering@redhat.com>
18004
18005         maint: fix doubled-word typo in comment
18006         * m4/gethostname.m4: s/is is/it is/
18007         * m4/getdomainname.m4: Likewise.
18008
18009 2011-04-10  Jim Meyering  <meyering@redhat.com>
18010
18011         maint: remove doubled word: s/it it/it/
18012         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
18013
18014 2011-04-10  Jim Meyering  <meyering@redhat.com>
18015
18016         maint.mk: remove useless semicolon and backslash
18017         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
18018         semicolon and backslash.
18019
18020 2011-04-10  Bruno Haible  <bruno@clisp.org>
18021
18022         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
18023         * modules/stdint-tests (Depends-on): Add wchar.
18024
18025 2011-04-10  Jim Meyering  <meyering@redhat.com>
18026
18027         maint: remove doubled words in comments, e.g., s/a a/a/
18028         * lib/strptime.c (day_of_the_week): s/the the/the/
18029         * tests/test-chown.h (test_chown): s/a a/a/
18030
18031         test-chown.h: correct a cast
18032         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
18033         when the destination is a stat.st_gid.
18034
18035 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
18036
18037         getaddrinfo: Fix test for sa_len member.
18038         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
18039         include <sys/types.h> before <sys/socket.h>.
18040
18041 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
18042
18043         maint: change "can not" to "cannot"
18044         * doc/posix-functions/iconv.texi (iconv): This one crossed line
18045         boundaries.
18046
18047 2011-04-09  Jim Meyering  <meyering@redhat.com>
18048
18049         maint: change "a a" to "a"
18050         * tests/test-lchown.h (test_lchown): s/a a/a/
18051
18052         maint.mk: prohibit \<the the\>
18053         * top/maint.mk (sc_prohibit_the_the): New rule.
18054
18055         maint: fix "the the" in comment
18056         * lib/count-one-bits.h: s/the the/the/
18057
18058         maint: change "can not" to "cannot"
18059         But do not change the occurrences in maintain.texi or in
18060         build-aux/po/Makefile.in.in, which I presume comes from gettext.
18061         * doc/gnulib-tool.texi: s/can not/cannot/
18062         * doc/posix-functions/accept.texi (accept): Likewise.
18063         * doc/posix-functions/socket.texi (socket): Likewise.
18064         * lib/mbrtowc.c: Likewise.
18065
18066         maint.mk: prohibit use of "can not"
18067         * top/maint.mk (sc_prohibit_can_not): New rule.
18068         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
18069
18070 2011-04-09  Bruno Haible  <bruno@clisp.org>
18071
18072         careadlinkat: Guard against misuse of careadlinkatcwd.
18073         * lib/careadlinkat.c: Include <stdlib.h>.
18074         (careadlinkatcwd): Check that the fd argument is as expected.
18075
18076 2011-04-09  Bruno Haible  <bruno@clisp.org>
18077
18078         careadlinkat: Use common coding style.
18079         * lib/careadlinkat.c: Move gnulib includes after system includes.
18080
18081 2011-04-09  Bruno Haible  <bruno@clisp.org>
18082
18083         careadlinkat: Clarify specification.
18084         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
18085         (careadlinkatcwd): Add comment.
18086         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
18087
18088 2011-04-09  Bruno Haible  <bruno@clisp.org>
18089
18090         areadlinkat: Avoid link error on many platforms.
18091         * modules/areadlinkat (Depends-on): Add areadlink.
18092
18093 2011-04-09  Bruno Haible  <bruno@clisp.org>
18094
18095         allocator, careadlinkat: Fix double-inclusion guard.
18096         * lib/allocator.h: Fix double-inclusion guard.
18097         * lib/careadlinkat.h: Likewise.
18098
18099 2011-04-09  Bruno Haible  <bruno@clisp.org>
18100
18101         relocatable-prog-wrapper: Update after module 'areadlink' changed.
18102         * lib/relocwrapper.c: Update dependencies hierarchy.
18103         * build-aux/install-reloc: Update list of files to be compiled.
18104         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
18105         lib/allocator.[hc].
18106
18107 2011-04-08  Eric Blake  <eblake@redhat.com>
18108
18109         strftime: silence gnulib-tool warning
18110         * modules/strftime-tests (Depends-on): Drop automatic dependency.
18111
18112 2011-04-08  Bruno Haible  <bruno@clisp.org>
18113
18114         verify: Fix syntax error with GCC 4.6 in C++ mode.
18115         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
18116         (HAVE_STATIC_ASSERT): New macro.
18117         (verify_true, verify): Use 'static_assert' if it is supported and
18118         '_Static_assert' is not supported.
18119
18120 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
18121
18122         allocator: New module.
18123         * modules/allocator, lib/allocator.c: New files.
18124         * lib/allocator.h (stdlib_allocator): New decl.
18125         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
18126         Remove.  Do not include <stdlib.h>.
18127         (careadlinkat): Use stdlib_allocator instead of rolling our own.
18128         * modules/careadlinkat (Files): Remove lib/allocator.h.
18129         (Depends-on): Add allocator.
18130
18131         stdlib: let modules use system malloc, realloc
18132         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
18133         if !_GL_USE_STDLIB_ALLOC.
18134         (malloc, realloc): Limit this change to a smaller scope.
18135
18136         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
18137         (malloc, realloc): Don't #undef; no longer needed.
18138         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18139         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18140         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
18141         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18142         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18143         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18144         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18145         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
18146
18147         careadlinkat: rename members to avoid problem
18148         * lib/allocator.h (struct allocator): Rename members from
18149         malloc/realloc to allocate/reallocate, to avoid problems if malloc
18150         and realloc are #define'd.  Reported by Eric Blake in
18151         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
18152         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
18153
18154 2011-04-08  Eric Blake  <eblake@redhat.com>
18155
18156         nonblocking: reduce dependency
18157         * tests/test-nonblocking.c: Only test sockets when in use.
18158         * modules/nonblocking-tests (Depends-on): Drop socket.
18159         (Makefile.am): Link even if sockets are not present.
18160         * modules/pipe2-tests (Makefile.am): Likewise.
18161         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
18162
18163         pipe2: fix O_NONBLOCK support on mingw
18164         * modules/pipe2 (Depends-on): Add nonblocking.
18165         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
18166         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
18167         * tests/test-nonblocking.c (main): Likewise.
18168         * modules/pipe2-tests (Makefile.am): Avoid link failure.
18169
18170         fcntl-h: fix O_ACCMODE on cygwin
18171         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
18172         * lib/fcntl.in.h (O_ACCMODE): Fix it.
18173
18174         pipe-filter: drop O_NONBLOCK workarounds
18175         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
18176         * modules/pipe-filter-ii (Depends-on): Likewise.
18177         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
18178
18179         nonblocking: provide O_NONBLOCK for mingw
18180         * modules/nonblocking (Depends-on): Add open.
18181         (configure.ac): Set new witness macro.
18182         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
18183         * modules/fcntl-h (Makefile.am): Substitute it.
18184         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
18185         nonblocking module is in use.
18186         * lib/nonblocking.c: Adjust portability test.
18187         * lib/open.c (open): Don't let native open see gnulib flag.
18188         * tests/test-fcntl-h.c (main): Enhance test.
18189         * tests/test-open.h (test_open): Likewise.
18190         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
18191
18192         careadlinkat: fix compilation error on mingw
18193         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
18194         within struct allocator.
18195
18196 2011-04-06  Eric Blake  <eblake@redhat.com>
18197
18198         binary-io: relicense under LGPLv2+
18199         * modules/binary-io (License): Relax to LGPLv2+.
18200         Requested for libvirt, and required by pipe2.
18201
18202 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
18203
18204         verify: use _Static_assert if available
18205         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
18206         (verify_true, verify): Use it if available.  This generates better
18207         diagnostics with GCC 4.6.0 and later.
18208
18209 2011-04-05  Bruno Haible  <bruno@clisp.org>
18210
18211         Remove leftover generated .h files after config.status changed.
18212
18213         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
18214         GL_GENERATE_ALLOCA_H.
18215         * modules/alloca-opt (Makefile.am): Remove alloca.h if
18216         GL_GENERATE_ALLOCA_H evaluates to false.
18217
18218         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
18219         GL_GENERATE_ARGZ_H.
18220         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
18221         evaluates to false.
18222
18223         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
18224         GL_GENERATE_BYTESWAP_H.
18225         * modules/byteswap (Makefile.am): Remove byteswap.h if
18226         GL_GENERATE_BYTESWAP_H evaluates to false.
18227
18228         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
18229         GL_GENERATE_ERRNO_H.
18230         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
18231         evaluates to false.
18232
18233         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
18234         GL_GENERATE_FLOAT_H.
18235         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
18236         evaluates to false.
18237
18238         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
18239         GL_GENERATE_FNMATCH_H.
18240         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
18241         GL_GENERATE_FNMATCH_H evaluates to false.
18242
18243         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
18244         GL_GENERATE_GLOB_H.
18245         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
18246         evaluates to false.
18247
18248         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
18249         automake conditional GL_GENERATE_ICONV_H.
18250         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
18251         evaluates to false.
18252
18253         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
18254         GL_GENERATE_NETINET_IN_H.
18255         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
18256         GL_GENERATE_NETINET_IN_H evaluates to false.
18257
18258         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
18259         conditional GL_GENERATE_PTHREAD_H.
18260         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
18261         * modules/pthread (Makefile.am): Remove pthread.h if
18262         GL_GENERATE_PTHREAD_H evaluates to false.
18263
18264         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
18265         GL_GENERATE_SCHED_H.
18266         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
18267         evaluates to false.
18268
18269         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
18270         conditional GL_GENERATE_SELINUX_CONTEXT_H.
18271         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
18272         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
18273
18274         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
18275         GL_GENERATE_STDARG_H.
18276         * modules/stdarg (Makefile.am): Remove stdarg.h if
18277         GL_GENERATE_STDARG_H evaluates to false.
18278
18279         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
18280         GL_GENERATE_STDBOOL_H.
18281         * modules/stdbool (Makefile.am): Remove stdbool.h if
18282         GL_GENERATE_STDBOOL_H evaluates to false.
18283
18284         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
18285         conditional GL_GENERATE_STDDEF_H.
18286         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
18287         * modules/stddef (Makefile.am): Remove stddef.h if
18288         GL_GENERATE_STDDEF_H evaluates to false.
18289
18290         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
18291         GL_GENERATE_STDINT_H.
18292         * modules/stdint (Makefile.am): Remove stdint.h if
18293         GL_GENERATE_STDINT_H evaluates to false.
18294
18295         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
18296         GL_GENERATE_SYSEXITS_H.
18297         * modules/sysexits (Makefile.am): Remove sysexits.h if
18298         GL_GENERATE_SYSEXITS_H evaluates to false.
18299
18300         Reported by Karl Berry and Ralf Wildenhues.
18301
18302 2011-04-05  Bruno Haible  <bruno@clisp.org>
18303
18304         Ensure to rebuild generated .h files when config.status has changed.
18305         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
18306         config.status.
18307         * modules/ctype (Makefile.am): Likewise.
18308         * modules/dirent (Makefile.am): Likewise.
18309         * modules/errno (Makefile.am): Likewise.
18310         * modules/fcntl-h (Makefile.am): Likewise.
18311         * modules/float (Makefile.am): Likewise.
18312         * modules/getopt-posix (Makefile.am): Likewise.
18313         * modules/glob (Makefile.am): Likewise.
18314         * modules/iconv-h (Makefile.am): Likewise.
18315         * modules/inttypes (Makefile.am): Likewise.
18316         * modules/langinfo (Makefile.am): Likewise.
18317         * modules/locale (Makefile.am): Likewise.
18318         * modules/math (Makefile.am): Likewise.
18319         * modules/netdb (Makefile.am): Likewise.
18320         * modules/netinet_in (Makefile.am): Likewise.
18321         * modules/poll-h (Makefile.am): Likewise.
18322         * modules/pthread (Makefile.am): Likewise.
18323         * modules/pty (Makefile.am): Likewise.
18324         * modules/sched (Makefile.am): Likewise.
18325         * modules/search (Makefile.am): Likewise.
18326         * modules/selinux-h (Makefile.am): Likewise.
18327         * modules/signal (Makefile.am): Likewise.
18328         * modules/spawn (Makefile.am): Likewise.
18329         * modules/stdarg (Makefile.am): Likewise.
18330         * modules/stdbool (Makefile.am): Likewise.
18331         * modules/stddef (Makefile.am): Likewise.
18332         * modules/stdint (Makefile.am): Likewise.
18333         * modules/stdio (Makefile.am): Likewise.
18334         * modules/stdlib (Makefile.am): Likewise.
18335         * modules/string (Makefile.am): Likewise.
18336         * modules/strings (Makefile.am): Likewise.
18337         * modules/sys_file (Makefile.am): Likewise.
18338         * modules/sys_ioctl (Makefile.am): Likewise.
18339         * modules/sys_select (Makefile.am): Likewise.
18340         * modules/sys_socket (Makefile.am): Likewise.
18341         * modules/sys_stat (Makefile.am): Likewise.
18342         * modules/sys_time (Makefile.am): Likewise.
18343         * modules/sys_times (Makefile.am): Likewise.
18344         * modules/sys_utsname (Makefile.am): Likewise.
18345         * modules/sys_wait (Makefile.am): Likewise.
18346         * modules/sysexits (Makefile.am): Likewise.
18347         * modules/termios (Makefile.am): Likewise.
18348         * modules/time (Makefile.am): Likewise.
18349         * modules/unistd (Makefile.am): Likewise.
18350         * modules/wchar (Makefile.am): Likewise.
18351         * modules/wctype-h (Makefile.am): Likewise.
18352         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
18353
18354 2011-04-05  Bruno Haible  <bruno@clisp.org>
18355
18356         pipe2: Relicense under LGPLv2+.
18357         * modules/pipe2 (License): Change to LGPLv2+.
18358         Requested by Eric Blake, for libvirt.
18359
18360 2011-04-05  Bruce Korb  <bkorb@gnu.org>
18361
18362         bootstrap: compute gnulib_extra_files after updating build_aux
18363         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
18364         change build_aux or also supply gnulib_extra_files.  Handle correctly.
18365
18366 2011-04-05  Eric Blake  <eblake@redhat.com>
18367
18368         bootstrap: preserve git whitelist item sorting
18369         * build-aux/bootstrap (sort_patterns): New function.
18370         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
18371
18372 2011-04-05  Simon Josefsson  <simon@josefsson.org>
18373
18374         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
18375         sc_space_tab check.
18376
18377 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
18378
18379         areadlink, areadlinkat: rewrite in terms of careadlinkat
18380         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
18381         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
18382         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
18383         (malloc, realloc): Remove #undefs.
18384         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
18385         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
18386         readlink, ssize_t, stdint, unistd.
18387         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
18388         areadlink, stdint.
18389
18390         careadlinkat: new module
18391         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
18392         * modules/careadlinkat: New files, written by me with
18393         a review and feedback from Ben Pfaff in
18394         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
18395
18396 2011-04-01  Bruno Haible  <bruno@clisp.org>
18397
18398         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
18399         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
18400         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
18401         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
18402         Reported by Bruce Korb <bruce.korb@gmail.com>.
18403
18404 2011-04-01  Bruno Haible  <bruno@clisp.org>
18405
18406         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
18407         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
18408         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
18409         * modules/wcpcpy (Depends-on): Add extensions.
18410         * modules/wcpncpy (Depends-on): Likewise.
18411         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
18412         systems.
18413         * doc/posix-functions/wcpncpy.texi: Likewise.
18414         * doc/posix-functions/wcwidth.texi: Likewise.
18415
18416 2011-03-31  Eric Blake  <eblake@redhat.com>
18417
18418         nonblocking: fix mingw test failures
18419         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
18420         non-blocking flag on regular file.
18421         (get_nonblocking_flag): Set errno on invalid fd.
18422         * tests/test-nonblocking.c (main): Avoid test failure on
18423         directories if fchdir is not active.
18424         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
18425
18426 2011-03-31  Bruno Haible  <bruno@clisp.org>
18427
18428         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
18429         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
18430         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
18431         Reported by Simon Josefsson <simon@josefsson.org>.
18432
18433 2011-03-31  Bruno Haible  <bruno@clisp.org>
18434         and Eric Blake  <eblake@redhat.com>
18435
18436         nonblocking: new module
18437         * modules/nonblocking: New module.
18438         * modules/nonblocking-tests: Likewise.
18439         * lib/nonblocking.h: New file.
18440         * lib/nonblocking.c: Likewise.
18441         * tests/test-nonblocking.c: New test.
18442         * lib/ioctl.c (ioctl) [mingw]: Update comment.
18443
18444 2011-03-30  Bruno Haible  <bruno@clisp.org>
18445
18446         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
18447         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
18448         instead of 'printf' format for GCC >= 4.4.
18449         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
18450         (fprintf, printf, vfprintf, vprintf): Declare with
18451         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
18452         the system's vfprintf() function.
18453         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
18454
18455 2011-03-30  Eric Blake  <eblake@redhat.com>
18456
18457         passfd: fix scoping bug
18458         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
18459         before sendmsg/recvmsg.
18460
18461         passfd: standardize coding conventions
18462         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
18463         can be learned at compile time.
18464         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
18465         ifdefs.
18466         (sendfd, recvfd): Follow gnulib code conventions.
18467
18468         passfd: fix incorrect sendmsg arguments
18469         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
18470         incorrect msg_controllen value.
18471         * modules/passfd-tests (Depends-on): Check for alarm.
18472         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
18473         Reported by Bastien ROUCARIES.
18474
18475 2011-03-30  Bruno Haible  <bruno@clisp.org>
18476
18477         c-strcasestr: Relicense under LGPLv2+.
18478         * modules/c-strcasestr (License): Change to LGPLv2+.
18479         Requested by Eric Blake, for libvirt.
18480
18481 2011-03-30  Simon Josefsson  <simon@josefsson.org>
18482
18483         * users.txt: Add libidn2.  Fix libtasn1 link.
18484
18485 2011-03-30  Jim Meyering  <meyering@redhat.com>
18486
18487         tests: readlink* ("",... fails with EINVAL on newer kernels
18488         readlink and readlinkat have typically failed with ENOENT for
18489         the invalid, empty file name,  "".  However, with the advent
18490         of linux-2.6.39, they fail with EINVAL.
18491         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
18492         when operating on the empty file name.
18493         * tests/test-readlink.h (test_readlink): Likewise.
18494
18495 2011-03-29  Bruno Haible  <bruno@clisp.org>
18496
18497         Relicense some modules under LGPLv2+, for libidn2.
18498         * modules/array-mergesort (License): Change to LGPLv2+.
18499         * modules/c-strcaseeq (License): Likewise.
18500         * modules/striconveh (License): Likewise.
18501         * modules/striconveha (License): Likewise.
18502         * modules/uniconv/base (License): Likewise.
18503         * modules/uniconv/u8-conv-from-enc (License): Likewise.
18504         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
18505         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
18506         * modules/unictype/base (License): Likewise.
18507         * modules/unictype/bidiclass-of (License): Likewise.
18508         * modules/unictype/category-M (License): Likewise.
18509         * modules/unictype/category-none (License): Likewise.
18510         * modules/unictype/category-of (License): Likewise.
18511         * modules/unictype/category-test (License): Likewise.
18512         * modules/unictype/category-test-withtable (License): Likewise.
18513         * modules/unictype/combining-class (License): Likewise.
18514         * modules/unictype/joiningtype-of (License): Likewise.
18515         * modules/unictype/scripts (License): Likewise.
18516         * modules/uninorm/base (License): Likewise.
18517         * modules/uninorm/canonical-decomposition (License): Likewise.
18518         * modules/uninorm/composition (License): Likewise.
18519         * modules/uninorm/decompose-internal (License): Likewise.
18520         * modules/uninorm/decomposition-table (License): Likewise.
18521         * modules/uninorm/nfc (License): Likewise.
18522         * modules/uninorm/nfd (License): Likewise.
18523         * modules/uninorm/u32-normalize (License): Likewise.
18524         * modules/unistr/base (License): Likewise.
18525         * modules/unistr/u32-cpy (License): Likewise.
18526         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
18527         * modules/unistr/u32-to-u8 (License): Likewise.
18528         * modules/unistr/u32-uctomb (License): Likewise.
18529         * modules/unistr/u8-check (License): Likewise.
18530         * modules/unistr/u8-mblen (License): Likewise.
18531         * modules/unistr/u8-mbtouc (License): Likewise.
18532         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
18533         * modules/unistr/u8-mbtoucr (License): Likewise.
18534         * modules/unistr/u8-prev (License): Likewise.
18535         * modules/unistr/u8-strlen (License): Likewise.
18536         * modules/unistr/u8-to-u32 (License): Likewise.
18537         * modules/unistr/u8-uctomb (License): Likewise.
18538         * modules/unitypes (License): Likewise.
18539         Requested by Simon Josefsson.
18540
18541 2011-03-29  Simon Josefsson  <simon@josefsson.org>
18542
18543         lib-symbol-visibility: Add a notice.
18544         * modules/lib-symbol-visibility (Notice): New field.
18545
18546 2011-03-29  Bruno Haible  <bruno@clisp.org>
18547
18548         getaddrinfo: Doc fix.
18549         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
18550         section "fixed in Gnulib".
18551
18552 2011-03-28  Simon Josefsson  <simon@josefsson.org>
18553
18554         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
18555         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
18556
18557 2011-03-26  Bruno Haible  <bruno@clisp.org>
18558
18559         unictype/property-byname: Reduce the number of load-time relocations.
18560         * lib/unictype/pr_byname.c: Include <stdlib.h>.
18561         (UC_PROPERTY_INDEX_*): New enumeration values.
18562         (uc_property_byname): Convert an index from the lookup table to an
18563         uc_property_t.
18564         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
18565         values.
18566
18567 2011-03-26  Bruno Haible  <bruno@clisp.org>
18568
18569         unictype/property-byname: Allow omitted word separators and aliases.
18570         * lib/unictype/pr_byname.gperf: Add property names without word
18571         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
18572         for 'space'.
18573
18574 2011-03-26  Bruno Haible  <bruno@clisp.org>
18575
18576         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
18577         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
18578         also hyphens to space.
18579         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
18580         without spaces.
18581         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
18582
18583 2011-03-26  Bruno Haible  <bruno@clisp.org>
18584
18585         unictype/joiningtype-byname: Recognize long names as well.
18586         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
18587         a long name.
18588         * lib/unictype/joiningtype_byname.c: Include <string.h>,
18589         unictype/joiningtype_byname.h.
18590         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
18591         * lib/unictype/joiningtype_byname.gperf: New file.
18592         * modules/unictype/joiningtype-byname (Files): Add
18593         lib/unictype/joiningtype_byname.gperf.
18594         (Depends-on): Add gperf.
18595         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
18596         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
18597         long names.
18598
18599         Tests for module 'unictype/joiningtype-longname'.
18600         * modules/unictype/joiningtype-longname-tests: New file.
18601         * tests/unictype/test-joiningtype_longname.c: New file.
18602
18603         New module 'unictype/joiningtype-longname'.
18604         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
18605         * lib/unictype/joiningtype_longname.c: New file.
18606         * modules/unictype/joiningtype-longname: New file.
18607         * modules/unictype/joiningtype-all (Depends-on): Add
18608         unictype/joiningtype-longname.
18609
18610 2011-03-26  Bruno Haible  <bruno@clisp.org>
18611
18612         unictype/bidiclass-byname: Recognize long names as well.
18613         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
18614         name.
18615         * lib/unictype/bidi_byname.c: Include <string.h>,
18616         unictype/bidi_byname.h.
18617         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
18618         * lib/unictype/bidi_byname.gperf: New file.
18619         * modules/unictype/bidiclass-byname (Files): Add
18620         lib/unictype/bidi_byname.gperf.
18621         (Depends-on): Add gperf.
18622         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
18623         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
18624         long names.
18625
18626         Tests for module 'unictype/bidiclass-longname'.
18627         * modules/unictype/bidiclass-longname-tests: New file.
18628         * tests/unictype/test-bidi_longname.c: New file.
18629
18630         New module 'unictype/bidiclass-longname'.
18631         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
18632         * lib/unictype/bidi_longname.c: New file.
18633         * modules/unictype/bidiclass-longname: New file.
18634         * modules/unictype/bidiclass-all (Depends-on): Add
18635         unictype/bidiclass-longname.
18636
18637 2011-03-26  Bruno Haible  <bruno@clisp.org>
18638
18639         unictype/bidi*: Rename modules.
18640         * modules/unictype/bidiclass-all: Renamed from
18641         modules/unictype/bidicategory-all.
18642         * modules/unictype/bidiclass-name: Renamed from
18643         modules/unictype/bidiclass-name.
18644         (Description): Update.
18645         * modules/unictype/bidiclass-name-tests: Renamed from
18646         modules/unictype/bidicategory-name-tests.
18647         * modules/unictype/bidiclass-byname: Renamed from
18648         modules/unictype/bidicategory-byname.
18649         (Description): Update.
18650         * modules/unictype/bidiclass-byname-tests: Renamed from
18651         modules/unictype/bidicategory-byname-tests.
18652         * modules/unictype/bidiclass-of: Renamed from
18653         modules/unictype/bidicategory-of.
18654         (Description): Update.
18655         * modules/unictype/bidiclass-of-tests: Renamed from
18656         modules/unictype/bidicategory-of-tests.
18657         * modules/unictype/bidiclass-test: Renamed from
18658         modules/unictype/bidicategory-test.
18659         (Description): Update.
18660         * modules/unictype/bidiclass-test-tests: Renamed from
18661         modules/unictype/bidicategory-test-tests.
18662         * modules/unictype/bidicategory-all: New file, a simple redirection.
18663         * modules/unictype/bidicategory-name: Likewise.
18664         * modules/unictype/bidicategory-byname: Likewise.
18665         * modules/unictype/bidicategory-of: Likewise.
18666         * modules/unictype/bidicategory-test: Likewise.
18667         * modules/unictype/property-bidi-* (Dependencies): Update.
18668         * lib/unictype/bidi_*.c: Update comment.
18669
18670 2011-03-26  Bruno Haible  <bruno@clisp.org>
18671
18672         unictype/bidi*: Rename functions, part 2.
18673         * modules/unictype/bidicategory-name (configure.ac): Update required
18674         libunistring version.
18675         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
18676
18677 2011-03-25  Bruno Haible  <bruno@clisp.org>
18678
18679         New module 'unictype/combining-class-all'.
18680         * modules/unictype/combining-class-all: New file.
18681
18682         Tests for module 'unictype/combining-class-byname'.
18683         * modules/unictype/combining-class-byname-tests: New file.
18684         * tests/unictype/test-combiningclass_byname.c: New file.
18685
18686         New module 'unictype/combining-class-byname'.
18687         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
18688         * lib/unictype/combiningclass_byname.c: New file.
18689         * lib/unictype/combiningclass_byname.gperf: New file.
18690         * modules/unictype/combining-class-byname: New file.
18691
18692         Tests for module 'unictype/combining-class-longname'.
18693         * modules/unictype/combining-class-longname-tests: New file.
18694         * tests/unictype/test-combiningclass_longname.c: New file.
18695
18696         New module 'unictype/combining-class-longname'.
18697         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
18698         * lib/unictype/combiningclass_longname.c: New file.
18699         * modules/unictype/combining-class-longname: New file.
18700
18701         Tests for module 'unictype/combining-class-name'.
18702         * modules/unictype/combining-class-name-tests: New file.
18703         * tests/unictype/test-combiningclass_name.c: New file.
18704
18705         New module 'unictype/combining-class-name'.
18706         * lib/unictype.in.h (uc_combining_class_name): New declaration.
18707         * lib/unictype/combiningclass_name.c: New file.
18708         * modules/unictype/combining-class-name: New file.
18709
18710 2011-03-25  Bruno Haible  <bruno@clisp.org>
18711
18712         unictype/combining-class: Rename source files.
18713         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
18714         of unictype/combining.h.
18715         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
18716         Update.
18717         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
18718         * modules/unictype/combining-class (Description): Fix.
18719         (Files, Makefile.am): Update.
18720         * tests/unictype/test-combiningclass.c: Renamed from
18721         tests/unictype/test-combining.c.
18722         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
18723
18724 2011-03-25  Bruno Haible  <bruno@clisp.org>
18725
18726         unictype: Update list of canonical combining classes.
18727         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
18728
18729 2011-03-25  Bruno Haible  <bruno@clisp.org>
18730
18731         unictype/category-byname: Recognize long names as well.
18732         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
18733         a long name.
18734         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
18735         unictype/categ_byname.h.
18736         (UC_CATEGORY_INDEX_*): New enumeration values.
18737         (uc_general_category_byname): Use uc_general_category_lookup and
18738         convert from index to value.
18739         * lib/unictype/categ_byname.gperf: New file.
18740         * modules/unictype/category-byname (Files): Add
18741         lib/unictype/categ_byname.gperf.
18742         (Depends-on): Add gperf.
18743         (Makefile.am): Add rule for generating unictype/categ_byname.h.
18744         * tests/unictype/test-categ_byname.c (main): Test the recognition of
18745         long names.
18746
18747         Tests for module 'unictype/category-longname'.
18748         * modules/unictype/category-longname-tests: New file.
18749         * tests/unictype/test-categ_longname.c: New file.
18750
18751         New module 'unictype/category-longname'.
18752         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
18753         * lib/unictype/categ_longname.c: New file.
18754         * modules/unictype/category-longname: New file.
18755         * modules/unictype/category-all (Depends-on): Add it.
18756
18757 2011-03-25  Bruno Haible  <bruno@clisp.org>
18758
18759         Tests for module 'unictype/category-LC'.
18760         * modules/unictype/category-LC-tests: New file.
18761         * tests/unictype/test-categ_LC.c: New file, automatically generated.
18762
18763         New module 'unictype/category-LC'.
18764         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
18765         (UC_CATEGORY_LC): New declaration.
18766         (UC_CASED_LETTER): New macro.
18767         * lib/gen-uni-tables.c (is_category_LC): New function.
18768         (output_categories): Also handle category LC.
18769         (UC_CATEGORY_MASK_LC): New enumeration value.
18770         (general_category_byname): Also handle category LC.
18771         * lib/unictype/categ_LC.c: New file.
18772         * lib/unictype/categ_LC.h: New file, automatically generated.
18773         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
18774         category LC.
18775         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
18776         * modules/unictype/category-LC: New file.
18777         * modules/unictype/category-byname (Depends-on): Add
18778         unictype/category-LC.
18779         * modules/unictype/category-all (Depends-on): Likewise.
18780
18781 2011-03-25  Eric Blake  <eblake@redhat.com>
18782
18783         xmalloc: revert yesterday's regression
18784         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
18785         realloc's underlying behavior (allowing allocation of zero-size
18786         objects, especially if malloc-gnu is also in use).
18787
18788 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
18789
18790         maint.mk: add missing version to VC-tag
18791         * top/maint.mk: git tag was missing actual tag name; add it.
18792
18793         valgrind: do leak checking, and exit with code 1 on error (not 0)
18794         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
18795         to VALGRIND.
18796
18797 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
18798
18799         posix-modules: say what it does.
18800         * posix-modules: Add a line to the --help output saying what it does.
18801
18802 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
18803
18804         xmalloc: Do not leak if underlying realloc is C99 compatible.
18805         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
18806         This avoids a leak on C99-based systems.  See
18807         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
18808
18809 2011-03-24  Eric Blake  <eblake@redhat.com>
18810
18811         realloc: document portability problem
18812         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
18813         passing 0 size to realloc.
18814
18815 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
18816
18817         doc: update users.txt
18818         * users.txt: Add cvsps, tmpwatch
18819
18820 2011-03-23  Matt Rice  <ratmice@gmail.com>
18821
18822         doc: update users.txt
18823         * users.txt: Add gdb.
18824
18825 2011-03-23  Jim Meyering  <meyering@redhat.com>
18826
18827         doc: update users.txt
18828         Looking through matches up to the following URL (there are still
18829         several more pages), I found several projects that use gnulib:
18830         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
18831         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
18832         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
18833
18834 2011-03-22  Bruno Haible  <bruno@clisp.org>
18835
18836         unictype/bidi*: Rename functions.
18837         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
18838         uc_bidi_class, uc_is_bidi_class): New declarations.
18839         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
18840         uc_bidi_category_byname.
18841         (uc_bidi_category_byname): New function.
18842         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
18843         u_bidi_category_name.
18844         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
18845         (uc_bidi_category_name): New function.
18846         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
18847         uc_bidi_category.
18848         (uc_bidi_category): New function.
18849         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
18850         uc_is_bidi_category. Invoke uc_bidi_class.
18851         (uc_is_bidi_category): New function.
18852         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
18853         instead of uc_bidi_category_byname.
18854         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
18855         instead of uc_bidi_category_name.
18856         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
18857         uc_bidi_category.
18858         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
18859         instead of uc_is_bidi_category.
18860
18861 2011-03-21  Bruno Haible  <bruno@clisp.org>
18862
18863         New module 'unictype/joininggroup-all'.
18864         * modules/unictype/joininggroup-all: New file.
18865
18866         Tests for module 'unictype/joininggroup-of'.
18867         * modules/unictype/joininggroup-of-tests: New file.
18868         * tests/unictype/test-joininggroup_of.c: New file.
18869         * tests/unictype/test-joininggroup_of.h: New file, automatically
18870         generated by gen-uni-tables.
18871
18872         New module 'unictype/joininggroup-of'.
18873         * modules/unictype/joininggroup-of: New file.
18874         * lib/unictype/joininggroup_of.c: New file.
18875         * lib/unictype/joininggroup_of.h: New file, automatically generated by
18876         gen-uni-tables.
18877
18878         Tests for module 'unictype/joininggroup-byname'.
18879         * modules/unictype/joininggroup-byname-tests: New file.
18880         * tests/unictype/test-joininggroup_byname.c: New file.
18881
18882         New module 'unictype/joininggroup-byname'.
18883         * modules/unictype/joininggroup-byname: New file.
18884         * lib/unictype/joininggroup_byname.c: New file.
18885         * lib/unictype/joininggroup_byname.gperf: New file.
18886
18887         Tests for module 'unictype/joininggroup-name'.
18888         * modules/unictype/joininggroup-name-tests: New file.
18889         * tests/unictype/test-joininggroup_name.c: New file.
18890
18891         New module 'unictype/joininggroup-name'.
18892         * modules/unictype/joininggroup-name: New file.
18893         * lib/unictype/joininggroup_name.c: New file.
18894         * lib/unictype/joininggroup_name.h: New file.
18895
18896         New module 'unictype/joiningtype-all'.
18897         * modules/unictype/joiningtype-all: New file.
18898
18899         Tests for module 'unictype/joiningtype-of'.
18900         * modules/unictype/joiningtype-of-tests: New file.
18901         * tests/unictype/test-joiningtype_of.c: New file.
18902         * tests/unictype/test-joiningtype_of.h: New file, automatically
18903         generated by gen-uni-tables.
18904
18905         New module 'unictype/joiningtype-of'.
18906         * modules/unictype/joiningtype-of: New file.
18907         * lib/unictype/joiningtype_of.c: New file.
18908         * lib/unictype/joiningtype_of.h: New file, automatically generated by
18909         gen-uni-tables.
18910
18911         Tests for module 'unictype/joiningtype-byname'.
18912         * modules/unictype/joiningtype-byname-tests: New file.
18913         * tests/unictype/test-joiningtype_byname.c: New file.
18914
18915         New module 'unictype/joiningtype-byname'.
18916         * modules/unictype/joiningtype-byname: New file.
18917         * lib/unictype/joiningtype_byname.c: New file.
18918
18919         Tests for module 'unictype/joiningtype-name'.
18920         * modules/unictype/joiningtype-name-tests: New file.
18921         * tests/unictype/test-joiningtype_name.c: New file.
18922
18923         New module 'unictype/joiningtype-name'.
18924         * modules/unictype/joiningtype-name: New file.
18925         * lib/unictype/joiningtype_name.c: New file.
18926
18927         unictype: Add support for Arabic shaping properties.
18928         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
18929         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
18930         declarations.
18931         (UC_JOINING_GROUP_*): New enumeration values.
18932         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
18933         declarations.
18934         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
18935         (unicode_joining_type): New variable.
18936         (UC_JOINING_GROUP_*): New enumeration values.
18937         (unicode_joining_group): New variable.
18938         (fill_arabicshaping, joining_type_as_c_identifier,
18939         output_joining_type_test, output_joining_type,
18940         joining_group_as_c_identifier, output_joining_group_test,
18941         output_joining_group): New functions.
18942         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
18943         fill_arabicshaping and output_joining_type_test, output_joining_type,
18944         output_joining_group_test, output_joining_group.
18945         Reported by Simon Josefsson.
18946
18947 2011-03-21  Jim Meyering  <meyering@redhat.com>
18948
18949         strftime: fix a bug in yesterday's change
18950         * lib/strftime.c (add): Accommodate width's initial value of -1.
18951         Otherwise, nstrftime would copy uninitialized data into
18952         the result buffer.
18953
18954 2011-03-21  Jim Meyering  <meyering@redhat.com>
18955
18956         tests: add strftime-tests module
18957         * tests/test-strftime.c: New file.
18958         * modules/strftime-tests: New module.
18959
18960 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
18961
18962         strftime: don't assume a byte count fits in 'int'
18963         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
18964         found this problem by static analysis, using gcc -Wstrict-overflow
18965         (GCC 4.5.2, x86-64).  This reported an optimization that depended
18966         on an integer overflow having undefined behavior, but it turns out
18967         that the argument is a size, which might not fit in 'int' anyway,
18968
18969 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
18970
18971         stdio: don't require ignore_value around fwrite
18972
18973         This patch works around libc bug 11959
18974         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
18975         Without this patch, applications must often write
18976         ignore_value (fwrite (...)) even though the ignore_value is
18977         not helpful here.  It's common to write many objects, using
18978         fwrite/printf/etc., and then use ferror to detect output error.
18979
18980         I considered making this patch optional, but decided against it,
18981         because libc is obviously being inconsistent here: there is no
18982         reason libc should insist that user code must inspect fwrite
18983         return's value without also insisting that it inspect printf's,
18984         putchar's, etc.  If user code wants to have a strict style where
18985         all these functions' values are checked (so that ferror need not
18986         be checked), we could add support for that style in a new gnulib
18987         module, but in the meantime it's better to be consistent and to
18988         support common usage.
18989
18990         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
18991         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
18992         that we are compiling in checking mode, and if not C++, and
18993         if not already wrapping fwrite for some other reason.
18994         (fwrite): #define to rpl_fwrite if the latter is defined.
18995
18996 2011-03-20  Bruno Haible  <bruno@clisp.org>
18997
18998         verror: Fix compilation error introduced on 2011-02-13.
18999         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
19000         instead of __attribute__.
19001         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19002
19003 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
19004             Bruno Haible  <bruno@clisp.org>
19005
19006         socklen: do not depend on sys_socket
19007         While trying to modify Emacs to use gnulib's socklen module,
19008         I discovered a circular dependency: socklen depends on sys_socket
19009         and vice versa.  Emacs can use socklen, but it does not need
19010         sys_socket because it has its own substitute for sys/socket.h.
19011         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
19012         gl_TYPE_SOCKLEN_T.
19013         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
19014         gl_PREREQ_SYS_H_SOCKET.
19015         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
19016         gl_PREREQ_SYS_H_SOCKET.
19017         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
19018         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
19019         * modules/socklen (Depends-on): Do not depend on sys_socket.
19020         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
19021
19022 2011-03-20  Jim Meyering  <meyering@redhat.com>
19023
19024         maint.mk: sort file names *after* new transformation
19025         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
19026         prefix would have led to an unwarranted failure in GNU parted.
19027         Sort after that transformation.
19028
19029 2011-03-19  Jim Meyering  <meyering@redhat.com>
19030
19031         maint.mk: fix po-file syntax-check rule
19032         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
19033         Patch by Bruno Haible.
19034
19035 2011-03-19  Bruno Haible  <bruno@clisp.org>
19036
19037         socklen: Update comment.
19038         * m4/socklen.m4: Update comment about platforms.
19039
19040 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
19041             Bruno Haible  <bruno@clisp.org>
19042
19043         inet_ntop, inet_pton: Simplify.
19044         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
19045         documented to provide socklen_t and we already depend on sys_socket.
19046         * modules/inet_pton (Depends-on): Likewise.
19047         * lib/arpa_inet.in.h: Adjust comment.
19048
19049 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
19050             Bruno Haible  <bruno@clisp.org>
19051
19052         netdb: Simplify.
19053         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
19054         documented to provide socklen_t and we already depend on sys_socket.
19055         * lib/netdb.in.h: Adjust comment.
19056
19057 2011-03-19  Bruno Haible  <bruno@clisp.org>
19058
19059         sys_socket, netdb: Document problem with socklen_t.
19060         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
19061         platforms.
19062         * doc/posix-headers/netdb.texi: Likewise.
19063
19064 2011-03-18  Eric Blake  <eblake@redhat.com>
19065
19066         maint.mk: let po check work in VPATH build
19067         * top/maint.mk (po_file): Allow cfg.mk override.
19068         (sc_po_check): Allow VPATH use.
19069         Reported by Jiri Denemark.
19070
19071 2011-03-16  Jim Meyering  <meyering@redhat.com>
19072
19073         maint.mk: allow fine-grained syntax-check exclusion via Make variables
19074         Before, you would have had to create one .x-sc_ file per rule in order
19075         to exempt offending files.  Now, you may instead use a Make variable --
19076         usually defined in cfg.mk -- whose name identifies the affected rule.
19077         * top/maint.mk (_sc_excl): Define.
19078         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
19079         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
19080
19081 2011-03-13  Bruno Haible  <bruno@clisp.org>
19082
19083         ignore-value tests: Avoid warnings.
19084         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
19085         empty for gcc < 3.4.
19086
19087 2011-03-13  Bruno Haible  <bruno@clisp.org>
19088
19089         passfd: Fix link error on Solaris.
19090         * modules/passfd (Description): Correct.
19091         (Depends-on): Add socketlib.
19092         (Link): New section.
19093         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
19094
19095 2011-03-13  Bruno Haible  <bruno@clisp.org>
19096
19097         passfd: Fix link error on AIX 5.2.
19098         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
19099
19100 2011-03-13  Bruno Haible  <bruno@clisp.org>
19101
19102         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
19103         * lib/sys_socket.in.h: Include <stddef.h>.
19104         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
19105         CMSG_FIRSTHDR. Remove unused variable.
19106
19107 2011-03-13  Bruno Haible  <bruno@clisp.org>
19108
19109         passfd: Fix compilation error on OpenBSD.
19110         * lib/passfd.c: Include <sys/uio.h>.
19111
19112 2011-03-13  Bruno Haible  <bruno@clisp.org>
19113
19114         passfd test: Fix warnings.
19115         * tests/test-passfd.c: Include <sys/wait.h>.
19116         (main): Fix typo.
19117
19118 2011-03-13  Bruno Haible  <bruno@clisp.org>
19119
19120         passfd module, part 4, tweaks.
19121         * tests/test-passfd.c: Reorder includes.
19122         (main): Fix perror and printf calls.
19123
19124 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
19125
19126         passfd module, part 4.
19127         * modules/passfd-tests: New file.
19128         * tests/test-passfd.c: New file.
19129
19130 2011-03-13  Jim Meyering  <meyering@redhat.com>
19131
19132         Makefile: rely on GNU make; derive syntax-check rule names
19133         Rather than requiring that each sc_ rule be listed as a dependent
19134         of "check", use features of GNU make to derive the list.
19135         * Makefile (syntax-check-rules): Define.
19136         (check): Depend on the new variable, not the hard-coded list.
19137
19138 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
19139             Bruno Haible  <bruno@clisp.org>
19140
19141         passfd module, part 3.
19142         * lib/passfd.h (recvfd): Add a flags argument.
19143         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
19144         (recvfd): Add a flags argument.
19145         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
19146         exists.
19147         * modules/passfd (Depends-on): Add cloexec.
19148         Suggested by Eric Blake.
19149
19150 2011-03-13  Bruno Haible  <bruno@clisp.org>
19151
19152         passfd module, part 2, tweaks.
19153         * modules/passfd (Files): Reorder.
19154         (Depends-on): Remove errno.
19155         (Include): Remove <sys/socket.h>, <sys/un.h>.
19156         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
19157         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
19158         specification header. Include <sys/socket.h> always. Don't include
19159         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
19160         (sendfd): Clarify that it sets errno when it fails.
19161         (recvfd): Fix specification.
19162
19163 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
19164
19165         passfd module, part 2.
19166         * modules/passfd: New file.
19167         * lib/passfd.h: New file.
19168         * lib/passfd.c: New file.
19169
19170 2011-03-12  Bruno Haible  <bruno@clisp.org>
19171
19172         wcswidth, mbswidth: Avoid integer overflow.
19173         * lib/wcswidth.c: Include <limits.h>.
19174         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
19175         * lib/mbswidth.c: Include <limits.h>.
19176         (mbsnwidth): Avoid 'int' overflow.
19177         Reported by Jim Meyering.
19178
19179 2011-03-12  Bruno Haible  <bruno@clisp.org>
19180
19181         futimens, utimensat: Avoid endless recursion on Solaris 10.
19182         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
19183         Solaris.
19184         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
19185         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
19186
19187 2011-03-11  Jim Meyering  <meyering@redhat.com>
19188
19189         maint.mk: relax a regexp to accommodate other formatting styles
19190         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
19191         between "ngettext" and the following "(".
19192
19193 2011-03-11  Pádraig Brady <P@draigBrady.com>
19194
19195         maint.mk: suppress a false positive warning
19196         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
19197         diagnostics are marked with ngettext.
19198
19199 2011-03-10  Eric Blake  <eblake@redhat.com>
19200
19201         wchar: add explicit dependencies, for Tru64
19202         * modules/mbmemcasecoll (Depends-on): Add wchar.
19203         * modules/mbtowc (Depends-on): Likewise.
19204         * modules/vasnprintf (Depends-on): Likewise.
19205         * modules/unistdio/u-printf-args (Depends-on): Likewise.
19206         * modules/wctomb (Depends-on): Likewise.
19207         Reported by Peter O'Gorman.
19208
19209 2011-03-08  Bruno Haible  <bruno@clisp.org>
19210
19211         passfd module, part 1, tweaks.
19212         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
19213         Improve indentation. Improve AC_MSG_CHECKING messages.
19214         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
19215         gl_SOCKET_FAMILIES.
19216
19217 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
19218
19219         passfd module, part 1.
19220         * m4/afunix.m4: New file.
19221         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
19222         sockets.
19223
19224 2011-03-08  Bruno Haible  <bruno@clisp.org>
19225
19226         regex-quote: New API.
19227         * lib/regex-quote.h: Include <stdbool.h>.
19228         (struct regex_quote_spec): New type.
19229         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
19230         New declarations.
19231         (regex_quote_length, regex_quote_copy, regex_quote): Take a
19232         'const struct regex_quote_spec *' argument.
19233         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
19234         (pcre_special): New constant.
19235         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
19236         New functions.
19237         (regex_quote_length, regex_quote_copy, regex_quote): Take a
19238         'const struct regex_quote_spec *' argument.
19239         * modules/regex-quote (Depends-on): Add stdbool.
19240         * tests/test-regex-quote.c (check): Update for new API. Add test for
19241         anchored results.
19242         * NEWS: Mention the API change.
19243         Reported by Reuben Thomas and Eric Blake.
19244
19245 2011-03-06  Bruno Haible  <bruno@clisp.org>
19246
19247         regex-quote: Fix creation of POSIX extended regular expressions.
19248         * lib/regex-quote.c (ere_special): Add grouping and alternation
19249         operators.
19250
19251 2011-03-05  Bruno Haible  <bruno@clisp.org>
19252
19253         doc: Improve doc regarding autopoint vs. gnulib.
19254         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
19255         disable autopoint while running autoreconf.
19256         Suggested by Ralf Wildenhues.
19257
19258 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19259
19260         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
19261         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
19262
19263 2011-03-03  Bruce Korb  <bkorb@gnu.org>
19264
19265         parse-duration: remove xalloc.h dependency
19266         * lib/parse-duration.c (parse_period): handle NULL return from
19267         strdup instead of calling xstrdup().
19268         * modules/parse-duration: remove "xalloc" dependency
19269
19270 2011-03-03  Matthew Booth  <mbooth@redhat.com>
19271
19272         bootstrap: honor m4_base when running aclocal
19273         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
19274
19275 2011-03-02  Jim Meyering  <meyering@redhat.com>
19276
19277         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
19278         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
19279         on request from Matt Booth.
19280
19281 2011-03-01  Eric Blake  <eblake@redhat.com>
19282
19283         test-link: work on Hurd
19284         * tests/test-link.h (test_link): Hurd rejects linking directories
19285         with EISDIR instead of the POSIX-mandated EPERM.
19286
19287 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
19288
19289         stdio: simplify by moving files to printf-posix, sigpipe
19290         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
19291         since this symbol is needed only if printf is replaced.
19292         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
19293         Require gl_ASM_SYMBOL_PREFIX.
19294         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
19295         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
19296         (Depends-on): Add 'raise'.
19297         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
19298         * modules/stdio (Files): Remove lib/stdio-write.c,
19299         m4/asm-underscore.m4.
19300         (Depends-on): Remove 'raise'.
19301
19302         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
19303         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
19304         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
19305         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
19306
19307 2011-02-28  Bruno Haible  <bruno@clisp.org>
19308
19309         localcharset: Assume ANSI C behaviour of free().
19310         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
19311         calling free().
19312         Suggested by Simon Josefsson <simon@josefsson.org>.
19313
19314 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
19315             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
19316             Bruno Haible  <bruno@clisp.org>  (tiny change)
19317
19318         On Cygwin, use /proc file system instead of win32 API.
19319         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
19320         Win32 file names.
19321         (DllMain): Simplify by removing Cygwin specific code.
19322         (find_shared_library_fullname): Use Linux specific implementation also
19323         for Cygwin.
19324         (get_shared_library_fullname): Update accordingly.
19325         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
19326         Win32 file names.
19327         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
19328         Cygwin specific code.
19329
19330 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
19331             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
19332
19333         Fix OpenMP flag detection for various Fortran compilers.
19334         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
19335         OpenMP-conditional compilation construct, to force compile
19336         failure with missing OpenMP flag.
19337         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
19338
19339 2011-02-25  Eric Blake  <eblake@redhat.com>
19340
19341         strstr: expand test coverage
19342         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
19343         compilation.
19344         * tests/test-memmem.c (main): Duplicate tests.
19345         * tests/test-strcasestr.c (main): Likewise.
19346         * tests/test-c-strcasestr.c (main): Likewise.
19347
19348 2011-02-25  Jim Meyering  <meyering@redhat.com>
19349
19350         maint.mk: detect missing-NL-at-EOF, too
19351         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
19352         it also detects when a file lacks a newline at EOF.
19353         (require_exactly_one_NL_at_EOF_): Renamed from
19354         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
19355         since people may well have .x-sc_... file names tied to the
19356         existing name.  Suggested by Eric Blake.
19357
19358 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
19359
19360         dirname: move m4/dos.m4 functionality into lib/dosname.h
19361
19362         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
19363         extracts symbols from it, puts them into config.h; but it's much
19364         easier to use the symbols directly.  filename.h already does this,
19365         but it disagrees with dos.m4 in some respects.  This patch
19366         introduces a different include file dosname.h that packages up
19367         dos.m4, and then later we can work on merging filename.h and
19368         dosname.h.  Applications that need only the easy-to-configure
19369         symbols should consider including dosname.h rather than dirname.h.
19370         * NEWS: Mention incompatible changes.
19371         * m4/dos.m4: Remove.
19372         * lib/dosname.h, modules/dosname: New files.
19373         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
19374         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
19375         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
19376         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
19377         Include dosname.h, not dirname.h.
19378         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
19379         Include dosname.h, for definitions of symbols like ISSLASH
19380         that used to be in config.h.
19381         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
19382         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
19383         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
19384         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
19385         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
19386         * modules/rmdir (Files): Likewise.
19387         * modules/stat (Files): Likewise.
19388         * modules/unlink (Files): Likewise.
19389         * modules/dirname-lgpl (Depends-on): Add dosname.
19390         * modules/lstat (Depends-on): Likewise.
19391         * modules/openat (Depends-on): Likewise.
19392         * modules/rmdir (Depends-on): Likewise.
19393         * modules/savewd (Depends-on): Likewise.
19394         * modules/stat (Depends-on): Likewise.
19395         * modules/unlink (Depends-on): Likewise.
19396         * modules/openat (Depends-on): Remove dirname-lgpl.
19397         * modules/savewd (Depends-on): Likewise.
19398         * tests/test-dirname.c: Do not use removed symbols like
19399         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
19400         the remaining symbols, e.g., ISSLASH ('\\').
19401
19402 2011-02-25  Eric Blake  <eblake@redhat.com>
19403
19404         strstr: revert patches that introduced bug and pessimization
19405         * lib/str-two-way.h: Add another reference.
19406         (two_way_short_needle, two_way_long_needle): Revert changes from
19407         2011-02-24; they pessimize search speed.
19408         (critical_factorization): Partially revert changes from
19409         2010-06-22; they violate the requirement that the left half of the
19410         needle be smaller than the period of the needle.
19411
19412 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
19413
19414         filenamecat: remove unnecessary dependency on dirname-lgpl
19415         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
19416         is no direct dependency, just an indirect one via filenamecat-lgpl.
19417
19418         remove: remove unnecessary use of m4/dos.m4
19419         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
19420         * modules/remove (FILES): Remove m4/dos.m4.
19421
19422         * lib/openat-proc.c: Don't include dirname.h; not needed.
19423
19424         backupfile: remove unnecessary use of m4/dos.m4
19425         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
19426         of its symbols are used by the backupfile code.  backupfile.c does
19427         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
19428         for the rare case of programs that want all their backup file
19429         names to live within 8+3 limits, and dos.m4 doesn't address that.
19430         * modules/backupfile (Files): Remove m4/dos.m4.
19431
19432 2011-02-24  Jim Meyering  <meyering@redhat.com>
19433
19434         strstr: fix a bug whereby strstr would mistakenly return NULL
19435         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
19436         in period calculation.
19437         (two_way_long_needle): Likewise.
19438         The original problem was reported by Mike Stump in
19439         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
19440         Ralf Wildenhues provided the short needle and haystack.
19441         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
19442         Add a more involved test to trigger the bug in two_way_long_needle.
19443
19444 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
19445
19446         gnulib-tool: remove use of bold display in help screen
19447         * gnulib-tool (func_usage): Do not use bold display anymore in the
19448         help screen.  That was just meant to be a temporary emphasis for a
19449         backward-incompatible change.
19450
19451 2011-02-23  Bruno Haible  <bruno@clisp.org>
19452
19453         Fix misindentation of preprocessor directives.
19454         * lib/argp-namefrob.h: Reindent preprocessor directives.
19455         * lib/getopt_int.h (struct _getopt_data): Likewise.
19456         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
19457         * lib/vasnprintf.c (decode_long_double): Likewise.
19458         * tests/test-argmatch.c: Insert blank lines, for clarity.
19459         * tests/test-exclude.c: Likewise.
19460
19461 2011-02-22  Bruno Haible  <bruno@clisp.org>
19462
19463         ioctl: Fix for MacOS X in 64-bit mode.
19464         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
19465         value.
19466         Suggested by Eric Blake.
19467         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
19468
19469 2011-02-22  Jim Meyering  <meyering@redhat.com>
19470
19471         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
19472         * Makefile (sc_cpp_indent_check): Don't limit the check to files
19473         in lib/.
19474
19475 2011-02-22  Eric Blake  <eblake@redhat.com>
19476
19477         maint: avoid any CDPATH issue
19478         * Makefile (sc_cpp_indent_check): Anchor cd argument.
19479
19480         maint: adjust cpp indentation for my modules, as well
19481         * Makefile (sc_cpp_indent_check): Add my name.
19482         * lib/fbufmode.c: Filter through cppi.
19483         * lib/fpurge.c: Likewise.
19484         * lib/freadable.c: Likewise.
19485         * lib/freading.c: Likewise.
19486         * lib/fwritable.c: Likewise.
19487         * lib/fwriting.c: Likewise.
19488         * lib/sigaction.c: Likewise.
19489
19490 2011-02-22  Jim Meyering  <meyering@redhat.com>
19491
19492         maint: adjust cpp indentation to reflect nesting depth
19493         I.e., in a block of code that begins with an unnested "#if",
19494         put one space between the "#" in column 1 and following token.
19495         For example,
19496         -#include <sys/vfs.h>
19497         +# include <sys/vfs.h>
19498         Do this only in .c files that are part of a module I maintain.
19499         * lib/linkat.c: Filter through cppi.
19500         * lib/nanosleep.c: Likewise.
19501         * lib/openat.c: Likewise.
19502         * lib/openat-die.c: Likewise.
19503         * lib/dup3.c: Likewise.
19504         * lib/fchownat.c: Likewise.
19505         * lib/flock.c: Likewise.
19506         * lib/fsync.c: Likewise.
19507         * lib/fts.c: Likewise.
19508         * lib/getpass.c: Likewise.
19509         * lib/gettimeofday.c: Likewise.
19510         * lib/userspec.c: Likewise.
19511         * Makefile (sc_cpp_indent_check): New rule, to check this.
19512
19513 2011-02-22  Bruno Haible  <bruno@clisp.org>
19514
19515         New module 'wctomb'.
19516         * lib/stdlib.in.h (wctomb): New declaration.
19517         * lib/wctomb.c: New file.
19518         * lib/wctomb-impl.h: New file.
19519         * m4/wctomb.m4: New file.
19520         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
19521         REPLACE_WCTOMB.
19522         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
19523         REPLACE_WCTOMB.
19524         * modules/wctomb: New file.
19525         * tests/test-stdlib-c++.cc: Test signature of wctomb.
19526         * doc/posix-functions/wctomb.texi: Mention the new module.
19527         * modules/wctob (Depends-on): Add wctomb.
19528
19529 2011-02-22  Bruno Haible  <bruno@clisp.org>
19530
19531         New module 'mbtowc'.
19532         * lib/stdlib.in.h (mbtowc): New declaration.
19533         * lib/mbtowc.c: New file.
19534         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
19535         * m4/mbtowc.m4: New file.
19536         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
19537         REPLACE_MBTOWC.
19538         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
19539         REPLACE_MBTOWC.
19540         * modules/mbtowc: New file.
19541         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
19542         * doc/posix-functions/mbtowc.texi: Mention the new module.
19543         * modules/btowc (Depends-on): Add mbtowc.
19544
19545 2011-02-22  Bruno Haible  <bruno@clisp.org>
19546
19547         wcrtomb: Add more tests for native Windows platforms.
19548         * tests/test-wcrtomb-w32-1.sh: New file.
19549         * tests/test-wcrtomb-w32-2.sh: New file.
19550         * tests/test-wcrtomb-w32-3.sh: New file.
19551         * tests/test-wcrtomb-w32-4.sh: New file.
19552         * tests/test-wcrtomb-w32-5.sh: New file.
19553         * tests/test-wcrtomb-w32.c: New file.
19554         * modules/wcrtomb-tests (Files): Add them.
19555         (Makefile.am): Arrange to run these tests.
19556         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
19557         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
19558
19559 2011-02-20  Bruno Haible  <bruno@clisp.org>
19560
19561         wcrtomb: Enhance test.
19562         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
19563
19564 2011-02-20  Bruno Haible  <bruno@clisp.org>
19565
19566         mbrtowc: Tiny optimization.
19567         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
19568
19569 2011-02-20  Jim Meyering  <meyering@redhat.com>
19570
19571         test-exclude.c: remove unmatched #endif
19572         * tests/test-exclude.c: Remove stray #endif, left over from
19573         the change of a week ago.
19574
19575 2011-02-19  Jim Meyering  <meyering@redhat.com>
19576
19577         git-version-gen: skip "-dirty" check when appropriate
19578         * build-aux/git-version-gen: Don't run any git commands when the
19579         version string comes from .tarball-version.  Prior to this, we
19580         would run git update-index --refresh even from a just-unpacked
19581         tarball directory, and that could affect a .git/ directory in a
19582         parent of the build directory.  Reported by Mike Frysinger.
19583
19584 2011-02-19  Bruno Haible  <bruno@clisp.org>
19585
19586         unictype/property-byname: Reduce the size of the 'data' segment.
19587         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
19588
19589 2011-02-19  Bruno Haible  <bruno@clisp.org>
19590
19591         unictype/scripts: Reduce the size of the 'data' segment.
19592         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
19593         '%pic'.
19594         * lib/unictype/scripts_byname.gperf: Regenerated.
19595
19596 2011-02-19  Bruno Haible  <bruno@clisp.org>
19597
19598         stdint: Update documentation.
19599         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
19600
19601 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
19602
19603         stdint: omit redundant check for wchar.h
19604         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
19605         always tests whether wchar.h exists, so remove the now-redundant test.
19606
19607 2011-02-18  Bruno Haible  <bruno@clisp.org>
19608
19609         stdint: Cut dependency to module 'wchar'.
19610         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
19611         include the necessary prerequisites.
19612         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
19613         * modules/stdint (Depends-on): Remove wchar.
19614         (Makefile.am): Substitute HAVE_WCHAR_H.
19615         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
19616
19617 2011-02-18  Eric Blake  <eblake@redhat.com>
19618
19619         longlong: skip, rather than fail, on cross-compilation
19620         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
19621         when cross-compiling; regression from 2011-02-16.
19622
19623 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
19624
19625         * NEWS: Mention 2011-02-08 change to stdlib.
19626
19627 2011-02-17  Bruno Haible  <bruno@clisp.org>
19628
19629         getloadavg: Add comments about platforms.
19630         * m4/getloadavg.m4: Add comment.
19631         * lib/getloadavg.c: Likewise.
19632
19633 2011-02-17  Bruno Haible  <bruno@clisp.org>
19634
19635         getloadavg: Fix link error on Solaris 2.6.
19636         * modules/getloadavg (Link): New section.
19637         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
19638         linking test-getloadavg.
19639         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
19640         getloadavg.
19641
19642 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
19643
19644         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
19645         It was 'int', but this doesn't match the IRIX 6.5 manual.
19646         Suggested by Bruno Haible in
19647         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
19648
19649 2011-02-17  Bruno Haible  <bruno@clisp.org>
19650
19651         havelib: Fix comments.
19652         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
19653         change.
19654
19655 2011-02-17  Bruno Haible  <bruno@clisp.org>
19656
19657         havelib: Update config.rpath.
19658         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
19659
19660 2011-02-17  Bruno Haible  <bruno@clisp.org>
19661
19662         getloadavg test: Add some plausibility checks.
19663         * tests/test-getloadavg.c (check_avg): Print a warning when the value
19664         is improbable.
19665
19666 2011-02-16  Eric Blake  <eblake@redhat.com>
19667
19668         maintainer-makefile: make syntax-check a no-op from tarballs
19669         * top/maint.mk (no-vc-detected): New rule.
19670         (local-checks-available): Use it to avoid hanging if someone tries
19671         'make syntax-check' from a tarball.  Also append to any non-syntax
19672         checks already defined in cfg.mk.
19673
19674 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
19675
19676         longlong: tune, particularly for common case of c99
19677
19678         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
19679         or running anything if c99, or if unsigned long long int does not
19680         work.  In either case, we know the answer without further tests.
19681         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
19682         it at most once, and use its results for both long long int and
19683         unsigned long long int.  This is more likely to be efficient in
19684         the common case where the program wants to check for both long
19685         long int and unsigned long long int.
19686         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
19687         since the answer is already known.
19688
19689 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
19690
19691         getloadavg: set errno
19692         * lib/getloadavg.c: Set errno when returning -1.  If no other
19693         error number looks appropriate, set it to ENOSYS if the getloadavg
19694         looks like it can't possibly ever work, ENOTSUP otherwise.
19695         Suggested by Bruno Haible in
19696         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
19697
19698         getloadavg: trim unused parts and speed up 'configure'
19699         * NEWS: Document this.
19700         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
19701         always compiled if getloadavg is absent.
19702         Move test code to ...
19703         * tests/test-getloadavg.c: New file, containing previous
19704         contents of test from lib/getloadavg.c.  It also contains
19705         suggestions by Bruno Haible in
19706         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
19707         * modules/getloadavg-tests: New file.
19708         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
19709         Do tests in the same order as they're needed for getloadavg.c.
19710         Omit setgid-related tests that generate symbols KMEM_GROUP,
19711         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
19712         Do only the tests that are needed to see whether the system has
19713         getloadavg, moving the other tests into ...
19714         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
19715         NLIST_NAME_UNION; nobody should be using it.  Do not define
19716         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
19717         relevant, as the user of this module shouldn't care how getloadavg
19718         is implemented.
19719
19720         getloadavg: omit unused var
19721         * lib/getloadavg.c (getloadavg): Omit unused local variable.
19722
19723 2011-02-15  Jim Meyering  <meyering@redhat.com>
19724
19725         doc: update users.txt
19726         * users.txt: Update iwhd's URL.
19727
19728 2011-02-13  Bruno Haible  <bruno@clisp.org>
19729
19730         Consistent macro naming for macros that use GCC __attribute__.
19731         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
19732         _ATTRIBUTE_NONNULL_.
19733         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
19734         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
19735         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
19736         ATTRIBUTE_DEPRECATED.
19737         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
19738         ATTRIBUTE_NORETURN.
19739         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
19740         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
19741         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
19742         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
19743         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
19744         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
19745         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
19746         ATTRIBUTE_SENTINEL.
19747         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
19748         ATTRIBUTE_RETURN_CHECK.
19749         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
19750         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
19751         ATTRIBUTE_NORETURN.
19752         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
19753         Reported by Paul Eggert.
19754
19755 2011-02-13  Bruno Haible  <bruno@clisp.org>
19756
19757         Don't interfere with a program's definition of __attribute__.
19758         * lib/argp.h (__attribute__): Remove definition.
19759         (_GL_ATTRIBUTE_FORMAT): New macro.
19760         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
19761         * lib/argp-fmtstream.h (__attribute__): Remove definition.
19762         (_GL_ATTRIBUTE_FORMAT): New macro.
19763         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
19764         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
19765         GCC 3 or newer.
19766         * lib/error.h (__attribute__): Remove definition.
19767         (_GL_ATTRIBUTE_FORMAT): New macro.
19768         (error, error_at_line): Use it.
19769         * lib/hash.h (__attribute__): Remove definition.
19770         (ATTRIBUTE_WUR): Update definition. Define always.
19771         * lib/openat.h (__attribute__): Remove definition.
19772         (ATTRIBUTE_NORETURN): Update definition. Define always.
19773         * lib/sigpipe-die.h (__attribute__): Remove definition.
19774         (ATTRIBUTE_NORETURN): Update definition. Define always.
19775         * lib/vasnprintf.h (__attribute__): Remove definition.
19776         (_GL_ATTRIBUTE_FORMAT): New macro.
19777         (asnprintf, vasnprintf): Use it.
19778         * lib/xalloc.h (__attribute__): Remove definition.
19779         (ATTRIBUTE_NORETURN): Update definition. Define always.
19780         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
19781         * lib/xmemdup0.h (__attribute__): Remove definition.
19782         (ATTRIBUTE_NORETURN): Update definition. Define always.
19783         * lib/xprintf.h (__attribute__): Remove definition.
19784         (_GL_ATTRIBUTE_FORMAT): New macro.
19785         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
19786         * lib/xstrtol.h (__attribute__): Remove definition.
19787         (ATTRIBUTE_NORETURN): Update definition. Define always.
19788         * lib/xvasprintf.h (__attribute__): Remove definition.
19789         (_GL_ATTRIBUTE_FORMAT): New macro.
19790         (xasprintf, xvasprintf): Use it.
19791         * tests/test-argmatch.c (__attribute__): Remove definition.
19792         (ATTRIBUTE_NORETURN): Update definition. Define always.
19793         * tests/test-exclude.c (__attribute__): Remove definition.
19794         (ATTRIBUTE_NORETURN): Update definition. Define always.
19795         Reported by Paul Eggert.
19796
19797 2011-02-13  Bruno Haible  <bruno@clisp.org>
19798
19799         mbrtowc: Add more tests for native Windows platforms.
19800         * tests/test-mbrtowc-w32-1.sh: New file.
19801         * tests/test-mbrtowc-w32-2.sh: New file.
19802         * tests/test-mbrtowc-w32-3.sh: New file.
19803         * tests/test-mbrtowc-w32-4.sh: New file.
19804         * tests/test-mbrtowc-w32-5.sh: New file.
19805         * tests/test-mbrtowc-w32.c: New file.
19806         * modules/mbrtowc-tests (Files): Add them.
19807         (Makefile.am): Arrange to run these tests.
19808         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
19809         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
19810
19811 2011-02-13  Bruno Haible  <bruno@clisp.org>
19812
19813         mbrtowc: Work around native Windows bug.
19814         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
19815         guess when no suitable locale for testing was found.
19816         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
19817
19818 2011-02-13  Bruno Haible  <bruno@clisp.org>
19819
19820         mbsinit: Work around mingw bug.
19821         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
19822         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
19823         Windows.
19824         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
19825
19826 2011-02-13  Bruno Haible  <bruno@clisp.org>
19827
19828         mbsinit: Don't crash for a NULL argument.
19829         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
19830         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
19831
19832 2011-02-13  Bruno Haible  <bruno@clisp.org>
19833
19834         Don't interfere with a program's definition of __attribute__.
19835         * lib/stdio.in.h (__attribute__): Remove definition.
19836         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
19837         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
19838         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
19839         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
19840         * lib/string.in.h (__attribute__): Remove definition.
19841         Reported by Paul Eggert.
19842
19843 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
19844
19845         stdlib: don't get in the way of non-GCC __attribute__
19846         See thread starting at
19847         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
19848         Revert previous stdlib change, installing the following instead:
19849         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
19850         to get in the way of a non-GCC compiler that supports __attribute__.
19851         (_GL_ATTRIBUTE_RETURN): New macro.
19852         (_Exit): Use it instead of __attribute__.
19853
19854 2011-02-12  Bruno Haible  <bruno@clisp.org>
19855
19856         quotearg test: Avoid test failure on mingw.
19857         * tests/test-quotearg.sh: Convert the locale identifier from native
19858         Windows syntax to Unix syntax.
19859
19860 2011-02-12  Bruno Haible  <bruno@clisp.org>
19861
19862         setlocale: Prefer gnulib's override over libintl's override.
19863         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
19864         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
19865         GNULIB_defined_setlocale is set.
19866
19867 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
19868
19869         stdlib: support non-GCC __attribute__
19870
19871         Fix a serious and tricky problem encountered when attempting to
19872         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
19873         5.5, but it crashed due to memory corruption on Solaris 10 with
19874         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
19875         bits that are otherwise zero.  This tagging is optional inside
19876         Emacs but is preferred and is used when __attribute__ ((__aligned
19877         (8))) works, as it does with both recent-enough GCC and with Sun C
19878         5.11.  However, Sun C 5.11 is not GCC and does not #define
19879         __GNUC__ and __GNUC_MINOR__.
19880
19881         When I added the getloadavg module to Emacs, it brought in
19882         stdlib.in.h, which contained this fragment:
19883
19884            #ifndef __attribute__
19885            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
19886            #  define __attribute__(Spec)   /* empty */
19887            # endif
19888            #endif
19889
19890         When files that include <stdlib.h> were compiled with Sun C 5.11,
19891         the above code disabled __attribute__ ((__aligned (8))), which
19892         caused variables to not be properly aligned, which eventually led
19893         to the pointer corruption mentioned above.  (This was a bit hard
19894         to diagnose, unfortunately.)
19895
19896         Several "#define __attribute__(X) /* empty */" code snippets need
19897         to be eradicated from Gnulib to work with non-GCC compilers that
19898         support __attribute__.  The Autoconf way to do this is to test for
19899         each kind of attribute that we want support for, and selectively
19900         enable that in source code.
19901
19902         Fix this problem just for stdlib.h, by adding a test for the
19903         __noreturn__ attribute, and change stdlib.in.h to use that test
19904         when needed.  This technique can be easily generalized to the
19905         other *.in.h files and attributes, and a similar technique can be
19906         used for *.h and *.c files.  This patch is enough to solve the
19907         problem for Emacs + getloadavg, and I thought I'd publish it for
19908         feedback before undertaking further, similar fixes in other
19909         modules.
19910
19911         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
19912         because it's not needed for stdlib.h.  It merely substitutes the
19913         value directly into stdlib.h.  We may well need to #define it, or
19914         similar symbols, for other modules, but it's nice to also have an
19915         option to not #define it for applications like Emacs that do not
19916         need it.
19917
19918         * lib/stdlib.in.h (__attribute__): Do not #define.
19919         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
19920         be defined only if the _Exit module is also used.
19921         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
19922         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
19923         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
19924         platforms.
19925         * modules/_Exit (Files): Add m4/attribute.m4.
19926         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
19927         * m4/attribute.m4: New file.
19928
19929 2011-02-12  Bruno Haible  <bruno@clisp.org>
19930
19931         wcsrtombs: Work around bug on native Windows.
19932         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
19933         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
19934         instead of len.
19935         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
19936
19937 2011-02-12  Bruno Haible  <bruno@clisp.org>
19938
19939         mbsrtowcs: Work around bug on native Windows.
19940         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
19941         against mingw bug.
19942         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
19943
19944 2011-02-12  Bruno Haible  <bruno@clisp.org>
19945
19946         Avoid setlocale bugs in tests.
19947         * modules/btowc (Dependencies): Add setlocale.
19948         * modules/c-strcase (Dependencies): Likewise.
19949         * modules/mbmemcasecmp (Dependencies): Likewise.
19950         * modules/mbmemcasecoll (Dependencies): Likewise.
19951         * modules/mbrtowc (Dependencies): Likewise.
19952         * modules/mbscasecmp (Dependencies): Likewise.
19953         * modules/mbscasestr (Dependencies): Likewise.
19954         * modules/mbschr (Dependencies): Likewise.
19955         * modules/mbscspn (Dependencies): Likewise.
19956         * modules/mbsinit (Dependencies): Likewise.
19957         * modules/mbsncasecmp (Dependencies): Likewise.
19958         * modules/mbsnrtowcs (Dependencies): Likewise.
19959         * modules/mbspbrk (Dependencies): Likewise.
19960         * modules/mbspcasecmp (Dependencies): Likewise.
19961         * modules/mbsrchr (Dependencies): Likewise.
19962         * modules/mbsrtowcs (Dependencies): Likewise.
19963         * modules/mbsspn (Dependencies): Likewise.
19964         * modules/mbsstr (Dependencies): Likewise.
19965         * modules/nl_langinfo (Dependencies): Likewise.
19966         * modules/quotearg (Dependencies): Likewise.
19967         * modules/unicase/locale-language (Dependencies): Likewise.
19968         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
19969         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
19970         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
19971         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
19972         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
19973         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
19974         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
19975         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
19976         * modules/vasnprintf-posix (Dependencies): Likewise.
19977         * modules/wcrtomb (Dependencies): Likewise.
19978         * modules/wcsnrtombs (Dependencies): Likewise.
19979         * modules/wcsrtombs (Dependencies): Likewise.
19980
19981 2011-02-12  Bruno Haible  <bruno@clisp.org>
19982
19983         setlocale: Workaround native Windows bug.
19984         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
19985         succeeds but sets LC_CTYPE to "C", report a failure.
19986         * tests/test-setlocale2.sh: New file.
19987         * tests/test-setlocale2.c: New file.
19988         * modules/setlocale-tests (Files): Add the new files.
19989         (Makefile.am): Enable test-setlocale2.sh test.
19990         * doc/posix-functions/setlocale.texi: Mention workaround.
19991
19992 2011-02-11  Bruno Haible  <bruno@clisp.org>
19993
19994         Tests for module 'setlocale'.
19995         * modules/setlocale-tests: New file.
19996         * tests/test-setlocale1.sh: New file.
19997         * tests/test-setlocale1.c: New file.
19998
19999         New module 'setlocale'.
20000         * lib/locale.in.h (setlocale): New declaration.
20001         * lib/setlocale.c: New file, based on
20002         gettext/gettext-runtime/intl/setlocale.c.
20003         * m4/setlocale.m4: New file.
20004         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
20005         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
20006         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
20007         REPLACE_SETLOCALE.
20008         * modules/setlocale: New file.
20009         * tests/test-locale-c++.cc: Test the declaration of setlocale.
20010         * doc/posix-functions/setlocale.texi: Mention the new module.
20011
20012 2011-02-11  Bruno Haible  <bruno@clisp.org>
20013
20014         Prepare for locale dependent tests on mingw.
20015         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
20016         because it has the wrong locale encoding.
20017         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
20018         French_France.1252 instead of "fr".
20019         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
20020         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
20021         because it has the wrong locale encoding.
20022         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
20023         native Windows, try Turkish_Turkey.65001.
20024         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
20025         Chinese_China.54936.
20026
20027         Prepare for locale dependent tests on mingw.
20028         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
20029         differently.
20030         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
20031         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
20032         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
20033         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
20034
20035 2011-02-11  Eric Blake  <eblake@redhat.com>
20036
20037         strptime: avoid compiler warnings
20038         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
20039         compiler warnings about dead code.
20040         Reported by Daniel P. Berrange.
20041
20042 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
20043
20044         doc: update users.txt
20045         * users.txt: Add rcs.
20046
20047 2011-02-10  John W. Eaton  <jwe@gnu.org>
20048
20049         doc: update users.txt
20050         * users.txt: Add octave.
20051
20052 2011-02-10  Jim Meyering  <meyering@redhat.com>
20053
20054         doc: update users.txt
20055         * users.txt: Add iwhd.
20056
20057 2011-02-09  Bruno Haible  <bruno@clisp.org>
20058
20059         gnulib-tool: Make copyright notice adjustment more robust.
20060         * gnulib-tool (func_import): In sed_transform_main_lib_file,
20061         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
20062         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
20063         License".
20064         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
20065
20066 2011-02-06  Bruno Haible  <bruno@clisp.org>
20067
20068         New module 'towctrans'.
20069         * modules/towctrans: New file.
20070         * lib/wctype.in.h (towctrans): New declaration.
20071         * lib/towctrans.c: New file.
20072         * lib/towctrans-impl.h: New file.
20073         * m4/towctrans.m4: New file.
20074         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
20075         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
20076         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
20077         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
20078         * doc/posix-functions/towctrans.texi: Mention the new module.
20079
20080 2011-02-06  Bruno Haible  <bruno@clisp.org>
20081
20082         New module 'wctrans'.
20083         * modules/wctrans: New file.
20084         * lib/wctype.in.h (wctrans): New declaration.
20085         * lib/wctrans.c: New file.
20086         * lib/wctrans-impl.h: New file.
20087         * m4/wctrans.m4: New file.
20088         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
20089         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
20090         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
20091         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
20092         * doc/posix-functions/wctrans.texi: Mention the new module.
20093
20094 2011-02-06  Bruno Haible  <bruno@clisp.org>
20095
20096         New module 'iswctype'.
20097         * modules/iswctype: New file.
20098         * lib/wctype.in.h (iswctype): New declaration.
20099         * lib/iswctype.c: New file.
20100         * lib/iswctype-impl.h: New file.
20101         * m4/iswctype.m4: New file.
20102         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
20103         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
20104         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
20105         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
20106         * doc/posix-functions/iswctype.texi: Mention the new module and the
20107         HP-UX 11.00 problem.
20108
20109 2011-02-06  Bruno Haible  <bruno@clisp.org>
20110
20111         New module 'wctype'.
20112         * modules/wctype: Change to represent the wctype() substitute.
20113         * lib/wctype.in.h (wctype): New declaration.
20114         * lib/wctype.c: New file.
20115         * lib/wctype-impl.h: New file.
20116         * m4/wctype.m4: New file.
20117         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
20118         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
20119         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
20120         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
20121         * doc/posix-functions/wctype.texi: Mention the new module and the
20122         HP-UX 11.00 problem.
20123
20124 2011-02-06  Bruno Haible  <bruno@clisp.org>
20125
20126         wctype-h: Ensure wctype_t and wctrans_t are defined.
20127         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
20128         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
20129         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
20130         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
20131         HAVE_WCTRANS_T.
20132         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
20133
20134 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
20135
20136         flock: fix license typo
20137
20138         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
20139         omitted.
20140
20141 2011-02-08  Bruno Haible  <bruno@clisp.org>
20142
20143         Split large sed scripts, for HP-UX sed.
20144         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
20145         to avoid HP-UX limit of 99 commands, in the near future.
20146         * modules/stdlib (Makefile.am): Likewise.
20147         * modules/unistd (Makefile.am): Likewise.
20148         * modules/wchar (Makefile.am): Likewise.
20149         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20150         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
20151         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
20152
20153 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
20154             Bruno Haible  <bruno@clisp.org>
20155
20156         stdlib: improve random_r modularization
20157         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
20158         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
20159         you also need the random_r module to get this material right.
20160         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
20161         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
20162         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
20163
20164 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
20165
20166         stdlib: don't depend on stdint
20167         * lib/stdlib.in.h: Don't include <stdint.h> merely because
20168         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
20169         be independent of whether stdint.h is needed.
20170         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
20171         here, instead of ...
20172         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
20173         struct random_data should be using the random_r module, not just
20174         the stdlib module (which wouldn't make sense: what package needs
20175         just struct random_data without also needing random_r?).
20176         * modules/stdlib (Depends-on): Remove stdint.
20177
20178         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
20179         See the thread rooted at
20180         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
20181         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
20182         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
20183         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
20184         __VMS)); previously it was always included (via fcntl--.h).
20185         (getloadavg): Do not use c_strtod.  Instead, approximate it by
20186         hand; this is good enough for load averages.  Also, do not use
20187         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
20188         flags directly if available and don't bother otherwise.  (Packages
20189         that need the extra reliability should use the modules that define
20190         these flags on older platforms that lack them.)
20191         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
20192         fcntl-safer.
20193
20194 2011-02-08  Jim Meyering  <meyering@redhat.com>
20195
20196         di-set.h, ino-map.h: add multiple-inclusion guard
20197         Technically, the guard is required only for ino-map.h, due to its
20198         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
20199         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
20200         * lib/ino-map.h: Likewise.
20201
20202 2011-02-06  Bruno Haible  <bruno@clisp.org>
20203
20204         iswblank: Ensure declaration on glibc systems.
20205         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
20206         * modules/iswblank (Dependencies): Add 'extensions'.
20207         * doc/posix-functions/iswblank.texi: Document the glibc problem.
20208
20209 2011-02-06  Bruno Haible  <bruno@clisp.org>
20210
20211         New module 'iswblank'.
20212         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
20213         * modules/iswblank: New file.
20214         * modules/wctype-h (Files): Remove lib/iswblank.c.
20215         (Makefile.am): Substitute GNULIB_ISWBLANK.
20216         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
20217         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
20218         (gl_WCTYPE_H_DEFAULTS): New macro.
20219         (gl_WCTYPE_H): Require it. Remove iswblank related code.
20220         * modules/iswblank-tests: New file.
20221         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
20222         * tests/test-wctype-h.c (main): Remove iswblank tests.
20223         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
20224         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
20225         of 'wctype-h'.
20226         * NEWS: Mention the change.
20227         * modules/mbchar (Depends-on): Add iswblank.
20228
20229 2011-02-08  Bruno Haible  <bruno@clisp.org>
20230
20231         di-set tests: Refactor.
20232         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
20233         unnecessary includes.
20234         (ASSERT): Remove macro.
20235         (main): Make C90 compliant by avoiding variable declaration after
20236         statement.
20237         * modules/di-set-tests (Files): Add tests/macros.h.
20238
20239 2011-02-08  Bruno Haible  <bruno@clisp.org>
20240
20241         ino-map tests: Refactor.
20242         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
20243         unnecessary includes.
20244         (ASSERT): Remove macro.
20245         (main): Make C90 compliant by avoiding variable declaration after
20246         statement.
20247         * modules/ino-map-tests (Files): Add tests/macros.h.
20248
20249 2011-02-08  Jim Meyering  <meyering@redhat.com>
20250
20251         di-set: add "const" to a cast
20252         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
20253         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
20254
20255 2011-02-06  Bruno Haible  <bruno@clisp.org>
20256
20257         Rename module 'wctype' to 'wctype-h'.
20258         * modules/wctype-h: Renamed from modules/wctype.
20259         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
20260         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
20261         (Files, Depends-on, Makefile.am): Update.
20262         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
20263         (Files, Makefile.am): Update.
20264         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
20265         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
20266         * doc/posix-headers/wctype.texi: Update.
20267         * doc/posix-functions/iswalnum.texi: Update.
20268         * doc/posix-functions/iswalpha.texi: Update.
20269         * doc/posix-functions/iswblank.texi: Update.
20270         * doc/posix-functions/iswcntrl.texi: Update.
20271         * doc/posix-functions/iswdigit.texi: Update.
20272         * doc/posix-functions/iswgraph.texi: Update.
20273         * doc/posix-functions/iswlower.texi: Update.
20274         * doc/posix-functions/iswprint.texi: Update.
20275         * doc/posix-functions/iswpunct.texi: Update.
20276         * doc/posix-functions/iswspace.texi: Update.
20277         * doc/posix-functions/iswupper.texi: Update.
20278         * doc/posix-functions/iswxdigit.texi: Update.
20279         * doc/posix-functions/towlower.texi: Update.
20280         * doc/posix-functions/towupper.texi: Update.
20281         * NEWS: Mention the change.
20282         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
20283         * modules/mbchar (Dependencies): Likewise.
20284         * modules/mbswidth (Dependencies): Likewise.
20285         * modules/quotearg (Dependencies): Likewise.
20286         * modules/regex (Dependencies): Likewise.
20287         * modules/wcscasecmp (Dependencies): Likewise.
20288         * modules/wcsncasecmp (Dependencies): Likewise.
20289         * modules/wcwidth (Dependencies): Likewise.
20290
20291 2011-02-06  Bruno Haible  <bruno@clisp.org>
20292
20293         New module 'wcswidth'.
20294         * modules/wcswidth: New file.
20295         * lib/wchar.in.h (wcswidth): New declaration.
20296         * lib/wcswidth.c: New file.
20297         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
20298         * m4/wcswidth.m4: New file.
20299         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
20300         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
20301         REPLACE_WCSWIDTH.
20302         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
20303         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
20304         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
20305         * doc/posix-functions/wcswidth.texi: Mention the new module.
20306
20307 2011-02-06  Bruno Haible  <bruno@clisp.org>
20308
20309         New module 'wcstok'.
20310         * modules/wcstok: New file.
20311         * lib/wchar.in.h (wcstok): New declaration.
20312         * lib/wcstok.c: New file.
20313         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
20314         * m4/wcstok.m4: New file.
20315         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
20316         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
20317         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
20318         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
20319         * doc/posix-functions/wcstok.texi: Mention the new module.
20320
20321 2011-02-06  Bruno Haible  <bruno@clisp.org>
20322
20323         New module 'wcsstr'.
20324         * modules/wcsstr: New file.
20325         * lib/wchar.in.h (wcsstr): New declaration.
20326         * lib/wcsstr.c: New file.
20327         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
20328         * m4/wcsstr.m4: New file.
20329         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
20330         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
20331         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
20332         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
20333         * doc/posix-functions/wcsstr.texi: Mention the new module.
20334
20335 2011-02-06  Bruno Haible  <bruno@clisp.org>
20336
20337         New module 'wcspbrk'.
20338         * modules/wcspbrk: New file.
20339         * lib/wchar.in.h (wcspbrk): New declaration.
20340         * lib/wcspbrk.c: New file.
20341         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
20342         * m4/wcspbrk.m4: New file.
20343         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
20344         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
20345         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
20346         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
20347         * doc/posix-functions/wcspbrk.texi: Mention the new module.
20348
20349 2011-02-06  Bruno Haible  <bruno@clisp.org>
20350
20351         New module 'wcsspn'.
20352         * modules/wcsspn: New file.
20353         * lib/wchar.in.h (wcsspn): New declaration.
20354         * lib/wcsspn.c: New file.
20355         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
20356         * m4/wcsspn.m4: New file.
20357         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
20358         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
20359         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
20360         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
20361         * doc/posix-functions/wcsspn.texi: Mention the new module.
20362
20363 2011-02-06  Bruno Haible  <bruno@clisp.org>
20364
20365         New module 'wcscspn'.
20366         * modules/wcscspn: New file.
20367         * lib/wchar.in.h (wcscspn): New declaration.
20368         * lib/wcscspn.c: New file.
20369         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
20370         * m4/wcscspn.m4: New file.
20371         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
20372         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
20373         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
20374         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
20375         * doc/posix-functions/wcscspn.texi: Mention the new module.
20376
20377 2011-02-06  Bruno Haible  <bruno@clisp.org>
20378
20379         New module 'wcsrchr'.
20380         * modules/wcsrchr: New file.
20381         * lib/wchar.in.h (wcsrchr): New declaration.
20382         * lib/wcsrchr.c: New file.
20383         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
20384         * m4/wcsrchr.m4: New file.
20385         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
20386         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
20387         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
20388         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
20389         * doc/posix-functions/wcsrchr.texi: Mention the new module.
20390
20391 2011-02-06  Bruno Haible  <bruno@clisp.org>
20392
20393         New module 'wcschr'.
20394         * modules/wcschr: New file.
20395         * lib/wchar.in.h (wcschr): New declaration.
20396         * lib/wcschr.c: New file.
20397         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
20398         * m4/wcschr.m4: New file.
20399         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
20400         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
20401         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
20402         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
20403         * doc/posix-functions/wcschr.texi: Mention the new module.
20404
20405 2011-02-06  Bruno Haible  <bruno@clisp.org>
20406
20407         New module 'wcsdup'.
20408         * modules/wcsdup: New file.
20409         * lib/wchar.in.h (wcsdup): New declaration.
20410         * lib/wcsdup.c: New file.
20411         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
20412         * m4/wcsdup.m4: New file.
20413         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
20414         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
20415         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
20416         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
20417         * doc/posix-functions/wcsdup.texi: Mention the new module.
20418
20419 2011-02-06  Bruno Haible  <bruno@clisp.org>
20420
20421         New module 'wcsxfrm'.
20422         * modules/wcsxfrm: New file.
20423         * lib/wchar.in.h (wcsxfrm): New declaration.
20424         * lib/wcsxfrm.c: New file.
20425         * lib/wcsxfrm-impl.h: New file.
20426         * m4/wcsxfrm.m4: New file.
20427         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
20428         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
20429         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
20430         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
20431         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
20432
20433 2011-02-06  Bruno Haible  <bruno@clisp.org>
20434
20435         New module 'wcscoll'.
20436         * modules/wcscoll: New file.
20437         * lib/wchar.in.h (wcscoll): New declaration.
20438         * lib/wcscoll.c: New file.
20439         * lib/wcscoll-impl.h: New file.
20440         * m4/wcscoll.m4: New file.
20441         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
20442         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
20443         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
20444         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
20445         * doc/posix-functions/wcscoll.texi: Mention the new module.
20446
20447 2011-02-06  Bruno Haible  <bruno@clisp.org>
20448
20449         New module 'wcsncasecmp'.
20450         * modules/wcsncasecmp: New file.
20451         * lib/wchar.in.h (wcsncasecmp): New declaration.
20452         * lib/wcsncasecmp.c: New file.
20453         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
20454         * m4/wcsncasecmp.m4: New file.
20455         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
20456         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
20457         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
20458         HAVE_WCSNCASECMP.
20459         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
20460         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
20461
20462 2011-02-06  Bruno Haible  <bruno@clisp.org>
20463
20464         New module 'wcscasecmp'.
20465         * modules/wcscasecmp: New file.
20466         * lib/wchar.in.h (wcscasecmp): New declaration.
20467         * lib/wcscasecmp.c: New file.
20468         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
20469         * m4/wcscasecmp.m4: New file.
20470         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
20471         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
20472         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
20473         HAVE_WCSCASECMP.
20474         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
20475         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
20476
20477 2011-02-05  Bruno Haible  <bruno@clisp.org>
20478
20479         New module 'wcsncmp'.
20480         * modules/wcsncmp: New file.
20481         * lib/wchar.in.h (wcsncmp): New declaration.
20482         * lib/wcsncmp.c: New file.
20483         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
20484         * m4/wcsncmp.m4: New file.
20485         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
20486         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
20487         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
20488         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
20489         * doc/posix-functions/wcsncmp.texi: Mention the new module.
20490
20491 2011-02-05  Bruno Haible  <bruno@clisp.org>
20492
20493         New module 'wcscmp'.
20494         * modules/wcscmp: New file.
20495         * lib/wchar.in.h (wcscmp): New declaration.
20496         * lib/wcscmp.c: New file.
20497         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
20498         * m4/wcscmp.m4: New file.
20499         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
20500         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
20501         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
20502         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
20503         * doc/posix-functions/wcscmp.texi: Mention the new module.
20504
20505 2011-02-05  Bruno Haible  <bruno@clisp.org>
20506
20507         New module 'wcsncat'.
20508         * modules/wcsncat: New file.
20509         * lib/wchar.in.h (wcsncat): New declaration.
20510         * lib/wcsncat.c: New file.
20511         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
20512         * m4/wcsncat.m4: New file.
20513         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
20514         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
20515         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
20516         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
20517         * doc/posix-functions/wcsncat.texi: Mention the new module.
20518
20519 2011-02-05  Bruno Haible  <bruno@clisp.org>
20520
20521         New module 'wcscat'.
20522         * modules/wcscat: New file.
20523         * lib/wchar.in.h (wcscat): New declaration.
20524         * lib/wcscat.c: New file.
20525         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
20526         * m4/wcscat.m4: New file.
20527         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
20528         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
20529         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
20530         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
20531         * doc/posix-functions/wcscat.texi: Mention the new module.
20532
20533 2011-02-05  Bruno Haible  <bruno@clisp.org>
20534
20535         New module 'wcpncpy'.
20536         * modules/wcpncpy: New file.
20537         * lib/wchar.in.h (wcpncpy): New declaration.
20538         * lib/wcpncpy.c: New file.
20539         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
20540         * m4/wcpncpy.m4: New file.
20541         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
20542         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
20543         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
20544         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
20545         * doc/posix-functions/wcpncpy.texi: Mention the new module.
20546
20547 2011-02-05  Bruno Haible  <bruno@clisp.org>
20548
20549         New module 'wcsncpy'.
20550         * modules/wcsncpy: New file.
20551         * lib/wchar.in.h (wcsncpy): New declaration.
20552         * lib/wcsncpy.c: New file.
20553         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
20554         * m4/wcsncpy.m4: New file.
20555         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
20556         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
20557         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
20558         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
20559         * doc/posix-functions/wcsncpy.texi: Mention the new module.
20560
20561 2011-02-05  Bruno Haible  <bruno@clisp.org>
20562
20563         New module 'wcpcpy'.
20564         * modules/wcpcpy: New file.
20565         * lib/wchar.in.h (wcpcpy): New declaration.
20566         * lib/wcpcpy.c: New file.
20567         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
20568         * m4/wcpcpy.m4: New file.
20569         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
20570         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
20571         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
20572         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
20573         * doc/posix-functions/wcpcpy.texi: Mention the new module.
20574
20575 2011-02-05  Bruno Haible  <bruno@clisp.org>
20576
20577         New module 'wcscpy'.
20578         * modules/wcscpy: New file.
20579         * lib/wchar.in.h (wcscpy): New declaration.
20580         * lib/wcscpy.c: New file.
20581         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
20582         * m4/wcscpy.m4: New file.
20583         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
20584         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
20585         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
20586         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
20587         * doc/posix-functions/wcscpy.texi: Mention the new module.
20588
20589 2011-02-05  Bruno Haible  <bruno@clisp.org>
20590
20591         New module 'wcsnlen'.
20592         * modules/wcsnlen: New file.
20593         * lib/wchar.in.h (wcsnlen): New declaration.
20594         * lib/wcsnlen.c: New file.
20595         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
20596         * m4/wcsnlen.m4: New file.
20597         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
20598         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
20599         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
20600         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
20601         * doc/posix-functions/wcsnlen.texi: Mention the new module.
20602
20603 2011-02-05  Bruno Haible  <bruno@clisp.org>
20604
20605         New module 'wcslen'.
20606         * modules/wcslen: New file.
20607         * lib/wchar.in.h (wcslen): New declaration.
20608         * lib/wcslen.c: New file.
20609         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
20610         * m4/wcslen.m4: New file.
20611         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
20612         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
20613         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
20614         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
20615         * doc/posix-functions/wcslen.texi: Mention the new module.
20616
20617 2011-02-05  Bruno Haible  <bruno@clisp.org>
20618
20619         New module 'wmemset'.
20620         * modules/wmemset: New file.
20621         * lib/wchar.in.h (wmemset): New declaration.
20622         * lib/wmemset.c: New file.
20623         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
20624         * m4/wmemset.m4: New file.
20625         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
20626         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
20627         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
20628         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
20629         * doc/posix-functions/wmemset.texi: Mention the new module.
20630
20631 2011-02-05  Bruno Haible  <bruno@clisp.org>
20632
20633         New module 'wmemmove'.
20634         * modules/wmemmove: New file.
20635         * lib/wchar.in.h (wmemmove): New declaration.
20636         * lib/wmemmove.c: New file.
20637         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
20638         * m4/wmemmove.m4: New file.
20639         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
20640         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
20641         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
20642         HAVE_WMEMMOVE.
20643         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
20644         * doc/posix-functions/wmemmove.texi: Mention the new module.
20645
20646 2011-02-05  Bruno Haible  <bruno@clisp.org>
20647
20648         New module 'wmemcpy'.
20649         * modules/wmemcpy: New file.
20650         * lib/wchar.in.h (wmemcpy): New declaration.
20651         * lib/wmemcpy.c: New file.
20652         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
20653         * m4/wmemcpy.m4: New file.
20654         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
20655         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
20656         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
20657         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
20658         * doc/posix-functions/wmemcpy.texi: Mention the new module.
20659
20660 2011-02-05  Bruno Haible  <bruno@clisp.org>
20661
20662         New module 'wmemcmp'.
20663         * modules/wmemcmp: New file.
20664         * lib/wchar.in.h (wmemcmp): New declaration.
20665         * lib/wmemcmp.c: New file.
20666         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
20667         * m4/wmemcmp.m4: New file.
20668         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
20669         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
20670         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
20671         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
20672         * doc/posix-functions/wmemcmp.texi: Mention the new module.
20673
20674 2011-02-07  Jim Meyering  <meyering@redhat.com>
20675
20676         di-set, ino-map: new modules, from coreutils
20677         * lib/di-set.c: New file.
20678         * lib/di-set.h: Likewise.
20679         * lib/ino-map.c: Likewise.
20680         * lib/ino-map.h: Likewise.
20681         * modules/di-set: Likewise.
20682         * modules/di-set-tests: Likewise.
20683         * modules/ino-map: Likewise.
20684         * modules/ino-map-tests: Likewise.
20685         * tests/test-di-set.c: Likewise.
20686         * tests/test-ino-map.c: Likewise.
20687
20688 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
20689
20690         getloadavg: merge minor changes from Emacs
20691
20692         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
20693         (getloadavg): Use memset, not bzero.
20694
20695         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
20696         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
20697         clash (bug#86).
20698
20699 2010-11-14  Bruno Haible  <bruno@clisp.org>
20700
20701         Allow multiple gnulib generated replacements to coexist.
20702         * lib/getopt.in.h (struct option): Avoid identical redefinition.
20703         * lib/inttypes.in.h (imaxdiv_t): Likewise.
20704         * lib/langinfo.in.h (nl_item): Likewise.
20705         * lib/math.in.h (_NaN, NAN): Likewise.
20706         * lib/netdb.in.h (struct addrinfo): Likewise.
20707         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
20708         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
20709         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
20710         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
20711         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
20712         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
20713         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
20714         pthread_mutexattr_init, pthread_mutexattr_settype,
20715         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
20716         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
20717         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
20718         pthread_spin_trylock, pthread_spin_unlock): Likewise.
20719         * lib/sched.in.h (struct sched_param): Likewise.
20720         * lib/se-selinux.in.h (security_class_t, security_context_t,
20721         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
20722         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
20723         lsetfilecon, fsetfilecon, security_check_context,
20724         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
20725         Likewise.
20726         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
20727         Likewise.
20728         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
20729         _gl_function_taking_int_returning_void_t, union sigval,
20730         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
20731         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
20732         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
20733         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
20734         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
20735         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
20736         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
20737         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
20738         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
20739         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
20740         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
20741         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
20742         socklen_t, rpl_fd_isset): Likewise.
20743         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
20744         * lib/sys_time.in.h (struct timeval): Likewise.
20745         * lib/sys_times.in.h (struct tms): Likewise.
20746         * lib/sys_utsname.in.h (struct utsname):
20747         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
20748         * lib/unistd.in.h (getpagesize): Likewise.
20749         * lib/wchar.in.h (mbstate_t): Likewise.
20750         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
20751         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
20752         towlower, towupper): Likewise.
20753         Reported by Sam Steingold <sds@gnu.org>.
20754
20755 2011-02-05  Eric Blake  <eblake@redhat.com>
20756
20757         unsetenv: work around Haiku issues
20758         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
20759         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
20760
20761 2010-12-30  Bruce Korb  <bkorb@gnu.org>
20762
20763         libposix: avoid calling error() within libposix
20764         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
20765         is defined.
20766
20767 2011-02-05  Eric Blake  <eblake@redhat.com>
20768
20769         strerror_r-posix: port to cygwin
20770         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
20771         implementation.
20772         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
20773         * tests/test-strerror_r.c (main): Fix test.
20774         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
20775         issue.
20776
20777 2011-02-05  Bruno Haible  <bruno@clisp.org>
20778
20779         New module 'wmemchr'.
20780         * modules/wmemchr: New file.
20781         * lib/wchar.in.h (wmemchr): New declaration.
20782         * lib/wmemchr.c: New file.
20783         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
20784         * m4/wmemchr.m4: New file.
20785         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
20786         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
20787         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
20788         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
20789         * doc/posix-functions/wmemchr.texi: Mention the new module.
20790
20791 2011-02-04  Eric Blake  <eblake@redhat.com>
20792
20793         fdopendir: detect FreeBSD bug
20794         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
20795         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
20796
20797 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
20798
20799         stdbool: do not define HAVE_STDBOOL_H
20800         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
20801         AC_HEADER_STDBOOL.  All uses changed.  Do not define
20802         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
20803         imported from the latest Autoconf git.  It was motivated by Emacs,
20804         which uses gnulib but does not need HAVE_STDBOOL_H.
20805
20806 2011-02-04  Bruno Haible  <bruno@clisp.org>
20807
20808         wcsnrtombs: Prepare for new module wwcsnrtombs.
20809         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
20810         * lib/wcsnrtombs.c: Include it.
20811         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
20812
20813         wcsrtombs: Prepare for new module wwcsrtombs.
20814         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
20815         * lib/wcsrtombs.c: Include it.
20816         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
20817
20818         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
20819         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
20820         * lib/mbsnrtowcs.c: Include it.
20821         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
20822
20823         mbsrtowcs: Prepare for new module mbsrtowwcs.
20824         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
20825         * lib/mbsrtowcs.c: Include it.
20826         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
20827
20828 2011-02-04  Bruno Haible  <bruno@clisp.org>
20829
20830         vasnprintf: Reduce use of malloc for small format strings.
20831         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
20832         (arguments): Add room for the first 7 arguments.
20833         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
20834         (char_directives, u8_directives, u16_directives, u32_directives): Add
20835         room for the first 7 directives.
20836         * lib/printf-parse.c: Include <string.h>.
20837         (PRINTF_PARSE): Change memory handling code so that it uses the first
20838         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
20839         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
20840         Reported by Pádraig Brady <P@draigbrady.com>.
20841
20842 2011-01-31  Eric Blake  <eblake@redhat.com>
20843
20844         dup2: work around Haiku bug
20845         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
20846         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
20847         * doc/posix-functions/dup2.texi (dup2): Document the bug.
20848         * tests/test-dup2.c (main): Enhance test.
20849
20850 2011-01-31  Simon Josefsson  <simon@josefsson.org>
20851
20852         doc: off_t is not available in eglibc 2.11.2 stdio.h.
20853         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
20854         declared by eglibc 2.11.2.
20855         * lib/stdio.in.h: Likewise.
20856
20857 2011-01-31  Eric Blake  <eblake@redhat.com>
20858
20859         ignore-value: add missing test dependency
20860         * tests/test-ignore-value.c: Revert previous change; stdio.h
20861         provides off_t.
20862         * modules/ignore-value-tests (Depends-on): Add missing dependency.
20863
20864 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
20865
20866         mktime: clarify long_int width checking
20867         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
20868         the top level, to make it clearer that the assumption about
20869         long_int width is being checked.  See
20870         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
20871
20872 2011-01-30  Simon Josefsson  <simon@josefsson.org>
20873
20874         ignore-value: Fix self-test.
20875         * tests/test-ignore-value.c: Include sys/types.h for off_t.
20876
20877 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
20878
20879         TYPE_MAXIMUM: avoid theoretically undefined behavior
20880         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
20881         negative number, which the C Standard says has undefined behavior.
20882         In practice this is not a problem, but might as well do it by the book.
20883         Reported by Rich Felker and Eric Blake; see
20884         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
20885         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
20886         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
20887         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
20888         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
20889         * m4/stdint.m4 (gl_STDINT_H): Likewise.
20890         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
20891
20892         mktime: #undef mktime before #defining it
20893         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
20894
20895         mktime: systematically normalize tm_isdst comparisons
20896         * lib/mktime.c (isdst_differ): New function.
20897         (__mktime_internal): Use it systematically for all isdst comparisons.
20898         This completes the fix for libc BZ #6723, and removes the need for
20899         normalizing tm_isdst.  See
20900         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
20901         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
20902
20903         mktime: fix some integer overflow issues and sidestep the rest
20904
20905         This was prompted by a bug report by Benjamin Lindner for MinGW
20906         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
20907         His bug is due to signed integer overflow (0 - INT_MIN), and I
20908         I scanned through mktime.c looking for other integer overflow
20909         problems, fixing all the bugs I found.
20910
20911         Although the C Standard says the resulting code is still not safe
20912         in the presence of integer overflow, in practice it should be good
20913         enough for all real-world two's-complement implementations, except
20914         for debugging environments that deliberately trap on integer
20915         overflow (e.g., gcc -ftrapv).
20916
20917         * lib/mktime.c (WRAPV): New macro.
20918         (SHR): Also check that long_int and time_t shift right in the
20919         usual way, before using the fast-but-unportable method.
20920         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
20921         used.  The code already assumed two's complement, so there's
20922         no need to test for alternatives.  All uses removed.
20923         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
20924         the C standard.  Problem reported by Rich Felker in
20925         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
20926         (twos_complement_arithmetic): Also check long_int and time_t.
20927         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
20928         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
20929         (__mktime_internal): Avoid integer overflow with unary subtraction
20930         in two instances where -1 - X is an adequate replacement for -X,
20931         since the calculations are approximate.
20932
20933 2011-01-29  Eric Blake  <eblake@redhat.com>
20934
20935         mktime: avoid infinite loop
20936         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
20937         type; behavior is still undefined but portable to all known targets.
20938         Reported by Rich Felker.
20939
20940 2011-01-29  Simon Josefsson  <simon@josefsson.org>
20941
20942         rename, unlink, same-inode: Relicense.
20943         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
20944         * modules/unlink (License): Likewise.
20945         * modules/same-inode (License): Likewise.
20946
20947 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
20948
20949         mktime: avoid problems on NetBSD 5 / i386
20950         * lib/mktime.c (long_int): New type.  This works around a problem
20951         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
20952         but time_t is 64 bits, and where I expect the existing code is
20953         wrong in some cases.
20954         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
20955         (ydhms_diff): Bring back the compile-time check for wide-enough
20956         year and yday.
20957
20958         mktime: fix misspelling in comment
20959         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
20960         This merges all recent glibc changes of importance.
20961
20962 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20963
20964         move-if-change: cope with concurrent mv of identical file.
20965         * build-aux/move-if-change (CMPPROG): Accept environment
20966         variable as an override for `cmp'.
20967         (usage): Document CMPPROG.
20968         Adjust comparison to drop stdout.  Cope with failure of mv if
20969         the target file exists and is identical to the source, for
20970         parallel builds.
20971         Report from H.J. Lu against binutils in PR binutils/12283.
20972
20973 2011-01-28  Bruce Korb  <bkorb@gnu.org>
20974
20975         * users.txt: Mention sharutils.
20976
20977 2011-01-28  Simon Josefsson  <simon@josefsson.org>
20978
20979         * users.txt: Mention OATH Toolkit.
20980
20981 2011-01-27  Bruno Haible  <bruno@clisp.org>
20982
20983         Prepare for supporting FreeBSD 10.
20984         * build-aux/config.libpath: Remove handling of freebsd1*.
20985
20986 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
20987
20988         Prepare for supporting FreeBSD 10.
20989         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
20990         match FreeBSD 10.0.
20991
20992 2011-01-27  Bruno Haible  <bruno@clisp.org>
20993
20994         vma-iter, get-rusage-as: Add OpenBSD support.
20995         * modules/vma-iter (configure.ac): Test for mquery.
20996         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
20997         * lib/vma-iter.c: Include <sys/mman.h>.
20998         (vma_iterate): Add an implementation based on mquery().
20999         * lib/resource-ext.h (get_rusage_as): Update comments.
21000         * lib/get-rusage-as.c: Likewise.
21001         * lib/get-rusage-data.c: Likewise.
21002
21003 2011-01-26  Karl Berry  <karl@gnu.org>
21004
21005         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
21006         variables to make it easier to override the makeinfo program used.
21007
21008 2011-01-26  Eric Blake  <eblake@redhat.com>
21009
21010         fcntl: work around Haiku F_DUPFD bugs
21011         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
21012         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
21013         cloexec bit on duplication.
21014         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
21015
21016 2011-01-26  Bruno Haible  <bruno@clisp.org>
21017
21018         Enable memory leak tests on AIX.
21019         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
21020         * tests/test-fprintf-posix3.c (main): Likewise.
21021
21022 2011-01-26  Bruno Haible  <bruno@clisp.org>
21023
21024         Tests for module 'get-rusage-data'.
21025         * modules/get-rusage-data-tests: New file.
21026         * tests/test-get-rusage-data.c: New file.
21027
21028         New module 'get-rusage-data'.
21029         * lib/resource-ext.h (get_rusage_data): New declaration.
21030         * lib/get-rusage-data.c: New file.
21031         * modules/get-rusage-data: New file.
21032
21033 2011-01-25  Bruno Haible  <bruno@clisp.org>
21034
21035         get-rusage-as: Allow for easier testing.
21036         * lib/resource-ext.h (get_rusage_as): Add comment.
21037         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
21038         (main): New function for interactive testing.
21039
21040 2011-01-25  Bruno Haible  <bruno@clisp.org>
21041
21042         vma-iter: Treat Haiku like BeOS.
21043         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
21044         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
21045
21046 2011-01-25  Eric Blake  <eblake@redhat.com>
21047
21048         c-stack: fix regression on cygwin when libsigsegv is present
21049         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
21050
21051 2011-01-24  Bruno Haible  <bruno@clisp.org>
21052
21053         vma-iter: Avoid empty intervals.
21054         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
21055         on an empty interval.
21056
21057 2011-01-24  Jim Meyering  <meyering@redhat.com>
21058
21059         u64: remove unnecessary #include
21060         * lib/u64.h: Don't include <stddef.h>.  It was not used.
21061
21062 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
21063
21064         Allow the user to avoid the HAVE_RAW_DECL_* macros.
21065         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
21066
21067 2011-01-23  Bruno Haible  <bruno@clisp.org>
21068
21069         New module 'vma-iter'.
21070         * lib/vma-iter.h: New file.
21071         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
21072         * modules/vma-iter: New file.
21073         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
21074         for get_rusage_as_via_iterator.
21075         (vma_iterate_callback): New function.
21076         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
21077         * modules/get-rusage-as (Depends-on): Add vma-iter.
21078
21079 2011-01-23  Bruno Haible  <bruno@clisp.org>
21080
21081         uninorm: Tweak includes.
21082         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
21083         Reported by Jim Meyering.
21084
21085 2011-01-23  Bruno Haible  <bruno@clisp.org>
21086
21087         get-rusage-as: Improve on NetBSD.
21088         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
21089         /proc, like on FreeBSD.
21090
21091 2011-01-23  Jim Meyering  <meyering@redhat.com>
21092
21093         xreadlink.h: remove unnecessary #include
21094         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
21095
21096         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
21097         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
21098
21099 2011-01-23  Bruno Haible  <bruno@clisp.org>
21100
21101         get-rusage-as: Fix bug.
21102         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
21103         original limit when aborting the first loop.
21104
21105 2011-01-23  Bruno Haible  <bruno@clisp.org>
21106
21107         wctype: Ensure valid C syntax.
21108         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
21109         unconditionally, instead of gl_NEXT_HEADERS conditionally.
21110
21111 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
21112
21113         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
21114         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
21115         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
21116         as they are needed only for configure's test case.
21117         This removes two unnecessary symbols from config.h.
21118
21119         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
21120         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
21121         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
21122         AC_CHECK_HEADERS_ONCE on a header that we also invoke
21123         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
21124         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
21125         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
21126         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
21127         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
21128         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
21129         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
21130         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
21131         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
21132         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
21133         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
21134         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
21135         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
21136         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
21137
21138 2011-01-21  Eric Blake  <eblake@redhat.com>
21139
21140         maintainer-makefile: work with older git for submodule check
21141         * top/maint.mk (public-submodule-commit): Rewrite to avoid
21142         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
21143         Reported by Matthias Bolte.
21144
21145         bootstrap: minor portability fixes
21146         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
21147         (usage): Omit leading capital and trailing . on help phrases, per
21148         GNU Coding Standards.
21149         (check_versions, top level): Prefix messages with script name.
21150
21151 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
21152
21153         bootstrap: support --no-git option
21154         * build-aux/bootstrap: Add --no-git option, to be used when
21155         --gnulib-srcdir points to the exact desired checkout.
21156
21157 2011-01-21  Eric Blake  <eblake@redhat.com>
21158
21159         strerror_r-posix: work with glibc 2.13
21160         * lib/strerror_r.c (strerror_r): Fix return type.
21161
21162 2011-01-21  Pádraig Brady  <P@draigBrady.com>
21163             Bruno Haible  <bruno@clisp.org>
21164
21165         uN_strstr: New unit tests.
21166         * modules/unistr/u8-strstr-tests: New file.
21167         * modules/unistr/u16-strstr-tests: New file.
21168         * modules/unistr/u32-strstr-tests: New file.
21169         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
21170         * tests/unistr/test-u8-strstr.c: New file.
21171         * tests/unistr/test-u16-strstr.c: New file.
21172         * tests/unistr/test-u32-strstr.c: New file.
21173
21174 2011-01-21  Pádraig Brady  <P@draigBrady.com>
21175             Bruno Haible  <bruno@clisp.org>
21176
21177         Make uN_strstr functions O(n) worst-case.
21178         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
21179         16-bit and 32-bit unit cases, use the unibyte algorithm from
21180         lib/mbsstr.c.
21181         * lib/unistr/u8-strstr.c: Include <string.h>.
21182         (UNIT_IS_UINT8_T): New macro.
21183         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
21184         (U_STRLEN, U_STRNLEN): New macros.
21185         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
21186         (U_STRLEN, U_STRNLEN): New macros.
21187         * modules/unistr/u8-strstr (Depends-on): Add strstr.
21188         (configure.ac): Update required libunistring version.
21189         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
21190         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
21191         malloca.
21192         (configure.ac): Update required libunistring version.
21193         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
21194         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
21195         malloca.
21196         (configure.ac): Update required libunistring version.
21197
21198 2011-01-21  Pádraig Brady  <P@draigBrady.com>
21199             Bruno Haible  <bruno@clisp.org>
21200
21201         Prepare for faster uN_strstr functions.
21202         * lib/str-kmp.h: Support definable UNITs.
21203         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
21204         needle_len argument.
21205         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
21206         * lib/mbscasestr.c (mbscasestr): Likewise.
21207
21208 2011-01-21  Pádraig Brady <P@draigBrady.com>
21209
21210         malloca-tests: make faster by unsetting MALLOC_PERTURB_
21211         * tests/test-malloca.c (main): Unset the environment variable
21212         to greatly speed up the test.
21213         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
21214         * modules/malloca-tests: Depend on unsetenv.
21215
21216 2011-01-21  Pádraig Brady <P@draigBrady.com>
21217
21218         ignore-value: remove stdint dependency
21219         * lib/ignore-value.h: Remove <stdint.h>
21220         * modules/ignore-value: Remove stdint dependency.
21221
21222 2011-01-21  Jim Meyering  <meyering@redhat.com>
21223
21224         maint.mk: adjust variable name to be consistent with other gl_ vars
21225         * top/maint.mk (gl_public_submodule_commit): Rename the variable
21226         to be lower case.
21227
21228 2011-01-20  Jim Meyering  <meyering@redhat.com>
21229
21230         maint.mk: make "check" depend on public-submodule-commit by default
21231         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
21232
21233 2011-01-20  Bruno Haible  <bruno@clisp.org>
21234
21235         mbfile, mbiter: Complete change from 2008-12-21.
21236         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
21237         * m4/mbiter.m4 (gl_MBITER): Likewise.
21238
21239 2011-01-20  Jim Meyering  <meyering@redhat.com>
21240
21241         init.sh: insert space between each function name and "()"
21242         * tests/init.sh: Make it a little easier to see that a function's
21243         name is "warn_", and not "warn" when looking at the first part of
21244         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
21245
21246 2011-01-20  Jim Meyering  <meyering@redhat.com>
21247
21248         mountlist: clean up code formatting
21249         * lib/mountlist.c (read_file_system_list): Split a long line,
21250         correct bracing style, use NULL in place of "(struct statfs *)0",
21251         don't parenthesize return value, add spaces around "=" and after
21252         ";-in-for-stmt".
21253
21254 2011-01-14  Markus Duft <mduft@gentoo.org>
21255
21256         mountlist: add support for Interix
21257         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
21258         Apply statvfs to all entries of /dev/fs.
21259         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
21260         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
21261
21262 2011-01-20  Jim Meyering  <meyering@redhat.com>
21263
21264         maint.mk: improve the public-submodule-commit rule
21265         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
21266         to suppress printing of its commands... unless V=1.
21267         Add git submodule's --quiet option to suppress printing of e.g.,
21268         "Entering gnulib" output.
21269         "cd" into $(srcdir) before running git submodule.
21270
21271 2011-01-20  Bruno Haible  <bruno@clisp.org>
21272
21273         include_next: Fix bug introduced on 2011-01-18.
21274         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
21275         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
21276         ac_cv_header_... variable if the second argument is not 'check'.
21277         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
21278         gl_NEXT_HEADERS_INTERNAL.
21279
21280 2011-01-20  Bruno Haible  <bruno@clisp.org>
21281
21282         Allow the user to avoid the GNULIB_TEST_* macros.
21283         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
21284         Suggested by Paul Eggert.
21285
21286 2011-01-14  Jim Meyering  <meyering@redhat.com>
21287
21288         bootstrap: avoid failure when there is no .gitmodules file
21289         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
21290         has been assigned to, even when its value is the empty string.
21291         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
21292         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
21293         Reported by John W. Eaton <jwe@gnu.org>.
21294
21295 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
21296
21297         assume <ctype.h>, ..., <time.h> exist
21298         For years gnulib has been assuming the existence of the headers
21299         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
21300         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
21301         them, since they don't appear to be needed.
21302         * README (Portability guidelines): Document this.
21303         * lib/flock.c: Assume <fcntl.h> exists.
21304         * lib/regex_internal.h: Assume <locale.h> exists.
21305         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
21306         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
21307         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
21308         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
21309         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
21310         * m4/regex.m4 (gl_REGEX): Likewise.
21311         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
21312         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
21313         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
21314         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
21315         * tests/test-argp.c: Likewise.
21316         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
21317
21318         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
21319         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
21320         AA_APPLE_UNIVERSAL_BUILD.  See
21321         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
21322         * NEWS: Document this.
21323
21324 2011-01-19  Eric Blake  <eblake@redhat.com>
21325
21326         c-stack: assume stack overflow if SA_SIGINFO unsupported
21327         * lib/c-stack.c (SIGACTION_WORKS): Rename...
21328         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
21329         sigaction will work.
21330         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
21331         behavior match Linux.
21332         * tests/test-c-stack.c (main): Prefer NULL for pointers.
21333
21334         stdbool-tests: accomodate Haiku
21335         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
21336
21337         binary-io: fix O_TEXT on Haiku
21338         * modules/binary-io (Depends-on): Add fcntl-h.
21339         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
21340         than blindly undefining O_TEXT.
21341         Reported by Scott McCreary.
21342
21343 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
21344
21345         include_next: do not check for standard headers like stddef.h
21346
21347         I found this problem when modifying Emacs to use gnulib.
21348         I noticed that it added HAVE_STDDEF_H to config.h, even though
21349         gnulib always assumes <stddef.h> exists as per README and this
21350         symbol is unnecessary.
21351         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
21352         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
21353         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
21354         faster for headers like stddef.h that are known to exist.
21355         (gl_CHECK_NEXT_HEADERS): Use it.
21356         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
21357         rather than gl_CHECK_NEXT_HEADERS.
21358         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
21359         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
21360
21361 2011-01-18  Eric Blake  <eblake@redhat.com>
21362
21363         ansi-c++-opt: skip C++ dependency style if C++ is unused
21364         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
21365         tests when we know C++ compilation is not desired.
21366         Reported by Scott McCreary.
21367
21368 2011-01-18  Bruno Haible  <bruno@clisp.org>
21369
21370         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
21371         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
21372         (main): Perform test also when getrlimit and setrlimit don't exist or
21373         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
21374         limiting the address space size using setrlimit, compare the address
21375         space size before and after the the test.
21376         * tests/test-dprintf-posix2.c: Likewise.
21377         * tests/test-fprintf-posix3.sh: Update skip messages.
21378         * tests/test-dprintf-posix2.sh: Likewise.
21379         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
21380         * modules/dprintf-posix-tests (Depends-on): Likewise.
21381         Reported by Bruce Korb <bkorb@gnu.org> and
21382         Gary V. Vaughan <gary@gnu.org>.
21383
21384 2011-01-18  Bruno Haible  <bruno@clisp.org>
21385
21386         get-rusage-as: Improvement for Cygwin.
21387         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
21388         areas that are merely reserved.
21389
21390 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
21391
21392         strftime: remove dependencies on multibyte modules
21393
21394         strftime depended on mbrlen, mbsinit, and wchar, but these modules
21395         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
21396         only if __osf__ is defined, and I suspect OSF doesn't need these
21397         other modules.  If my guess is wrong, we'll need to come up with a
21398         variant of strftime that doesn't need the multibyte modules.
21399
21400         I discovered this problem when attempting modify Emacs to use the
21401         strftime module.  With the previous gnulib, this caused Emacs to
21402         need 31 new files, ranging from lib/config.charset to
21403         m4/wint_t.m4.  This was overkill and I expect would be offputting
21404         to the Emacs maintainers.  After this change, only 6 new files are
21405         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
21406         stdbool.m4, and tm_gmtoff.m4.
21407
21408         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
21409         Suggested by Bruno Haible in
21410         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
21411         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
21412         and do not check for wchar.h.
21413         * modules/strftime (Files): Remove m4/mbstate_t.m4.
21414         (Depends-on): Remove mbrlen, mbsinit, wchar.
21415
21416 2011-01-18  Bruno Haible  <bruno@clisp.org>
21417
21418         Tests for module 'get-rusage-as'.
21419         * modules/get-rusage-as-tests: New file.
21420         * tests/test-get-rusage-as.c: New file.
21421
21422         New module 'get-rusage-as'.
21423         * modules/get-rusage-as: New file.
21424         * lib/resource-ext.h: New file.
21425         * lib/get-rusage-as.c: New file.
21426
21427 2011-01-17  Eric Blake  <eblake@redhat.com>
21428
21429         sigaction: relax license from LGPLv3+ to LGPLv2+
21430         * modules/sigaction (License): Relax to LGPLv2+.
21431
21432 2011-01-14  Bruno Haible  <bruno@clisp.org>
21433
21434         filemode: Make function declarations usable in C++ mode.
21435         * lib/filemode.h: Enclose function declarations in extern "C" block.
21436         Reported by John W. Eaton <jwe@gnu.org>.
21437
21438 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
21439
21440         save-cwd: no longer include "xgetcwd.h"
21441         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
21442         This avoids a compilation failure in projects that use save-cwd
21443         without also using the xgetcwd module.
21444
21445 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
21446
21447         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
21448         This is so that a program like Emacs, which needs only dtoastr,
21449         does not have to bother with distributing and compiling ftoastr
21450         and ldtoastr.
21451         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
21452         * modules/dtoastr, modules/ldtoastr: New files.
21453         * modules/ftoastr: Now works just for 'float'.
21454         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
21455         (Makefile.am): Remove ftoastr.h (not needed and no effect),
21456         dtoastr.c, ldtoastr.c.
21457
21458 2011-01-11  Jim Meyering  <meyering@redhat.com>
21459
21460         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
21461         There is no need to work around the lack of the fchdir function,
21462         since gnulib can now provide a replacement when required.
21463         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
21464         * modules/save-cwd (Depends-on): Add fchdir.
21465
21466 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
21467
21468         openat, save-cwd: avoid xmalloc
21469
21470         This removes a direct (but undocumented) dependency of openat on
21471         xalloc, along with an indirect dependency via save-cwd.  It also
21472         removes a dependency of save-cwd on xgetcwd, and thereby
21473         indirectly on xalloc.  This change causes the openat substitute
21474         to fall back on save_cwd when memory is tight, and for save_cwd to
21475         fail instead of dying when memory is tight, but that's good enough.
21476         Problem and initial idea for fix reported by Bastien Roucaries in
21477         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
21478
21479         * lib/openat-proc.c: Include stdlib.h (for malloc), not
21480         xalloc.h (for xmalloc).
21481         (openat_proc_name): Use malloc, not xmalloc.
21482         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
21483         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
21484
21485         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
21486         This avoids heap allocation for file names whose lengths are in
21487         the range 512..1023, with the upper bound increasing to at most
21488         4031 depending on the platform's PATH_MAX.  (We do not want
21489         pathmax.h here as it might supply a non-constant PATH_MAX.)
21490         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
21491         Perhaps they should be moved to malloca.h?
21492         (OPENAT_BUFFER_SIZE): Use them.
21493
21494 2011-01-10  Bruno Haible  <bruno@clisp.org>
21495
21496         doc: Update users.txt.
21497         * users.txt: Add recutils.
21498
21499 2011-01-09  Karl Berry  <karl@gnu.org>
21500
21501         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
21502
21503         * doc/configmake.texi: New file.
21504         * doc/gnulib.texi: Include it.
21505         * modules/configmake: Move documentation from here.
21506
21507 2011-01-09  Bruno Haible  <bruno@clisp.org>
21508
21509         Update to Unicode 6.0.0.
21510         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
21511         (get_lbp): Update for Unicode 6.0.0.
21512         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
21513         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
21514         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
21515         U+11001, U+11038..U+11046. Remove U+06DE.
21516         (uc_width): Fix bounds of planes.
21517         * tests/uniwidth/test-uc_width2.sh: Same updates as in
21518         lib/uniwidth/width.c.
21519         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
21520         trailing whitespace removed.
21521         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
21522         without comments, but with the original copyright notice.
21523         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
21524         * lib/unicase/ignorable.h: Likewise.
21525         * lib/unicase/tocasefold.h: Likewise.
21526         * lib/unicase/tolower.h: Likewise.
21527         * lib/unicase/totitle.h: Likewise.
21528         * lib/unicase/toupper.h: Likewise.
21529         * lib/unictype/bidi_of.h: Likewise.
21530         * lib/unictype/blocks.h: Likewise.
21531         * lib/unictype/categ_C.h: Likewise.
21532         * lib/unictype/categ_Cn.h: Likewise.
21533         * lib/unictype/categ_L.h: Likewise.
21534         * lib/unictype/categ_Ll.h: Likewise.
21535         * lib/unictype/categ_Lm.h: Likewise.
21536         * lib/unictype/categ_Lo.h: Likewise.
21537         * lib/unictype/categ_Lu.h: Likewise.
21538         * lib/unictype/categ_M.h: Likewise.
21539         * lib/unictype/categ_Mc.h: Likewise.
21540         * lib/unictype/categ_Me.h: Likewise.
21541         * lib/unictype/categ_Mn.h: Likewise.
21542         * lib/unictype/categ_N.h: Likewise.
21543         * lib/unictype/categ_Nd.h: Likewise.
21544         * lib/unictype/categ_No.h: Likewise.
21545         * lib/unictype/categ_P.h: Likewise.
21546         * lib/unictype/categ_Po.h: Likewise.
21547         * lib/unictype/categ_S.h: Likewise.
21548         * lib/unictype/categ_Sc.h: Likewise.
21549         * lib/unictype/categ_Sk.h: Likewise.
21550         * lib/unictype/categ_Sm.h: Likewise.
21551         * lib/unictype/categ_So.h: Likewise.
21552         * lib/unictype/categ_of.h: Likewise.
21553         * lib/unictype/combining.h: Likewise.
21554         * lib/unictype/ctype_alnum.h: Likewise.
21555         * lib/unictype/ctype_alpha.h: Likewise.
21556         * lib/unictype/ctype_graph.h: Likewise.
21557         * lib/unictype/ctype_lower.h: Likewise.
21558         * lib/unictype/ctype_print.h: Likewise.
21559         * lib/unictype/ctype_punct.h: Likewise.
21560         * lib/unictype/ctype_upper.h: Likewise.
21561         * lib/unictype/decdigit.h: Likewise.
21562         * lib/unictype/digit.h: Likewise.
21563         * lib/unictype/numeric.h: Likewise.
21564         * lib/unictype/pr_alphabetic.h: Likewise.
21565         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
21566         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
21567         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
21568         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
21569         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
21570         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
21571         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
21572         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
21573         * lib/unictype/pr_case_ignorable.h: Likewise.
21574         * lib/unictype/pr_cased.h: Likewise.
21575         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
21576         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
21577         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
21578         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
21579         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
21580         * lib/unictype/pr_combining.h: Likewise.
21581         * lib/unictype/pr_composite.h: Likewise.
21582         * lib/unictype/pr_currency_symbol.h: Likewise.
21583         * lib/unictype/pr_decimal_digit.h: Likewise.
21584         * lib/unictype/pr_deprecated.h: Likewise.
21585         * lib/unictype/pr_format_control.h: Likewise.
21586         * lib/unictype/pr_grapheme_base.h: Likewise.
21587         * lib/unictype/pr_grapheme_extend.h: Likewise.
21588         * lib/unictype/pr_grapheme_link.h: Likewise.
21589         * lib/unictype/pr_id_continue.h: Likewise.
21590         * lib/unictype/pr_id_start.h: Likewise.
21591         * lib/unictype/pr_ideographic.h: Likewise.
21592         * lib/unictype/pr_lowercase.h: Likewise.
21593         * lib/unictype/pr_math.h: Likewise.
21594         * lib/unictype/pr_numeric.h: Likewise.
21595         * lib/unictype/pr_other_alphabetic.h: Likewise.
21596         * lib/unictype/pr_other_id_continue.h: Likewise.
21597         * lib/unictype/pr_other_math.h: Likewise.
21598         * lib/unictype/pr_punctuation.h: Likewise.
21599         * lib/unictype/pr_sentence_terminal.h: Likewise.
21600         * lib/unictype/pr_terminal_punctuation.h: Likewise.
21601         * lib/unictype/pr_unassigned_code_value.h: Likewise.
21602         * lib/unictype/pr_unified_ideograph.h: Likewise.
21603         * lib/unictype/pr_uppercase.h: Likewise.
21604         * lib/unictype/pr_xid_continue.h: Likewise.
21605         * lib/unictype/pr_xid_start.h: Likewise.
21606         * lib/unictype/scripts.h: Likewise.
21607         * lib/unictype/scripts_byname.gperf: Likewise.
21608         * lib/unictype/sy_java_ident.h: Likewise.
21609         * lib/unigbrk/gbrkprop.h: Likewise.
21610         * lib/unilbrk/lbrkprop1.h: Likewise.
21611         * lib/unilbrk/lbrkprop2.h: Likewise.
21612         * lib/uninorm/decomposition-table2.h: Likewise.
21613         * lib/uniwbrk/wbrkprop.h: Likewise.
21614         * tests/unicase/test-cased.c: Likewise.
21615         * tests/unicase/test-ignorable.c: Likewise.
21616         * tests/unicase/test-uc_tolower.c: Likewise.
21617         * tests/unicase/test-uc_totitle.c: Likewise.
21618         * tests/unicase/test-uc_toupper.c: Likewise.
21619         * tests/unictype/test-categ_C.c: Likewise.
21620         * tests/unictype/test-categ_Cn.c: Likewise.
21621         * tests/unictype/test-categ_L.c: Likewise.
21622         * tests/unictype/test-categ_Ll.c: Likewise.
21623         * tests/unictype/test-categ_Lm.c: Likewise.
21624         * tests/unictype/test-categ_Lo.c: Likewise.
21625         * tests/unictype/test-categ_Lu.c: Likewise.
21626         * tests/unictype/test-categ_M.c: Likewise.
21627         * tests/unictype/test-categ_Mc.c: Likewise.
21628         * tests/unictype/test-categ_Me.c: Likewise.
21629         * tests/unictype/test-categ_Mn.c: Likewise.
21630         * tests/unictype/test-categ_N.c: Likewise.
21631         * tests/unictype/test-categ_Nd.c: Likewise.
21632         * tests/unictype/test-categ_No.c: Likewise.
21633         * tests/unictype/test-categ_P.c: Likewise.
21634         * tests/unictype/test-categ_Po.c: Likewise.
21635         * tests/unictype/test-categ_S.c: Likewise.
21636         * tests/unictype/test-categ_Sc.c: Likewise.
21637         * tests/unictype/test-categ_Sk.c: Likewise.
21638         * tests/unictype/test-categ_Sm.c: Likewise.
21639         * tests/unictype/test-categ_So.c: Likewise.
21640         * tests/unictype/test-ctype_alnum.c: Likewise.
21641         * tests/unictype/test-ctype_alpha.c: Likewise.
21642         * tests/unictype/test-ctype_graph.c: Likewise.
21643         * tests/unictype/test-ctype_lower.c: Likewise.
21644         * tests/unictype/test-ctype_print.c: Likewise.
21645         * tests/unictype/test-ctype_punct.c: Likewise.
21646         * tests/unictype/test-ctype_upper.c: Likewise.
21647         * tests/unictype/test-decdigit.h: Likewise.
21648         * tests/unictype/test-digit.h: Likewise.
21649         * tests/unictype/test-numeric.h: Likewise.
21650         * tests/unictype/test-pr_alphabetic.c: Likewise.
21651         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
21652         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
21653         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
21654         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
21655         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
21656         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
21657         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
21658         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
21659         * tests/unictype/test-pr_case_ignorable.c: Likewise.
21660         * tests/unictype/test-pr_cased.c: Likewise.
21661         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
21662         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
21663         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
21664         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
21665         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
21666         * tests/unictype/test-pr_combining.c: Likewise.
21667         * tests/unictype/test-pr_composite.c: Likewise.
21668         * tests/unictype/test-pr_currency_symbol.c: Likewise.
21669         * tests/unictype/test-pr_decimal_digit.c: Likewise.
21670         * tests/unictype/test-pr_deprecated.c: Likewise.
21671         * tests/unictype/test-pr_format_control.c: Likewise.
21672         * tests/unictype/test-pr_grapheme_base.c: Likewise.
21673         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
21674         * tests/unictype/test-pr_grapheme_link.c: Likewise.
21675         * tests/unictype/test-pr_id_continue.c: Likewise.
21676         * tests/unictype/test-pr_id_start.c: Likewise.
21677         * tests/unictype/test-pr_ideographic.c: Likewise.
21678         * tests/unictype/test-pr_lowercase.c: Likewise.
21679         * tests/unictype/test-pr_math.c: Likewise.
21680         * tests/unictype/test-pr_numeric.c: Likewise.
21681         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
21682         * tests/unictype/test-pr_other_id_continue.c: Likewise.
21683         * tests/unictype/test-pr_other_math.c: Likewise.
21684         * tests/unictype/test-pr_punctuation.c: Likewise.
21685         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
21686         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
21687         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
21688         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
21689         * tests/unictype/test-pr_uppercase.c: Likewise.
21690         * tests/unictype/test-pr_xid_continue.c: Likewise.
21691         * tests/unictype/test-pr_xid_start.c: Likewise.
21692         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
21693         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
21694         changes.
21695         * lib/unictype/categ_Cc.h: Likewise.
21696         * lib/unictype/categ_Cf.h: Likewise.
21697         * lib/unictype/categ_Co.h: Likewise.
21698         * lib/unictype/categ_Cs.h: Likewise.
21699         * lib/unictype/categ_Lt.h: Likewise.
21700         * lib/unictype/categ_Nl.h: Likewise.
21701         * lib/unictype/categ_Pc.h: Likewise.
21702         * lib/unictype/categ_Pd.h: Likewise.
21703         * lib/unictype/categ_Pe.h: Likewise.
21704         * lib/unictype/categ_Pf.h: Likewise.
21705         * lib/unictype/categ_Pi.h: Likewise.
21706         * lib/unictype/categ_Ps.h: Likewise.
21707         * lib/unictype/categ_Z.h: Likewise.
21708         * lib/unictype/categ_Zl.h: Likewise.
21709         * lib/unictype/categ_Zp.h: Likewise.
21710         * lib/unictype/categ_Zs.h: Likewise.
21711         * lib/unictype/ctype_blank.h: Likewise.
21712         * lib/unictype/ctype_cntrl.h: Likewise.
21713         * lib/unictype/ctype_digit.h: Likewise.
21714         * lib/unictype/ctype_space.h: Likewise.
21715         * lib/unictype/ctype_xdigit.h: Likewise.
21716         * lib/unictype/mirror.h: Likewise.
21717         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
21718         * lib/unictype/pr_bidi_block_separator.h: Likewise.
21719         * lib/unictype/pr_bidi_common_separator.h: Likewise.
21720         * lib/unictype/pr_bidi_control.h: Likewise.
21721         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
21722         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
21723         * lib/unictype/pr_bidi_european_digit.h: Likewise.
21724         * lib/unictype/pr_bidi_pdf.h: Likewise.
21725         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
21726         * lib/unictype/pr_bidi_whitespace.h: Likewise.
21727         * lib/unictype/pr_dash.h: Likewise.
21728         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
21729         * lib/unictype/pr_diacritic.h: Likewise.
21730         * lib/unictype/pr_extender.h: Likewise.
21731         * lib/unictype/pr_hex_digit.h: Likewise.
21732         * lib/unictype/pr_hyphen.h: Likewise.
21733         * lib/unictype/pr_ids_binary_operator.h: Likewise.
21734         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
21735         * lib/unictype/pr_ignorable_control.h: Likewise.
21736         * lib/unictype/pr_iso_control.h: Likewise.
21737         * lib/unictype/pr_join_control.h: Likewise.
21738         * lib/unictype/pr_left_of_pair.h: Likewise.
21739         * lib/unictype/pr_line_separator.h: Likewise.
21740         * lib/unictype/pr_logical_order_exception.h: Likewise.
21741         * lib/unictype/pr_non_break.h: Likewise.
21742         * lib/unictype/pr_not_a_character.h: Likewise.
21743         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
21744         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
21745         * lib/unictype/pr_other_id_start.h: Likewise.
21746         * lib/unictype/pr_other_lowercase.h: Likewise.
21747         * lib/unictype/pr_other_uppercase.h: Likewise.
21748         * lib/unictype/pr_paired_punctuation.h: Likewise.
21749         * lib/unictype/pr_paragraph_separator.h: Likewise.
21750         * lib/unictype/pr_pattern_syntax.h: Likewise.
21751         * lib/unictype/pr_pattern_white_space.h: Likewise.
21752         * lib/unictype/pr_private_use.h: Likewise.
21753         * lib/unictype/pr_quotation_mark.h: Likewise.
21754         * lib/unictype/pr_radical.h: Likewise.
21755         * lib/unictype/pr_soft_dotted.h: Likewise.
21756         * lib/unictype/pr_space.h: Likewise.
21757         * lib/unictype/pr_titlecase.h: Likewise.
21758         * lib/unictype/pr_variation_selector.h: Likewise.
21759         * lib/unictype/pr_white_space.h: Likewise.
21760         * lib/unictype/pr_zero_width.h: Likewise.
21761         * lib/unictype/sy_c_ident.h: Likewise.
21762         * lib/unictype/sy_c_whitespace.h: Likewise.
21763         * lib/unictype/sy_java_whitespace.h: Likewise.
21764         * lib/uninorm/composition-table.gperf: Likewise.
21765         * lib/uninorm/decomposition-table1.h: Likewise.
21766         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
21767         LB8.
21768         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
21769         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
21770         * modules/unictype/*: Bump version number of expected libunistring
21771         version.
21772
21773 2011-01-09  Bruno Haible  <bruno@clisp.org>
21774
21775         Update to Unicode 5.2.0.
21776         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
21777         trailing whitespace removed.
21778
21779 2011-01-09  Bruno Haible  <bruno@clisp.org>
21780
21781         New Unicode character properties, from Unicode 5.2.0.
21782         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
21783         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
21784         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
21785         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
21786         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
21787         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
21788         uc_is_property_cased, uc_is_property_case_ignorable,
21789         uc_is_property_changes_when_lowercased,
21790         uc_is_property_changes_when_uppercased,
21791         uc_is_property_changes_when_titlecased,
21792         uc_is_property_changes_when_casefolded,
21793         uc_is_property_changes_when_casemapped): New declarations.
21794         * lib/unictype/pr_byname.gperf: Add the new properties.
21795         * modules/unictype/property-byname (Depends-on): Depend on the new
21796         properties modules.
21797         * modules/unictype/property-all (Depends-on): Likewise.
21798         * MODULES.html.sh (Unicode string functions): Add
21799         unictype/property-case-ignorable, unictype/property-cased,
21800         unictype/property-changes-when-casefolded,
21801         unictype/property-changes-when-casemapped,
21802         unictype/property-changes-when-lowercased,
21803         unictype/property-changes-when-titlecased,
21804         unictype/property-changes-when-uppercased.
21805
21806         New module 'unictype/property-changes-when-casemapped'.
21807         * modules/unictype/property-changes-when-casemapped: New file.
21808         * lib/unictype/pr_changes_when_casemapped.c: New file.
21809         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
21810         generated by gen-uni-tables.
21811         * modules/unictype/property-changes-when-casemapped-tests: New file.
21812         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
21813         automatically generated by gen-uni-tables.
21814
21815         New module 'unictype/property-changes-when-casefolded'.
21816         * modules/unictype/property-changes-when-casefolded: New file.
21817         * lib/unictype/pr_changes_when_casefolded.c: New file.
21818         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
21819         generated by gen-uni-tables.
21820         * modules/unictype/property-changes-when-casefolded-tests: New file.
21821         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
21822         automatically generated by gen-uni-tables.
21823
21824         New module 'unictype/property-changes-when-titlecased'.
21825         * modules/unictype/property-changes-when-titlecased: New file.
21826         * lib/unictype/pr_changes_when_titlecased.c: New file.
21827         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
21828         generated by gen-uni-tables.
21829         * modules/unictype/property-changes-when-titlecased-tests: New file.
21830         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
21831         automatically generated by gen-uni-tables.
21832
21833         New module 'unictype/property-changes-when-uppercased'.
21834         * modules/unictype/property-changes-when-uppercased: New file.
21835         * lib/unictype/pr_changes_when_uppercased.c: New file.
21836         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
21837         generated by gen-uni-tables.
21838         * modules/unictype/property-changes-when-uppercased-tests: New file.
21839         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
21840         automatically generated by gen-uni-tables.
21841
21842         New module 'unictype/property-changes-when-lowercased'.
21843         * modules/unictype/property-changes-when-lowercased: New file.
21844         * lib/unictype/pr_changes_when_lowercased.c: New file.
21845         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
21846         generated by gen-uni-tables.
21847         * modules/unictype/property-changes-when-lowercased-tests: New file.
21848         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
21849         automatically generated by gen-uni-tables.
21850
21851         New module 'unictype/property-case-ignorable'.
21852         * modules/unictype/property-case-ignorable: New file.
21853         * lib/unictype/pr_case_ignorable.c: New file.
21854         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
21855         by gen-uni-tables.
21856         * modules/unictype/property-case-ignorable-tests: New file.
21857         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
21858         generated by gen-uni-tables.
21859
21860         New module 'unictype/property-cased'.
21861         * modules/unictype/property-cased: New file.
21862         * lib/unictype/pr_cased.c: New file.
21863         * lib/unictype/pr_cased.h: New file, automatically generated by
21864         gen-uni-tables.
21865         * modules/unictype/property-cased-tests: New file.
21866         * tests/unictype/test-pr_cased.c: New file, automatically generated by
21867         gen-uni-tables.
21868
21869 2011-01-09  Bruno Haible  <bruno@clisp.org>
21870
21871         Update to Unicode 5.2.0.
21872         * lib/gen-uni-tables.c (output_predicate, output_category,
21873         output_combclass, output_bidi_category, output_decimal_digit_test,
21874         output_decimal_digit, output_digit_test, output_digit,
21875         output_numeric_test, output_numeric, output_mirror, output_scripts,
21876         output_scripts_byname, output_blocks, output_ident_category): Fix
21877         comment header.
21878         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
21879         get_wbp.
21880         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
21881         items.
21882         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
21883         Changes_When_Lowercased, Changes_When_Uppercased,
21884         Changes_When_Titlecased, Changes_When_Casefolded,
21885         Changes_When_Casemapped.
21886         (is_property_alphabetic, is_property_default_ignorable_code_point):
21887         Update for Unicode 5.2.0.
21888         (is_property_cased, is_property_case_ignorable,
21889         is_property_changes_when_lowercased,
21890         is_property_changes_when_uppercased,
21891         is_property_changes_when_titlecased,
21892         is_property_changes_when_casefolded,
21893         is_property_changes_when_casemapped): New functions.
21894         (output_properties): Output also the properties cased, case_ignorable,
21895         changes_when_lowercased, changes_when_uppercased,
21896         changes_when_titlecased, changes_when_casefolded,
21897         changes_when_casemapped.
21898         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
21899         Unicode TR#11 revision 17 -> 19.
21900         (LBP_CP): New enumeration value.
21901         (LBP_*): Adjust values accordingly.
21902         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
21903         TR#14 revision 22 -> 24.
21904         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
21905         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
21906         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
21907         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
21908         is_WBP_MIDLETTER.
21909         (output_composition_tables): Allow for 24 bits instead of 16 bits in
21910         the code1 and code2 of each composition rule.
21911         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
21912         * lib/unicase/ignorable.h: Likewise.
21913         * lib/unicase/tocasefold.h: Likewise.
21914         * lib/unicase/tolower.h: Likewise.
21915         * lib/unicase/totitle.h: Likewise.
21916         * lib/unicase/toupper.h: Likewise.
21917         * lib/unictype/bidi_of.h: Likewise.
21918         * lib/unictype/blocks.h: Likewise.
21919         * lib/unictype/categ_C.h: Likewise.
21920         * lib/unictype/categ_Cf.h: Likewise.
21921         * lib/unictype/categ_Cn.h: Likewise.
21922         * lib/unictype/categ_L.h: Likewise.
21923         * lib/unictype/categ_Ll.h: Likewise.
21924         * lib/unictype/categ_Lm.h: Likewise.
21925         * lib/unictype/categ_Lo.h: Likewise.
21926         * lib/unictype/categ_Lu.h: Likewise.
21927         * lib/unictype/categ_M.h: Likewise.
21928         * lib/unictype/categ_Mc.h: Likewise.
21929         * lib/unictype/categ_Mn.h: Likewise.
21930         * lib/unictype/categ_N.h: Likewise.
21931         * lib/unictype/categ_Nd.h: Likewise.
21932         * lib/unictype/categ_Nl.h: Likewise.
21933         * lib/unictype/categ_No.h: Likewise.
21934         * lib/unictype/categ_P.h: Likewise.
21935         * lib/unictype/categ_Pd.h: Likewise.
21936         * lib/unictype/categ_Po.h: Likewise.
21937         * lib/unictype/categ_S.h: Likewise.
21938         * lib/unictype/categ_Sc.h: Likewise.
21939         * lib/unictype/categ_So.h: Likewise.
21940         * lib/unictype/categ_of.h: Likewise.
21941         * lib/unictype/combining.h: Likewise.
21942         * lib/unictype/ctype_alnum.h: Likewise.
21943         * lib/unictype/ctype_alpha.h: Likewise.
21944         * lib/unictype/ctype_graph.h: Likewise.
21945         * lib/unictype/ctype_lower.h: Likewise.
21946         * lib/unictype/ctype_print.h: Likewise.
21947         * lib/unictype/ctype_punct.h: Likewise.
21948         * lib/unictype/ctype_upper.h: Likewise.
21949         * lib/unictype/decdigit.h: Likewise.
21950         * lib/unictype/digit.h: Likewise.
21951         * lib/unictype/numeric.h: Likewise.
21952         * lib/unictype/pr_alphabetic.h: Likewise.
21953         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
21954         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
21955         * lib/unictype/pr_bidi_european_digit.h: Likewise.
21956         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
21957         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
21958         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
21959         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
21960         * lib/unictype/pr_combining.h: Likewise.
21961         * lib/unictype/pr_composite.h: Likewise.
21962         * lib/unictype/pr_currency_symbol.h: Likewise.
21963         * lib/unictype/pr_dash.h: Likewise.
21964         * lib/unictype/pr_decimal_digit.h: Likewise.
21965         * lib/unictype/pr_deprecated.h: Likewise.
21966         * lib/unictype/pr_diacritic.h: Likewise.
21967         * lib/unictype/pr_extender.h: Likewise.
21968         * lib/unictype/pr_grapheme_base.h: Likewise.
21969         * lib/unictype/pr_grapheme_extend.h: Likewise.
21970         * lib/unictype/pr_grapheme_link.h: Likewise.
21971         * lib/unictype/pr_id_continue.h: Likewise.
21972         * lib/unictype/pr_id_start.h: Likewise.
21973         * lib/unictype/pr_ideographic.h: Likewise.
21974         * lib/unictype/pr_ignorable_control.h: Likewise.
21975         * lib/unictype/pr_logical_order_exception.h: Likewise.
21976         * lib/unictype/pr_lowercase.h: Likewise.
21977         * lib/unictype/pr_numeric.h: Likewise.
21978         * lib/unictype/pr_other_alphabetic.h: Likewise.
21979         * lib/unictype/pr_punctuation.h: Likewise.
21980         * lib/unictype/pr_sentence_terminal.h: Likewise.
21981         * lib/unictype/pr_terminal_punctuation.h: Likewise.
21982         * lib/unictype/pr_unassigned_code_value.h: Likewise.
21983         * lib/unictype/pr_unified_ideograph.h: Likewise.
21984         * lib/unictype/pr_uppercase.h: Likewise.
21985         * lib/unictype/pr_xid_continue.h: Likewise.
21986         * lib/unictype/pr_xid_start.h: Likewise.
21987         * lib/unictype/pr_zero_width.h: Likewise.
21988         * lib/unictype/scripts.h: Likewise.
21989         * lib/unictype/scripts_byname.gperf: Likewise.
21990         * lib/unictype/sy_java_ident.h: Likewise.
21991         * lib/unigbrk/gbrkprop.h: Likewise.
21992         * lib/unilbrk/lbrkprop1.h: Likewise.
21993         * lib/unilbrk/lbrkprop2.h: Likewise.
21994         * lib/unilbrk/lbrktables.h: Likewise.
21995         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
21996         LBP_CP. Implement rule LB30.
21997         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
21998         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
21999         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
22000         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
22001         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
22002         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
22003         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
22004         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
22005         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
22006         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
22007         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
22008         bits instead of 16 bits in the code1 and code2 of each composition
22009         rule.
22010         (uc_composition): Update for Unicode 5.2.0.
22011         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
22012         * lib/uninorm/decomposition-table2.h: Likewise.
22013         * lib/uniwbrk/wbrkprop.h: Likewise.
22014         * tests/unicase/test-cased.c: Likewise.
22015         * tests/unicase/test-ignorable.c: Likewise.
22016         * tests/unicase/test-uc_tolower.c: Likewise.
22017         * tests/unicase/test-uc_totitle.c: Likewise.
22018         * tests/unicase/test-uc_toupper.c: Likewise.
22019         * tests/unictype/test-categ_C.c: Likewise.
22020         * tests/unictype/test-categ_Cf.c: Likewise.
22021         * tests/unictype/test-categ_Cn.c: Likewise.
22022         * tests/unictype/test-categ_L.c: Likewise.
22023         * tests/unictype/test-categ_Ll.c: Likewise.
22024         * tests/unictype/test-categ_Lm.c: Likewise.
22025         * tests/unictype/test-categ_Lo.c: Likewise.
22026         * tests/unictype/test-categ_Lu.c: Likewise.
22027         * tests/unictype/test-categ_M.c: Likewise.
22028         * tests/unictype/test-categ_Mc.c: Likewise.
22029         * tests/unictype/test-categ_Mn.c: Likewise.
22030         * tests/unictype/test-categ_N.c: Likewise.
22031         * tests/unictype/test-categ_Nd.c: Likewise.
22032         * tests/unictype/test-categ_Nl.c: Likewise.
22033         * tests/unictype/test-categ_No.c: Likewise.
22034         * tests/unictype/test-categ_P.c: Likewise.
22035         * tests/unictype/test-categ_Pd.c: Likewise.
22036         * tests/unictype/test-categ_Po.c: Likewise.
22037         * tests/unictype/test-categ_S.c: Likewise.
22038         * tests/unictype/test-categ_Sc.c: Likewise.
22039         * tests/unictype/test-categ_So.c: Likewise.
22040         * tests/unictype/test-ctype_alnum.c: Likewise.
22041         * tests/unictype/test-ctype_alpha.c: Likewise.
22042         * tests/unictype/test-ctype_graph.c: Likewise.
22043         * tests/unictype/test-ctype_lower.c: Likewise.
22044         * tests/unictype/test-ctype_print.c: Likewise.
22045         * tests/unictype/test-ctype_punct.c: Likewise.
22046         * tests/unictype/test-ctype_upper.c: Likewise.
22047         * tests/unictype/test-decdigit.h: Likewise.
22048         * tests/unictype/test-digit.h: Likewise.
22049         * tests/unictype/test-numeric.h: Likewise.
22050         * tests/unictype/test-pr_alphabetic.c: Likewise.
22051         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
22052         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
22053         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
22054         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
22055         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
22056         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
22057         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
22058         * tests/unictype/test-pr_combining.c: Likewise.
22059         * tests/unictype/test-pr_composite.c: Likewise.
22060         * tests/unictype/test-pr_currency_symbol.c: Likewise.
22061         * tests/unictype/test-pr_dash.c: Likewise.
22062         * tests/unictype/test-pr_decimal_digit.c: Likewise.
22063         * tests/unictype/test-pr_deprecated.c: Likewise.
22064         * tests/unictype/test-pr_diacritic.c: Likewise.
22065         * tests/unictype/test-pr_extender.c: Likewise.
22066         * tests/unictype/test-pr_grapheme_base.c: Likewise.
22067         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
22068         * tests/unictype/test-pr_grapheme_link.c: Likewise.
22069         * tests/unictype/test-pr_id_continue.c: Likewise.
22070         * tests/unictype/test-pr_id_start.c: Likewise.
22071         * tests/unictype/test-pr_ideographic.c: Likewise.
22072         * tests/unictype/test-pr_ignorable_control.c: Likewise.
22073         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
22074         * tests/unictype/test-pr_lowercase.c: Likewise.
22075         * tests/unictype/test-pr_numeric.c: Likewise.
22076         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
22077         * tests/unictype/test-pr_punctuation.c: Likewise.
22078         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
22079         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
22080         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
22081         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
22082         * tests/unictype/test-pr_uppercase.c: Likewise.
22083         * tests/unictype/test-pr_xid_continue.c: Likewise.
22084         * tests/unictype/test-pr_xid_start.c: Likewise.
22085         * tests/unictype/test-pr_zero_width.c: Likewise.
22086         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
22087         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
22088         changed behaviour: line breaking is now disallowed between a letter
22089         or '=' and '('.
22090         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
22091         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
22092         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
22093         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
22094         * tests/uniwidth/test-uc_width2.sh: Same updates as in
22095         lib/uniwidth/width.c.
22096         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
22097         without comments, but with the original copyright notice.
22098         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
22099         changes.
22100         * lib/unictype/categ_Cc.h: Likewise.
22101         * lib/unictype/categ_Co.h: Likewise.
22102         * lib/unictype/categ_Cs.h: Likewise.
22103         * lib/unictype/categ_Lt.h: Likewise.
22104         * lib/unictype/categ_Me.h: Likewise.
22105         * lib/unictype/categ_Pc.h: Likewise.
22106         * lib/unictype/categ_Pe.h: Likewise.
22107         * lib/unictype/categ_Pf.h: Likewise.
22108         * lib/unictype/categ_Pi.h: Likewise.
22109         * lib/unictype/categ_Ps.h: Likewise.
22110         * lib/unictype/categ_Sk.h: Likewise.
22111         * lib/unictype/categ_Sm.h: Likewise.
22112         * lib/unictype/categ_Z.h: Likewise.
22113         * lib/unictype/categ_Zl.h: Likewise.
22114         * lib/unictype/categ_Zp.h: Likewise.
22115         * lib/unictype/categ_Zs.h: Likewise.
22116         * lib/unictype/ctype_blank.h: Likewise.
22117         * lib/unictype/ctype_cntrl.h: Likewise.
22118         * lib/unictype/ctype_digit.h: Likewise.
22119         * lib/unictype/ctype_space.h: Likewise.
22120         * lib/unictype/ctype_xdigit.h: Likewise.
22121         * lib/unictype/mirror.h: Likewise.
22122         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
22123         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
22124         * lib/unictype/pr_bidi_block_separator.h: Likewise.
22125         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
22126         * lib/unictype/pr_bidi_common_separator.h: Likewise.
22127         * lib/unictype/pr_bidi_control.h: Likewise.
22128         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
22129         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
22130         * lib/unictype/pr_bidi_pdf.h: Likewise.
22131         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
22132         * lib/unictype/pr_bidi_whitespace.h: Likewise.
22133         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
22134         * lib/unictype/pr_format_control.h: Likewise.
22135         * lib/unictype/pr_hex_digit.h: Likewise.
22136         * lib/unictype/pr_hyphen.h: Likewise.
22137         * lib/unictype/pr_ids_binary_operator.h: Likewise.
22138         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
22139         * lib/unictype/pr_iso_control.h: Likewise.
22140         * lib/unictype/pr_join_control.h: Likewise.
22141         * lib/unictype/pr_left_of_pair.h: Likewise.
22142         * lib/unictype/pr_line_separator.h: Likewise.
22143         * lib/unictype/pr_math.h: Likewise.
22144         * lib/unictype/pr_non_break.h: Likewise.
22145         * lib/unictype/pr_not_a_character.h: Likewise.
22146         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
22147         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
22148         * lib/unictype/pr_other_id_continue.h: Likewise.
22149         * lib/unictype/pr_other_id_start.h: Likewise.
22150         * lib/unictype/pr_other_lowercase.h: Likewise.
22151         * lib/unictype/pr_other_math.h: Likewise.
22152         * lib/unictype/pr_other_uppercase.h: Likewise.
22153         * lib/unictype/pr_paired_punctuation.h: Likewise.
22154         * lib/unictype/pr_paragraph_separator.h: Likewise.
22155         * lib/unictype/pr_pattern_syntax.h: Likewise.
22156         * lib/unictype/pr_pattern_white_space.h: Likewise.
22157         * lib/unictype/pr_private_use.h: Likewise.
22158         * lib/unictype/pr_quotation_mark.h: Likewise.
22159         * lib/unictype/pr_radical.h: Likewise.
22160         * lib/unictype/pr_soft_dotted.h: Likewise.
22161         * lib/unictype/pr_space.h: Likewise.
22162         * lib/unictype/pr_titlecase.h: Likewise.
22163         * lib/unictype/pr_variation_selector.h: Likewise.
22164         * lib/unictype/pr_white_space.h: Likewise.
22165         * lib/unictype/sy_c_ident.h: Likewise.
22166         * lib/unictype/sy_c_whitespace.h: Likewise.
22167         * lib/unictype/sy_java_whitespace.h: Likewise.
22168         * modules/uni*/*: Bump version number of expected libunistring version.
22169         Reported by Simon Josefsson.
22170
22171 2011-01-09  Karl Heuer  <kwzh@gnu.org>
22172
22173         useless-if-before-free: fix typo in --help and make the internal,
22174         automatic version date update process work once again.
22175         --help output contained a NUL character instead of the
22176         backslash-zero that was intended.  Also, the "must lie within
22177         the first 8 lines" line is on line 9, and hence not getting
22178         automatically updated.
22179         * build-aux/useless-if-before-free: Fix the former by adding a
22180         backslash, and the latter by condensing the three lines of what-it-does
22181         to a single line, leaving one line of slack for the future.
22182
22183 2011-01-09  Bruno Haible  <bruno@clisp.org>
22184
22185         uniwidth/width: Fix width of U+1D173..U+1D17A.
22186         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
22187         symbolic_width, output_width_property_test): New functions.
22188         (main): Invoke output_nonspacing_property, output_width_property_test.
22189         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
22190         U+1D173..U+1D17A.
22191         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
22192         1.
22193         * modules/uniwidth/*: Bump version number of expected libunistring
22194         version.
22195         * modules/unilbrk/*: Likewise.
22196
22197 2011-01-08  Bruno Haible  <bruno@clisp.org>
22198
22199         uninorm tests: Preserve copyright of Unicode data file.
22200         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
22201         Mention modifications.
22202
22203 2011-01-08  Bruno Haible  <bruno@clisp.org>
22204
22205         gen-uni-tables: Prepare for Unicode 5.2.0.
22206         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
22207         (debug_output_lbp, output_lbp): Update.
22208
22209 2011-01-08  Bruno Haible  <bruno@clisp.org>
22210
22211         unilbrk: Clarify gen-uni-tables.c code.
22212         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
22213         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
22214         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
22215
22216 2011-01-07  Bruno Haible  <bruno@clisp.org>
22217
22218         strtod: Restore errno when successfully parsing Infinity or NaN.
22219         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
22220         restore the original errno.
22221
22222 2011-01-07  Bruno Haible  <bruno@clisp.org>
22223
22224         remove test: Avoid failure on HP-UX 11.
22225         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
22226
22227 2011-01-07  Bruno Haible  <bruno@clisp.org>
22228
22229         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
22230         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
22231         error code.
22232
22233 2011-01-07  Pádraig Brady <P@draigBrady.com>
22234
22235         ignore-value: fixup comments, and add Eric Blake
22236         as an author since he rewrote the macros.
22237         * lib/ignore-value.h (ignore_value):  State that
22238         we now support aggregates.  Also specify exactly
22239         when the GCC warn_unused_result feature was added.
22240
22241 2011-01-06  Eric Blake  <eblake@redhat.com>
22242
22243         ignore-value: support aggregate types
22244         * lib/ignore-value.h (ignore_value): Provide separate gcc
22245         definition.
22246         * modules/ignore-value-tests: New test module.
22247         * tests/test-ignore-value.c: New test.
22248
22249         maint.mk: improve sc_prohibit_strcmp regex
22250         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
22251         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
22252         definition of STRNEQ.
22253
22254         signal: work around Haiku issue with SIGBUS
22255         * lib/siglist.h: Add comment.
22256         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
22257         strsignal's favoring of SIGSEGV.
22258         * tests/test-signal.c (main): Avoid test failure.
22259         * doc/posix-headers/signal.texi (signal.h): Document the issue.
22260         Reported by Scott McCreary.
22261
22262         maint.mk: add pre-release check to ensure submodule commits are public
22263         * top/maint.mk (public-submodule-commit): New rule.
22264         (submodule-checks): New variable.
22265         (alpha beta stable): Depend on the variable.
22266
22267 2011-01-05  Pádraig Brady <P@draigBrady.com>
22268         and Jim Meyering  <meyering@redhat.com>
22269
22270         ignore-value: make ignore_value more generic; deprecate ignore_ptr
22271         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
22272         (ATTRIBUTE_DEPRECATED): Define.
22273         (_ignore_case): New function.
22274         (ignore_value): New macro, to replace the old function.
22275         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
22276         * modules/ignore-value (Depends-on): Add stdint.
22277
22278 2011-01-04  Eric Blake  <eblake@redhat.com>
22279
22280         doc: regenerate INSTALL
22281         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
22282         @firstparagraphindent support, now that autoconf dropped it.
22283         (INSTALL_PRELUDE): Reinstate old macro.
22284         * doc/install.texi: Resync from autoconf.
22285         * doc/INSTALL: Reflect recent autoconf update.
22286         * doc/INSTALL.ISO: Likewise.
22287         * doc/INSTALL.UTF-8: Likewise.
22288         Reported by Karl Berry.
22289
22290 2011-01-04  Bruce Korb  <address@hidden>
22291
22292         git-version-gen: avoid a sub-shell
22293         * build-aux/git-version-gen: Redirect stderr in `...` via
22294         "exec 2>...", rather than via an added sub-shell.
22295
22296 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
22297
22298         git-version-gen: use (...) rather than sh -c '...'
22299         * build-aux/git-version-gen: Rather than hard-coding a shell's name
22300         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
22301
22302 2011-01-03  Jim Meyering  <meyering@redhat.com>
22303
22304         git-version-gen: convert leading TABs to spaces
22305         * build-aux/git-version-gen: Expand leading TABs.
22306
22307         git-version-gen: handle failed "git rev-list"
22308         * build-aux/git-version-gen: Rather than leaking a "fatal" error
22309         from git and proceeding as if it had succeeded but printed no SHA1
22310         checksums, suppress the diagnostic and handle the failure.
22311         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
22312
22313         git-version-gen: include command name in one more diagnostic
22314         * build-aux/git-version-gen: When the required .tarball-version file
22315         was missing or unreadable, you might see the diagnostic from "cat",
22316         but no trace of the name of the invoking script.  Now, you still see
22317         the diagnostic from cat, but also get one from "git-version-gen: ".
22318         Inspired by a patch from Bruce Korb.
22319
22320         update-copyright: adjust test to match changed code
22321         * tests/test-update-copyright.sh: Change test's expected output
22322         to match new actual output.
22323
22324 2011-01-02  Bruno Haible  <bruno@clisp.org>
22325
22326         getlogin_r: Avoid test failure on HP-UX 11.
22327         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
22328         ERANGE when the second argument is zero.
22329         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
22330         portability problem.
22331
22332 2011-01-02  Bruce Korb  <bkorb@gnu.org>
22333
22334         * build-aux/update-copyright: doc Simon's changes
22335
22336 2011-01-02  Simon Josefsson  <simon@josefsson.org>
22337
22338         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
22339         environment variable.
22340
22341 2011-01-02  Bruno Haible  <bruno@clisp.org>
22342
22343         unigbrk: Avoid gcc warnings.
22344         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
22345         unused variable.
22346         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
22347         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
22348         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
22349         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
22350         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
22351         Change type of first argument to 'const char *'.
22352         (main): Remove unused variable.
22353         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
22354         type of first argument to 'const char *'.
22355         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
22356         Likewise.
22357         (main): Change type of variable 's'.
22358         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
22359         to 'int'.
22360
22361 2011-01-02  Bruno Haible  <bruno@clisp.org>
22362
22363         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
22364         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
22365         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
22366         bug.
22367         * lib/pwrite.c: Undo 2010-12-31 patch.
22368         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
22369
22370 2011-01-02  Bruno Haible  <bruno@clisp.org>
22371
22372         pread: Fix test whether it works.
22373         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
22374
22375 2011-01-02  Bruno Haible  <bruno@clisp.org>
22376
22377         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
22378         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
22379         ends in "6". Don't require a specific month name. Try also the locale
22380         names found on HP-UX 11 and Solaris 7.
22381
22382 2011-01-02  Bruno Haible  <bruno@clisp.org>
22383
22384         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
22385         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
22386         C linkage.
22387         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
22388
22389 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
22390
22391         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
22392         for consistency, since the "cluster" term is not used elsewhere.
22393         * lib/unigbrk.in.h: Update name.
22394         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
22395         * lib/unigbrk/u16-grapheme-next.c: Update name.
22396         * lib/unigbrk/u16-grapheme-prev.c: Update name.
22397         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
22398         * lib/unigbrk/u32-grapheme-next.c: Update name.
22399         * lib/unigbrk/u32-grapheme-prev.c: Update name.
22400         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
22401         * lib/unigbrk/u8-grapheme-next.c: Update name.
22402         * lib/unigbrk/u8-grapheme-prev.c: Update name.
22403         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
22404         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
22405         Suggested by Bruno Haible.
22406
22407 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
22408
22409         Remove module 'u8-grapheme-len' as too redundant with
22410         'u8-grapheme-next'.
22411         * modules/unigbrk/u8-grapheme-len: Delete file.
22412         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
22413         * lib/unigbrk.in.h: Remove prototype for deleted function.
22414         * lib/unigbrk/u8-grapheme-len.c: Delete file.
22415         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
22416
22417         Remove module 'u16-grapheme-len' as too redundant with
22418         'u16-grapheme-next'.
22419         * modules/unigbrk/u16-grapheme-len: Delete file.
22420         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
22421         * lib/unigbrk.in.h: Remove prototype for deleted function.
22422         * lib/unigbrk/u16-grapheme-len.c: Delete file.
22423         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
22424
22425         Remove module 'u32-grapheme-len' as too redundant with
22426         'u32-grapheme-next'.
22427         * modules/unigbrk/u32-grapheme-len: Delete file.
22428         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
22429         * lib/unigbrk.in.h: Remove prototype for deleted function.
22430         * lib/unigbrk/u32-grapheme-len.c: Delete file.
22431         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
22432
22433         Suggested by Bruno Haible.
22434
22435 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
22436
22437         * unigbrk.in.h: Fix typo: "ben" => "been".
22438         Reported by Bruno Haible.
22439
22440 2011-01-01  Jim Meyering  <meyering@redhat.com>
22441
22442         maint: update almost all copyright ranges to include 2011
22443         Run the new "make update-copyright" rule.
22444
22445 2011-01-01  Jim Meyering  <meyering@redhat.com>
22446
22447         maint: update-copyright: exempt doc/INSTALL*
22448         * Makefile (update-copyright): Also exclude doc/INSTALL*,
22449         since they are generated.  Suggested by Bruno Haible.
22450
22451 2011-01-01  Jim Meyering  <meyering@redhat.com>
22452
22453         maint: refine the update-copyright rule
22454         * Makefile (update-copyright): Also exclude any file that includes
22455         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
22456         code that merely generates the comment.
22457
22458 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
22459
22460         New module 'u8-grapheme-len'.
22461         * modules/unigbrk/u8-grapheme-len: New file.
22462         * modules/unigbrk/u8-grapheme-len-tests: New file.
22463         * lib/unigbrk.in.h: Add prototype for new function.
22464         * lib/unigbrk/u8-grapheme-len.c: New file.
22465         * tests/unigbrk/test-u8-grapheme-len.c: New file.
22466
22467         New module 'u16-grapheme-len'.
22468         * modules/unigbrk/u16-grapheme-len: New file.
22469         * modules/unigbrk/u16-grapheme-len-tests: New file.
22470         * lib/unigbrk.in.h: Add prototype for new function.
22471         * lib/unigbrk/u16-grapheme-len.c: New file.
22472         * tests/unigbrk/test-u16-grapheme-len.c: New file.
22473
22474         New module 'u32-grapheme-len'.
22475         * modules/unigbrk/u32-grapheme-len: New file.
22476         * modules/unigbrk/u32-grapheme-len-tests: New file.
22477         * lib/unigbrk.in.h: Add prototype for new function.
22478         * lib/unigbrk/u32-grapheme-len.c: New file.
22479         * tests/unigbrk/test-u32-grapheme-len.c: New file.
22480
22481         New module 'u8-grapheme-next'.
22482         * modules/unigbrk/u8-grapheme-next: New file.
22483         * modules/unigbrk/u8-grapheme-next-tests: New file.
22484         * lib/unigbrk.in.h: Add prototype for new function.
22485         * lib/unigbrk/u8-grapheme-next.c: New file.
22486         * tests/unigbrk/test-u8-grapheme-next.c: New file.
22487
22488         New module 'u16-grapheme-next'.
22489         * modules/unigbrk/u16-grapheme-next: New file.
22490         * modules/unigbrk/u16-grapheme-next-tests: New file.
22491         * lib/unigbrk.in.h: Add prototype for new function.
22492         * lib/unigbrk/u16-grapheme-next.c: New file.
22493         * tests/unigbrk/test-u16-grapheme-next.c: New file.
22494
22495         New module 'u32-grapheme-next'.
22496         * modules/unigbrk/u32-grapheme-next: New file.
22497         * modules/unigbrk/u32-grapheme-next-tests: New file.
22498         * lib/unigbrk.in.h: Add prototype for new function.
22499         * lib/unigbrk/u32-grapheme-next.c: New file.
22500         * tests/unigbrk/test-u32-grapheme-next.c: New file.
22501
22502         New module 'u8-grapheme-prev'.
22503         * modules/unigbrk/u8-grapheme-prev: New file.
22504         * modules/unigbrk/u8-grapheme-prev-tests: New file.
22505         * lib/unigbrk.in.h: Add prototype for new function.
22506         * lib/unigbrk/u8-grapheme-prev.c: New file.
22507         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
22508
22509         New module 'u16-grapheme-prev'.
22510         * modules/unigbrk/u16-grapheme-prev: New file.
22511         * modules/unigbrk/u16-grapheme-prev-tests: New file.
22512         * lib/unigbrk.in.h: Add prototype for new function.
22513         * lib/unigbrk/u16-grapheme-prev.c: New file.
22514         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
22515
22516         New module 'u32-grapheme-prev'.
22517         * modules/unigbrk/u32-grapheme-prev: New file.
22518         * modules/unigbrk/u32-grapheme-prev-tests: New file.
22519         * lib/unigbrk.in.h: Add prototype for new function.
22520         * lib/unigbrk/u32-grapheme-prev.c: New file.
22521         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
22522
22523         New module 'u8-grapheme-breaks'.
22524         * modules/unigbrk/u8-grapheme-breaks: New file.
22525         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
22526         * lib/unigbrk.in.h: Add prototype for new function.
22527         * lib/unigbrk/u8-grapheme-breaks.c: New file.
22528         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
22529
22530         New module 'u16-grapheme-breaks'.
22531         * modules/unigbrk/u16-grapheme-breaks: New file.
22532         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
22533         * lib/unigbrk.in.h: Add prototype for new function.
22534         * lib/unigbrk/u16-grapheme-breaks.c: New file.
22535         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
22536
22537         New module 'u32-grapheme-breaks'.
22538         * modules/unigbrk/u32-grapheme-breaks: New file.
22539         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
22540         * lib/unigbrk.in.h: Add prototype for new function.
22541         * lib/unigbrk/u32-grapheme-breaks.c: New file.
22542         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
22543
22544         New module 'ulc-grapheme-breaks'.
22545         * modules/unigbrk/ulc-grapheme-breaks: New file.
22546         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
22547         * m4/locale-ar.m4: New file.
22548         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
22549         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
22550         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
22551
22552 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
22553
22554         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
22555         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
22556         modified how this file was generated before I initially submitted
22557         the module, but failed to regenerate it.  This meant that several
22558         of the level2 entries were wrong.
22559         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
22560         Remove the division-by-2 that is folded into the table now that
22561         gbrkprop.h has been regenerated properly.  Now -1 entries are
22562         handled correctly.
22563
22564         New module 'unigbrk/uc-gbrk-prop-tests'.
22565         * modules/unigbrk/uc-gbrk-prop-tests: New file.
22566         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
22567         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
22568         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
22569
22570 2011-01-01  Bruno Haible  <bruno@clisp.org>
22571
22572         Avoid use of hexadecimal escapes.
22573         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
22574         instead of hexadecimal escapes.
22575
22576 2011-01-01  Jim Meyering  <meyering@redhat.com>
22577
22578         maint: new rule to update copyright year ranges
22579         * Makefile (update-copyright): New rule.
22580
22581         maint: indent with TABs in Makefile
22582         * Makefile: Expand leading sequences of spaces to TABs
22583
22584         version-etc: update the copyright year it reports
22585         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
22586
22587 2010-12-31  Bruno Haible  <bruno@clisp.org>
22588
22589         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
22590         * lib/isfinite.c (zerof, zerod, zerol): New variables.
22591         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
22592         zero.
22593
22594 2010-12-31  Bruno Haible  <bruno@clisp.org>
22595
22596         pwrite: Work around HP-UX 11.11 bug.
22597         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
22598         works and set REPLACE_PWRITE if not.
22599         * lib/pwrite.c (pwrite): Add an implementation that uses the system
22600         function.
22601         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
22602
22603 2010-12-31  Bruno Haible  <bruno@clisp.org>
22604
22605         pread: Work around HP-UX 11 bugs.
22606         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
22607         and set REPLACE_PREAD if not.
22608         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
22609
22610 2010-12-31  Eric Blake  <eblake@redhat.com>
22611
22612         nl_langinfo: fix YESEXPR on Irix 6.5
22613         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
22614         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
22615         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
22616         it.
22617
22618 2010-12-31  Bruno Haible  <bruno@clisp.org>
22619
22620         iconv: Document HP-UX 11 bug.
22621         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
22622
22623 2010-12-31  Bruno Haible  <bruno@clisp.org>
22624
22625         ldexpl: Fix link error on HP-UX 11.
22626         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
22627         LDEXPL_LIBM, using $ISNANL_LIBM.
22628
22629 2010-12-31  Eric Blake  <eblake@redhat.com>
22630
22631         ftello: avoid compilation failure with SunStudio c89
22632         * lib/ftello.c (ftello): Use lseek, not llseek.
22633
22634         tests: avoid failing coreutils tests on cygwin
22635         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
22636         (create_exe_shims_): Return 0 when skipping.
22637
22638 2010-12-31  Bruno Haible  <bruno@clisp.org>
22639
22640         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
22641         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
22642
22643 2010-12-31  Bruno Haible  <bruno@clisp.org>
22644
22645         waitpid: Fix link error in C++ mode.
22646         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
22647
22648 2010-12-31  Bruno Haible  <bruno@clisp.org>
22649
22650         isnan: Use GCC built-ins when possible.
22651         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
22652         __builtin_isnan.
22653         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
22654         (isnan): Define using GCC built-ins for GCC >= 4.0.
22655
22656 2010-12-31  Bruno Haible  <bruno@clisp.org>
22657
22658         isnand: Fix mistake.
22659         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
22660         __builtin_isnand.
22661
22662 2010-12-31  Bruno Haible  <bruno@clisp.org>
22663
22664         open: Avoid C++ error on HP-UX 11.
22665         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
22666
22667 2010-12-31  Bruno Haible  <bruno@clisp.org>
22668
22669         time_r: Add missing declarations on HP-UX 11.
22670         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
22671         instead of HAVE_LOCALTIME_R.
22672         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
22673         HAVE_LOCALTIME_R always.
22674         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
22675         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
22676         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
22677         HAVE_LOCALTIME_R.
22678         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
22679         * doc/posix-functions/localtime_r.texi: Likewise.
22680
22681 2010-12-29  Eric Blake  <eblake@redhat.com>
22682
22683         mountlist: tweak previous commit
22684         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
22685         Reported by Paul Eggert.
22686
22687         mountlist: fix local drive detection on cygwin
22688         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
22689         that works for cygwin.
22690
22691 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
22692
22693         ftoastr, snprintf: ftoastr + snprintf module
22694         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
22695         since the snprintf module now should be good enough here.
22696         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
22697         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
22698         and gl_MODULE_INDICATOR([snprintf]), but the former enables
22699         GNULIB_SNPRINTF only for the test directory, and the latter
22700         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
22701         seems to suffice by itself.
22702
22703 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
22704
22705         alloca: one step towards thread-safety
22706         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
22707         need for a static variable.  All callers changed.  This does not
22708         make the alloca replacement thread-safe, but it's one step.
22709
22710         tests: minor indenting change
22711         * tests/init.sh: Sync from coreutils housekeeping patch
22712         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
22713         to keep lines within 80 columns.
22714
22715 2010-12-28  Jim Meyering  <meyering@redhat.com>
22716
22717         regex: don't infloop on persistent failing calloc
22718         * lib/regexec.c (build_trtable): Return failure indication upon
22719         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
22720         In glibc, this was fixed for version 2.13:
22721         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
22722
22723 2010-12-28  Bruno Haible  <bruno@clisp.org>
22724             Paul Eggert <eggert@cs.ucla.edu>
22725
22726         linkat: Make implementation robust against system behaviour variations.
22727         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
22728         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
22729         way, and to -2 if it needs a generic runtime test.
22730         * lib/linkat.c (solaris_optimized_link_immediate,
22731         solaris_optimized_link_follow): New functions.
22732         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
22733         (check_same_link): Use it.
22734
22735 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
22736
22737         New module 'unigbrk/base'.
22738         * modules/unigbrk/base: New file.
22739         * lib/unigbrk.in.h: New file.
22740
22741         New module 'unigbrk/uc-gbrk-prop'.
22742         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
22743         * modules/unigbrk/uc-gbrk-prop: New file.
22744         * lib/unigbrk/gbrkprop.h: New file.
22745         * lib/unigbrk/uc-gbrk-prop.c: New file.
22746
22747         New module 'unigbrk/uc-is-grapheme-break'.
22748         * modules/unigbrk/uc-is-grapheme-break: New file.
22749         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
22750         * lib/unigbrk/uc-is-grapheme-break.c: New file.
22751         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
22752         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
22753         * tests/unigbrk/GraphemeBreakTest.txt: New file.
22754
22755         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
22756
22757 2010-12-27  Bruno Haible  <bruno@clisp.org>
22758
22759         linkat test: Avoid failure on Solaris 11 2010-11.
22760         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
22761
22762 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
22763
22764         utimens: work around glibc rounding bug on more platforms
22765         * lib/utimens.c (fdutimens): Work around rounding bug even if
22766         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
22767         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
22768
22769 2010-12-27  Bruno Haible  <bruno@clisp.org>
22770
22771         select tests: Improve comments.
22772         * tests/test-select.c (do_select): Add comments.
22773
22774 2010-12-27  Bruno Haible  <bruno@clisp.org>
22775
22776         select tests: Safer way of handling timeout.
22777         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
22778         at every invocation.
22779
22780 2010-12-27  Bruno Haible  <bruno@clisp.org>
22781
22782         select tests: Use 'bool' where appropriate.
22783         * tests/test-select.c (connect_to_socket): Change argument type to
22784         'bool'.
22785
22786 2010-12-27  Bruno Haible  <bruno@clisp.org>
22787
22788         select tests: Use existing modules.
22789         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
22790         (configure.ac): Don't test for unistd.h.
22791         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
22792         declared in <unistd.h>.
22793
22794 2010-12-27  Bruno Haible  <bruno@clisp.org>
22795
22796         mbrtowc: Work around a Solaris 7 bug.
22797         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
22798         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
22799         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
22800         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
22801         MBRTOWC_NULL_ARG1_BUG.
22802         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
22803         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
22804         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
22805         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
22806
22807 2010-12-27  Jim Meyering  <meyering@redhat.com>
22808
22809         read-file.c: tweak syntax
22810         * lib/read-file.c (fread_file): Remove space after "*" in function
22811         definitions.
22812
22813 2010-12-27  Bruno Haible  <bruno@clisp.org>
22814
22815         times test: Avoid gcc warnings on OSF/1.
22816         * tests/test-times.c (main): Cast printf arguments from clock_t to
22817         'long int'.
22818
22819 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
22820
22821         utimens: work around glibc rounding bug on older Linux kernels
22822         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
22823         on Linux with a glibc whose utimes might not work, then work
22824         around a longstanding glibc bug involving rounding rather than
22825         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
22826         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
22827
22828 2010-12-26  Bruno Haible  <bruno@clisp.org>
22829
22830         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
22831         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
22832         _GL_CXXALIAS_SYS.
22833         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22834
22835 2010-12-26  Bruno Haible  <bruno@clisp.org>
22836
22837         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
22838         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
22839         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
22840         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
22841         looking for the declaration.
22842         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
22843         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
22844         problem.
22845         * doc/posix-functions/inet_pton.texi: Likewise.
22846
22847 2010-12-26  Bruno Haible  <bruno@clisp.org>
22848
22849         arpa_inet: Use the common idioms with C++ support.
22850         * lib/arpa_inet.in.h: Include c++defs.h.
22851         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
22852         support.
22853         * modules/arpa_inet (Depends-on): Add c++defs.
22854         (Makefile.am): Substitute the contents of c++defs.h.
22855         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
22856         * modules/arpa_inet-c++-tests: New file.
22857         * tests/test-arpa_inet-c++.cc: New file.
22858
22859 2010-12-25  Bruno Haible  <bruno@clisp.org>
22860
22861         Fix more C++ link errors on Solaris 8.
22862         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
22863         $(LIB_EACCESS).
22864         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
22865         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
22866         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
22867         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
22868         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
22869
22870 2010-12-25  Bruno Haible  <bruno@clisp.org>
22871
22872         printf-posix: Fix link error when a non-GCC compiler is used.
22873         * lib/stdio.in.h (printf): When not using GCC, override printf
22874         correctly.
22875         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22876
22877 2010-12-25  Bruno Haible  <bruno@clisp.org>
22878
22879         strerror_r-posix: Update doc.
22880         * doc/posix-functions/strerror_r.texi: Update doc about the return
22881         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
22882
22883 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
22884
22885         utimens: simplify the logic of the previous change
22886         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
22887         This should not affect whether the test succeeds or fails.
22888
22889         utimens: configure better on hosts with NFS clock skew
22890         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
22891         uses the clock of the local host.  It might use the clock of the
22892         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
22893         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
22894
22895 2010-12-25  Bruno Haible  <bruno@clisp.org>
22896
22897         ptsname test: Avoid failure on Solaris.
22898         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
22899         open a pseudo-terminal; don't use BSD-style ptys.
22900         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
22901
22902 2010-12-25  Bruno Haible  <bruno@clisp.org>
22903
22904         ptsname: Avoid ERANGE failure on some systems.
22905         * lib/ptsname.c (buffer): Increase size.
22906
22907 2010-12-25  Bruno Haible  <bruno@clisp.org>
22908
22909         rename, renameat: Avoid test failures at NFS mounted locations.
22910         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
22911         so that subsequent mkdir calls succeed.
22912
22913 2010-12-25  Bruno Haible  <bruno@clisp.org>
22914
22915         iswblank: Fix C++ link error on Solaris 8.
22916         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
22917         _GL_FUNCDECL_SYS.
22918
22919 2010-12-25  Bruno Haible  <bruno@clisp.org>
22920
22921         unistd: Fix C++ link error on Solaris 8.
22922         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
22923
22924 2010-12-25  Bruno Haible  <bruno@clisp.org>
22925
22926         readlink doc: Mention an old glibc bug.
22927         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
22928
22929 2010-12-25  Bruno Haible  <bruno@clisp.org>
22930
22931         fcntl-h: Fix for use of C++ on glibc systems.
22932         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
22933         also on glibc systems in C++ mode.
22934         Reported by Gary V. Vaughan <gary@gnu.org>.
22935
22936 2010-12-25  Bruno Haible  <bruno@clisp.org>
22937
22938         roundl-ieee: Make it work on OSF/1 5.1 with cc.
22939         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
22940
22941 2010-12-25  Bruno Haible  <bruno@clisp.org>
22942
22943         truncl-ieee: Make it work on OSF/1 5.1 with cc.
22944         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
22945         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
22946         test whether truncl works according to ISO C 99 with IEC 60559.
22947         * m4/truncl-ieee.m4: New file.
22948         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
22949         m4/signbit.m4.
22950         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
22951
22952 2010-12-25  Bruno Haible  <bruno@clisp.org>
22953
22954         ceill-ieee: Make it work on OSF/1 5.1 with cc.
22955         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
22956         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
22957         test whether ceill works according to ISO C 99 with IEC 60559.
22958         * m4/ceill-ieee.m4: New file.
22959         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
22960         m4/signbit.m4.
22961         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
22962
22963 2010-12-25  Bruno Haible  <bruno@clisp.org>
22964
22965         Ensure all prerequisites of <wchar.h> are included.
22966         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
22967         before <wchar.h>.
22968         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
22969         gl_MBRLEN_NUL_RETVAL): Likewise.
22970         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
22971         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
22972         AC_FUNC_MBRTOWC): Likewise.
22973         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
22974         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
22975         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
22976         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
22977         Likewise.
22978         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
22979         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
22980         (gl_WCHAR_H): Improve comments.
22981         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
22982
22983 2010-12-25  Bruno Haible  <bruno@clisp.org>
22984
22985         strtok_r: Fix C syntax error in autoconf macro.
22986         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
22987         characters in test program.
22988
22989 2010-12-24  Bruno Haible  <bruno@clisp.org>
22990
22991         ceil, trunc, round: Fix gcc warnings.
22992         * lib/ceil.c (MIN): Undefine before redefining.
22993         * lib/trunc.c (MIN): Likewise.
22994         * lib/round.c (MIN): Likewise.
22995         Include <math.h> first.
22996
22997 2010-12-24  Bruno Haible  <bruno@clisp.org>
22998
22999         select tests: Avoid failures on OSF/1 5.1.
23000         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
23001         failure of closing the last socket; it may fail with ECONNRESET.
23002
23003 2010-12-24  Eric Blake  <eblake@redhat.com>
23004
23005         stdint: avoid HP-UX 10.20 preprocessor bug
23006         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
23007         than #if.
23008         * tests/test-floor2.c (main): Likewise.
23009         Reported by Peter O'Gorman.
23010
23011         pipe: make obsoletion transition easier
23012         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
23013         * modules/pipe (Files): Include revived file.
23014         (Include): Drop reference, to mirror getdate's behavior.
23015
23016 2010-12-24  Bruno Haible  <bruno@clisp.org>
23017
23018         sys_socket: Hide mismatch of declarations on NonStop Kernel.
23019         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
23020         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
23021         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23022
23023 2010-12-24  Bruno Haible  <bruno@clisp.org>
23024
23025         gethostname: Ensure declaration on NonStop Kernel.
23026         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
23027         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23028
23029 2010-12-24  Bruno Haible  <bruno@clisp.org>
23030
23031         sys_select: Ensure all necessary types on NonStop Kernel.
23032         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
23033         include <sys/time.h>.
23034         * doc/posix-headers/sys_select.texi: Mention that it's missing on
23035         NonStop Kernel.
23036         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23037
23038 2010-12-24  Bruno Haible  <bruno@clisp.org>
23039
23040         sys_select: Remove unneeded include.
23041         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
23042         have <sys/select.h>.
23043
23044 2010-12-24  Bruno Haible  <bruno@clisp.org>
23045
23046         gethostname: Provide a fallback for HOST_NAME_MAX.
23047         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
23048         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
23049         instead.
23050         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23051
23052 2010-12-24  Bruno Haible  <bruno@clisp.org>
23053
23054         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
23055         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
23056         (SA_RESTART): Likewise.
23057         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23058
23059 2010-12-24  Bruno Haible  <bruno@clisp.org>
23060
23061         signal: Define NSIG.
23062         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
23063         * tests/test-signal.c (nsig): New variable.
23064         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23065
23066 2010-12-24  Bruno Haible  <bruno@clisp.org>
23067
23068         rename, renameat: Avoid test failures on OSF/1 5.1.
23069         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
23070         alternative error codes.
23071         * tests/test-renameat.c (main): Likewise.
23072
23073 2010-12-24  Bruno Haible  <bruno@clisp.org>
23074
23075         *printf: Detect large precisions bug on Solaris 10/SPARC.
23076         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
23077         by Paul Eggert.
23078         * tests/test-snprintf-posix.h (test_function): Add this test code here
23079         too.
23080         * tests/test-sprintf-posix.h (test_function): Likewise.
23081         * tests/test-vasnprintf-posix.c (test_function): Likewise.
23082         * tests/test-vasprintf-posix.c (test_function): Likewise.
23083         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
23084         around by gnulib.
23085         * doc/posix-functions/printf.texi: Likewise.
23086         * doc/posix-functions/snprintf.texi: Likewise.
23087         * doc/posix-functions/sprintf.texi: Likewise.
23088         * doc/posix-functions/vfprintf.texi: Likewise.
23089         * doc/posix-functions/vprintf.texi: Likewise.
23090         * doc/posix-functions/vsnprintf.texi: Likewise.
23091         * doc/posix-functions/vsprintf.texi: Likewise.
23092         * doc/posix-functions/dprintf.texi: Undo last commit.
23093         * doc/posix-functions/vdprintf.texi: Likewise.
23094
23095 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
23096
23097         tests: port test-fdutimensat.c to Solaris 8
23098         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
23099         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
23100         On Solaris 8, it fails with errno == ENOSYS, because there is no
23101         futimens (so it can't use the fd), and there is no lutimens (so it
23102         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
23103
23104         vsnprintf: make more consistent with snprintf; doc fixes
23105
23106         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
23107         the byte count return problem was promoted from the snprintf-posix
23108         to the snprintf module.
23109         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
23110         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
23111         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
23112         * tests/test-snprintf.c (main): Check the byte count returned.
23113         * tests/test-vsnprintf.c (main): Likewise.
23114
23115 2010-12-23  Eric Blake  <eblake@redhat.com>
23116
23117         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
23118         * modules/sigpipe (License): Relax license.
23119
23120 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
23121
23122         doc: document Solaris printf bug with large float precisions
23123         * doc/posix-functions/dprintf.texi (dprintf):
23124         * doc/posix-functions/fprintf.texi (fprintf):
23125         * doc/posix-functions/printf.texi (printf):
23126         * doc/posix-functions/snprintf.texi (snprintf):
23127         * doc/posix-functions/sprintf.texi (sprintf):
23128         * doc/posix-functions/vdprintf.texi (vdprintf):
23129         * doc/posix-functions/vfprintf.texi (vfprintf):
23130         * doc/posix-functions/vprintf.texi (vprintf):
23131         * doc/posix-functions/vsnprintf.texi (vsnprintf):
23132         * doc/posix-functions/vsprintf.texi (vsprintf):
23133         Mention that these functions mishandle large floating point
23134         precisions on Solaris 10.  The same bug is also present in Solaris
23135         8, and I assume earlier.  This causes "cd gnulib-tests; make
23136         check" to fail on Solaris 8 (and I assume, later) when building
23137         the latest coreutils, in test-vasprintf-posix's call to
23138         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
23139         the wide flavors (e.g., wprintf) so this patch just updates the
23140         documentation for the narrow ones.
23141
23142         test-posixtm.c: add two tests
23143         * tests/test-posixtm.c: Add two tests, to highlight the
23144         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
23145         around this bug; this is merely to document it.
23146
23147 2010-12-22  Bruno Haible  <bruno@clisp.org>
23148
23149         getlogin_r: Work around portability problem on OSF/1.
23150         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
23151         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
23152         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
23153         test for a truncated result.
23154         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
23155         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
23156         * modules/getlogin_r (Depends-on): Add memchr.
23157         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
23158
23159 2010-12-22  Bruno Haible  <bruno@clisp.org>
23160
23161         ptsname: Avoid test failure on OSF/1 5.1.
23162         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
23163         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
23164         (same_slave): New function.
23165         (main): Use it to compare ptsname's result with the expected file name.
23166
23167 2010-12-22  Bruno Haible  <bruno@clisp.org>
23168
23169         Port extended stdio modules to HP NonStop Kernel.
23170         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
23171         macros.
23172         * lib/fbufmode.c: Update comments.
23173         * lib/fflush.c: Likewise.
23174         * lib/fpurge.c: Likewise.
23175         * lib/freadable.c: Likewise.
23176         * lib/freadahead.c: Likewise.
23177         * lib/freading.c: Likewise.
23178         * lib/freadptr.c: Likewise.
23179         * lib/freadseek.c: Likewise.
23180         * lib/fseeko.c: Likewise.
23181         * lib/fseterr.c: Likewise.
23182         * lib/fwritable.c: Likewise.
23183         * lib/fwriting.c: Likewise.
23184         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23185
23186 2010-12-22  Bruno Haible  <bruno@clisp.org>
23187
23188         ttyname_r: Work around bug on OSF/1 5.1.
23189         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
23190         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
23191         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
23192         present.
23193         * lib/ttyname_r.c (ttyname_r): Update comments.
23194
23195 2010-12-22  Bruno Haible  <bruno@clisp.org>
23196
23197         round: Implement result sign according to IEEE 754.
23198         * lib/round.c (MIN, MINUS_ZERO): New macros.
23199         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
23200         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
23201         * tests/test-round-ieee.c (main): Likewise.
23202         * tests/test-roundl-ieee.c (main): Likewise.
23203
23204         trunc: Implement result sign according to IEEE 754.
23205         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
23206         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
23207         * tests/test-trunc2.c: Include minus-zero.h.
23208         (MINUS_ZERO): New macro.
23209         (trunc_reference): Keep in sync with lib/trunc.c.
23210         * tests/test-truncf2.c: Include minus-zero.h.
23211         (MINUS_ZERO): New macro.
23212         (truncf_reference): Keep in sync with lib/trunc.c.
23213         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
23214         * tests/test-trunc-ieee.c (main): Likewise.
23215         * tests/test-truncl-ieee.c (main): Likewise.
23216
23217         ceil: Implement result sign according to IEEE 754.
23218         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
23219         (FUNC): Return -0.0 for -1 < x < 0.
23220         * tests/test-ceil2.c: Include minus-zero.h.
23221         (MINUS_ZERO): New macro.
23222         (ceil_reference): Keep in sync with lib/ceil.c.
23223         * tests/test-ceilf2.c: Include minus-zero.h.
23224         (MINUS_ZERO): New macro.
23225         (ceilf_reference): Keep in sync with lib/ceil.c.
23226         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
23227         * tests/test-ceil-ieee.c (main): Likewise.
23228         * tests/test-ceill-ieee.c (main): Likewise.
23229
23230         floor: Implement result sign according to IEEE 754.
23231         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
23232         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
23233         * tests/test-floorf2.c (floorf_reference): Likewise.
23234         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
23235         * tests/test-floor-ieee.c (main): Likewise.
23236         * tests/test-floorl-ieee.c (main): Likewise.
23237
23238 2010-12-22  Bruno Haible  <bruno@clisp.org>
23239
23240         getaddrinfo: Update doc.
23241         * doc/posix-functions/gai_strerror.texi: Return type is also different
23242         on AIX and HP-UX.
23243
23244 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
23245
23246         getaddrinfo, inet_ntop: Update doc for Solaris.
23247         * doc/posix-functions/gai_strerror.texi: Return type is also an
23248         issue on Solaris 9 and earlier.
23249         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
23250         on Solaris 10 and earlier.
23251
23252 2010-12-21  Bruno Haible  <bruno@clisp.org>
23253
23254         New module 'roundl-ieee'.
23255         * modules/roundl-ieee: New file.
23256         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
23257         test whether roundl works according to ISO C 99 with IEC 60559.
23258         * m4/roundl-ieee.m4: New file.
23259         * modules/roundl-ieee-tests: New file.
23260         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
23261         * tests/test-roundl.c (main): Remove signbit tests.
23262         * modules/roundl-tests (Depends-on): Remove signbit.
23263         * doc/posix-functions/roundl.texi: Mention the new module.
23264
23265 2010-12-21  Bruno Haible  <bruno@clisp.org>
23266
23267         New module 'truncl-ieee'.
23268         * modules/truncl-ieee: New file.
23269         * modules/truncl-ieee-tests: New file.
23270         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
23271         * tests/test-truncl.c (main): Remove signbit tests.
23272         * modules/truncl-tests (Depends-on): Remove signbit.
23273         * doc/posix-functions/truncl.texi: Mention the new module.
23274
23275 2010-12-21  Bruno Haible  <bruno@clisp.org>
23276
23277         New module 'ceill-ieee'.
23278         * modules/ceill-ieee: New file.
23279         * modules/ceill-ieee-tests: New file.
23280         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
23281         * tests/test-ceill.c (main): Remove signbit tests.
23282         * modules/ceill-tests (Depends-on): Remove signbit.
23283         * doc/posix-functions/ceill.texi: Mention the new module.
23284
23285 2010-12-21  Bruno Haible  <bruno@clisp.org>
23286
23287         New module 'floorl-ieee'.
23288         * modules/floorl-ieee: New file.
23289         * modules/floorl-ieee-tests: New file.
23290         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
23291         * tests/test-floorl.c (main): Remove signbit tests.
23292         * modules/floorl-tests (Depends-on): Remove signbit.
23293         * doc/posix-functions/floorl.texi: Mention the new module.
23294
23295 2010-12-21  Bruno Haible  <bruno@clisp.org>
23296
23297         New module 'round-ieee'.
23298         * modules/round-ieee: New file.
23299         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
23300         whether round works according to ISO C 99 with IEC 60559.
23301         * m4/round-ieee.m4: New file.
23302         * modules/round-ieee-tests: New file.
23303         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
23304         * tests/test-round1.c (main): Remove signbit tests.
23305         * modules/round-tests (Depends-on): Remove 'signbit'.
23306         * doc/posix-functions/round.texi: Mention the new module.
23307
23308 2010-12-21  Bruno Haible  <bruno@clisp.org>
23309
23310         New module 'trunc-ieee'.
23311         * modules/trunc-ieee: New file.
23312         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
23313         whether trunc works according to ISO C 99 with IEC 60559.
23314         * m4/trunc-ieee.m4: New file.
23315         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
23316         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
23317         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
23318         * modules/trunc-ieee-tests: New file.
23319         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
23320         * tests/test-trunc1.c (main): Remove signbit tests.
23321         * modules/trunc-tests (Depends-on): Remove 'signbit'.
23322         * doc/posix-functions/trunc.texi: Mention the new module.
23323
23324 2010-12-21  Bruno Haible  <bruno@clisp.org>
23325
23326         New module 'ceil-ieee'.
23327         * modules/ceil-ieee: New file.
23328         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
23329         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
23330         ISO C 99 with IEC 60559.
23331         * m4/ceil-ieee.m4: New file.
23332         * modules/ceil (Files): Add lib/ceil.c.
23333         (Depends-on): Add 'float'.
23334         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
23335         * lib/math.in.h (ceil): New declaration.
23336         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
23337         REPLACE_CEIL.
23338         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
23339         * modules/ceil-ieee-tests: New file.
23340         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
23341         * tests/test-math-c++.cc: Check the signature of 'ceil'.
23342         * doc/posix-functions/ceil.texi: Mention the new module.
23343
23344 2010-12-21  Bruno Haible  <bruno@clisp.org>
23345
23346         New module 'floor-ieee'.
23347         * modules/floor-ieee: New file.
23348         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
23349         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
23350         ISO C 99 with IEC 60559.
23351         * m4/floor-ieee.m4: New file.
23352         * modules/floor (Files): Add lib/floor.c.
23353         (Depends-on): Add 'float'.
23354         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
23355         * lib/math.in.h (floor): New declaration.
23356         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
23357         REPLACE_FLOOR.
23358         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
23359         * modules/floor-ieee-tests: New file.
23360         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
23361         * tests/test-math-c++.cc: Check the signature of 'floor'.
23362         * doc/posix-functions/floor.texi: Mention the new module.
23363
23364 2010-12-21  Bruno Haible  <bruno@clisp.org>
23365
23366         New module 'roundf-ieee'.
23367         * modules/roundf-ieee: New file.
23368         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
23369         test whether roundf works according to ISO C 99 with IEC 60559.
23370         * m4/roundf-ieee.m4: New file.
23371         * modules/roundf-ieee-tests: New file.
23372         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
23373         * tests/test-roundf1.c (main): Remove signbit tests.
23374         * modules/roundf-tests (Depends-on): Remove 'signbit'.
23375         * doc/posix-functions/roundf.texi: Mention the new module.
23376
23377 2010-12-21  Bruno Haible  <bruno@clisp.org>
23378
23379         New module 'truncf-ieee'.
23380         * modules/truncf-ieee: New file.
23381         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
23382         test whether truncf works according to ISO C 99 with IEC 60559.
23383         * m4/truncf-ieee.m4: New file.
23384         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
23385         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
23386         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
23387         * modules/truncf-ieee-tests: New file.
23388         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
23389         * tests/test-truncf1.c (main): Remove signbit tests.
23390         * modules/truncf-tests (Depends-on): Remove 'signbit'.
23391         * doc/posix-functions/truncf.texi: Mention the new module.
23392
23393 2010-12-21  Bruno Haible  <bruno@clisp.org>
23394
23395         New module 'ceilf-ieee'.
23396         * modules/ceilf-ieee: New file.
23397         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
23398         test whether ceilf works according to ISO C 99 with IEC 60559.
23399         * m4/ceilf-ieee.m4: New file.
23400         * modules/ceilf-ieee-tests: New file.
23401         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
23402         * tests/test-ceilf1.c (main): Remove signbit tests.
23403         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
23404         * doc/posix-functions/ceilf.texi: Mention the new module.
23405
23406 2010-12-21  Bruno Haible  <bruno@clisp.org>
23407
23408         New module 'floorf-ieee'.
23409         * modules/floorf-ieee: New file.
23410         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
23411         test whether floorf works according to ISO C 99 with IEC 60559.
23412         * m4/floorf-ieee.m4: New file.
23413         * modules/floorf-ieee-tests: New file.
23414         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
23415         * tests/test-floorf1.c (main): Remove signbit tests.
23416         * modules/floorf-tests (Depends-on): Remove 'signbit'.
23417         * doc/posix-functions/floorf.texi: Mention the new module.
23418
23419 2010-12-21  Bruno Haible  <bruno@clisp.org>
23420
23421         Support for minus zero in autoconf macros.
23422         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
23423         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
23424         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
23425         * tests/minus-zero.h: Update comments.
23426
23427 2010-12-21  Bruno Haible  <bruno@clisp.org>
23428
23429         Tests for module 'ceil'.
23430         * modules/ceil-tests: New file.
23431         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
23432         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
23433
23434 2010-12-21  Bruno Haible  <bruno@clisp.org>
23435
23436         Tests for module 'floor'.
23437         * modules/floor-tests: New file.
23438         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
23439         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
23440
23441 2010-12-21  Bruno Haible  <bruno@clisp.org>
23442
23443         math: Fix indentation.
23444         * lib/math.in.h (floorf): Fix indentation.
23445
23446 2010-12-21  Bruno Haible  <bruno@clisp.org>
23447
23448         Fix cross-compilation guesses on Solaris.
23449         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
23450         not match "solaris2.10".
23451         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
23452         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
23453         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
23454
23455 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
23456
23457         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
23458         This fixes a problem observed with the latest coreutils snapshot
23459         that caused a test to fail on Solaris 8.  src/csplit.c's call
23460         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
23461         earlier, instead of returning the number of bytes that would have
23462         been generated; this causes csplit to incorrectly report memory
23463         exhaustion.
23464         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
23465         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
23466         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
23467         comments to match.
23468         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
23469         Fix typo in matching older versions of Solaris: "solaris2.10"
23470         is matched by the shell pattern "solaris2.[0-9]*".  This matters
23471         only for guessing while cross-compiling.
23472         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
23473
23474 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
23475
23476         ftoastr: fix comment again
23477         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
23478         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
23479         Also, simplify example a bit by using flags = 0.
23480
23481 2010-12-20  Bruno Haible  <bruno@clisp.org>
23482
23483         round*, trunc*: Update documentation regarding glibc.
23484         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
23485         * doc/posix-functions/round.texi: Likewise.
23486         * doc/posix-functions/roundl.texi: Likewise.
23487         * doc/posix-functions/truncf.texi: Likewise.
23488         * doc/posix-functions/trunc.texi: Likewise.
23489         * doc/posix-functions/truncl.texi: Likewise.
23490
23491 2010-12-20  Bruno Haible  <bruno@clisp.org>
23492
23493         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
23494         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
23495         * doc/posix-functions/round.texi: Likewise.
23496         * doc/posix-functions/roundl.texi: Likewise.
23497
23498 2010-12-20  Bruno Haible  <bruno@clisp.org>
23499
23500         ttyname_r: Add missing declaration on HP-UX 11.
23501         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
23502         HAVE_TTYNAME_R.
23503         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
23504         declared. Set HAVE_TTYNAME_R always.
23505         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
23506         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
23507         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
23508         HAVE_TTYNAME_R.
23509         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
23510
23511 2010-12-20  Bruno Haible  <bruno@clisp.org>
23512
23513         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
23514         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
23515         * doc/posix-functions/getlogin_r.texi: Likewise.
23516         * tests/test-getlogin.c: Include <errno.h>.
23517         (main): Avoid test failure on HP-UX 11.11.
23518         * tests/test-getlogin_r.c (main): Likewise.
23519
23520 2010-12-20  Bruno Haible  <bruno@clisp.org>
23521
23522         getlogin_r: Add missing declaration on HP-UX 11.
23523         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
23524         declared also when it exists as a function.
23525         * doc/posix-functions/getlogin_r.texi: Document this workaround.
23526
23527 2010-12-20  Bruno Haible  <bruno@clisp.org>
23528
23529         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
23530         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
23531         through wcrtomb.
23532
23533 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
23534
23535         ftoastr: fix comment
23536         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
23537         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
23538
23539 2010-12-19  Bruno Haible  <bruno@clisp.org>
23540
23541         isnan: Ensure it is a macro.
23542         * lib/math.in.h (isnan): Define as a macro if not already a macro.
23543         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
23544         Solaris.
23545
23546 2010-12-19  Bruno Haible  <bruno@clisp.org>
23547
23548         ldexpl test: Fix link error on OSF/1 5.1.
23549         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
23550
23551 2010-12-19  Bruno Haible  <bruno@clisp.org>
23552
23553         wctype: Make it work in C++ mode on OSF/1 5.1.
23554         * lib/wctype.in.h (iswblank): Declare but not define here.
23555         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
23556         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
23557         * modules/wctype (Files): Add lib/iswblank.c.
23558
23559 2010-12-19  Bruno Haible  <bruno@clisp.org>
23560
23561         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
23562         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
23563         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
23564
23565 2010-12-19  Bruno Haible  <bruno@clisp.org>
23566
23567         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
23568         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
23569         _POSIX_PII_SOCKET.
23570         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
23571         * doc/posix-functions/recvfrom.texi: Likewise.
23572         * doc/posix-functions/send.texi: Likewise.
23573         * doc/posix-functions/sendto.texi: Likewise.
23574
23575 2010-12-19  Bruno Haible  <bruno@clisp.org>
23576
23577         tcgetsid: Add missing declaration on OSF/1 5.1.
23578         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
23579         HAVE_TCGETSID.
23580         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
23581         Don't set HAVE_TCGETSID.
23582         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
23583         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
23584         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
23585         HAVE_TCGETSID.
23586         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
23587
23588 2010-12-19  Bruno Haible  <bruno@clisp.org>
23589
23590         stdio: Fix problem with popen() declaration on OSF/1 5.1.
23591         * lib/stdio.in.h: During the include_next statement, let recursive
23592         includes of this file include only the system header file.
23593
23594 2010-12-19  Bruno Haible  <bruno@clisp.org>
23595
23596         iconv_open: Fix regression from 2010-12-04.
23597         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
23598         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
23599
23600 2010-12-19  Bruno Haible  <bruno@clisp.org>
23601
23602         stdbool test: Avoid a gcc warning.
23603         * tests/test-stdbool.c (main): Fail if e1 is false.
23604         Reported by Jim Meyering.
23605
23606 2010-12-19  Jim Meyering  <meyering@redhat.com>
23607
23608         setenv: restore to working order
23609         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
23610         mistakenly removed.
23611         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
23612         HAVE_SETENV.
23613         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
23614         HAVE_SETENV.
23615
23616 2010-12-19  Bruno Haible  <bruno@clisp.org>
23617
23618         Document some different function declarations on OSF/1 5.1.
23619         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
23620         * doc/posix-functions/inet_ntop.texi: Likewise.
23621         * doc/posix-functions/gethostname.texi: Likewise.
23622         * lib/unistd.in.h (gethostname): Update comment.
23623
23624 2010-12-19  Bruno Haible  <bruno@clisp.org>
23625
23626         doc: Mention vasprintf-posix module.
23627         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
23628         the 'vasprintf-posix' module.
23629         * doc/glibc-functions/vasprintf.texi: Likewise.
23630
23631 2010-12-19  Bruno Haible  <bruno@clisp.org>
23632
23633         unsetenv: Add missing declaration on OSF/1 5.1.
23634         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
23635         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
23636         Don't set HAVE_UNSETENV. In the test program, set _BSD.
23637         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
23638         not HAVE_UNSETENV.
23639         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
23640         HAVE_UNSETENV.
23641         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
23642
23643 2010-12-19  Bruno Haible  <bruno@clisp.org>
23644
23645         setenv: Add missing declaration on OSF/1 5.1.
23646         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
23647         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
23648         declared. Don't set HAVE_SETENV.
23649         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
23650         not HAVE_SETENV.
23651         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
23652         HAVE_SETENV.
23653         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
23654
23655 2010-12-19  Bruno Haible  <bruno@clisp.org>
23656
23657         nl_langinfo tests: Avoid gcc warning.
23658         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
23659
23660 2010-12-19  Bruno Haible  <bruno@clisp.org>
23661
23662         mknod: Avoid error in C++ mode on OSF/1 with GCC.
23663         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
23664         _GL_CXXALIAS_SYS.
23665
23666 2010-12-19  Bruno Haible  <bruno@clisp.org>
23667
23668         stdbool: Relax test.
23669         * tests/test-stdbool.c (e): Don't require that casts from a variable's
23670         address to 'bool' work in static initializer, for compilers other than
23671         GCC.
23672
23673 2010-12-19  Bruno Haible  <bruno@clisp.org>
23674
23675         ftello: Add missing declaration on OSF/1 5.1.
23676         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
23677         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
23678         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
23679         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
23680         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
23681
23682 2010-12-19  Bruno Haible  <bruno@clisp.org>
23683
23684         fseeko: Add missing declaration on OSF/1 5.1.
23685         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
23686         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
23687         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
23688         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
23689         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
23690
23691 2010-12-19  Bruno Haible  <bruno@clisp.org>
23692
23693         fchdir: Add missing declaration on OSF/1 5.1.
23694         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
23695         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
23696         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
23697         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
23698         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
23699
23700 2010-12-19  Bruno Haible  <bruno@clisp.org>
23701
23702         relocatable-prog-wrapper: Separate from relocatable-prog.
23703         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
23704         uninstall-relocwrapper rule here.
23705         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
23706         Reported by Ian Beckwith <ianb@erislabs.net>.
23707
23708 2010-12-19  Bruno Haible  <bruno@clisp.org>
23709
23710         unistr/u8-mbsnlen: Add missing dependency.
23711         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
23712         Reported by Ian Beckwith <ianb@erislabs.net>.
23713
23714 2010-12-19  Bruno Haible  <bruno@clisp.org>
23715
23716         iconv: Make it possible again to use this module without 'iconv-h'.
23717         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
23718         if it is not defined.
23719         Reported by Ian Beckwith <ianb@erislabs.net>.
23720
23721 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
23722
23723         acl: port to Solaris 8 when copying from tmpfs to ufs
23724         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
23725         error number.  Problem observed on Solaris 8 with latest
23726         coreutils, with "mv A B", where A is on a tmpfs file system and B
23727         is on a ufs file system.  This caused coreutils' mv/part-symlink
23728         test to fail.
23729
23730         tests: set fail=0 at start
23731         * tests/init.sh (setup_): Move fail=0 initialization here ...
23732         (mktempd_): ... from here, so that tests can rely on fail being
23733         set to 0 initially.  This fixes a problem in coreutils; see:
23734         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
23735
23736 2010-12-18  Bruno Haible  <bruno@clisp.org>
23737
23738         memmem-simple: Stylistic changes.
23739         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
23740         Fix preprocessor directive indentation.
23741
23742 2010-12-15  Pádraig Brady <P@draigBrady.com>
23743
23744         memmem, memmem-simple: reorganize and expand empty needle check
23745         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
23746         functional checks to memmem-simple so that one has a fully functional
23747         memmem by using just this module.
23748         Restrict the performance only check to the memmem module.
23749         Also expand the empty needle check to ensure the correct
23750         pointer is returned, not just a non NULL pointer.
23751         * doc/glibc-functions/memmem.texi: Rearrange the portability
23752         documentation to correlate with the rearranged checks.
23753         Clarify exactly how the memmem and memmem-simple modules
23754         relate to each other.
23755
23756 2010-12-15  Pádraig Brady <P@draigBrady.com>
23757             Bruno Haible  <bruno@clisp.org>
23758
23759         Improve cross-compilation guesses for uClibc.
23760         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
23761         that uClibc does not have the glibc bug.
23762         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
23763         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
23764
23765 2010-12-14  Eric Blake  <eblake@redhat.com>
23766
23767         configmake: provide fallbacks for oldest supported autotools
23768         * m4/configmake.m4: New file.
23769         * modules/configmake (Files): Ship it.
23770         (configure.ac): Use it to guarantee fallbacks.
23771
23772 2010-12-13  Pádraig Brady <P@draigBrady.com>
23773
23774         read-file: Improve handling of large files
23775         * lib/read-file.c (fread_file): Minimize realloc()s
23776         for regular files, and better manage sizes around SIZE_MAX.
23777
23778 2010-12-13  Eric Blake  <eblake@redhat.com>
23779
23780         cloexec, fcntl: relax license
23781         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
23782         consent from all contributors.
23783         * modules/fcntl (License): Likewise.
23784
23785 2010-12-10  Bruno Haible  <bruno@clisp.org>
23786
23787         Tests for module 'pipe-posix'.
23788         * modules/pipe-posix-tests: New file.
23789         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
23790
23791 2010-12-10  Bruno Haible  <bruno@clisp.org>
23792
23793         pipe-posix: Make it work in C++ mode.
23794         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
23795         (pipe): Use common idiom, not a macro definition.
23796         * lib/pipe.c: New file.
23797         * m4/pipe.m4: New file.
23798         * modules/pipe-posix (Description): Enhance.
23799         (Files): Add lib/pipe.c, m4/pipe.m4.
23800         (configure.ac): Invoke gl_FUNC_PIPE.
23801         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
23802         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
23803         * tests/test-unistd-c++.cc: Check the signature of pipe.
23804
23805 2010-12-10  Bruno Haible  <bruno@clisp.org>
23806
23807         Rename module 'pipe' to 'spawn-pipe'.
23808         * modules/spawn-pipe: New file, renamed from modules/pipe.
23809         (Files, configure.ac, Makefile.am): Update.
23810         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
23811         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
23812         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
23813         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
23814         "spawn-pipe.h" instead of "pipe.h".
23815         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
23816         to gl_SPAWN_PIPE.
23817         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
23818         (Files, Makefile.am): Update.
23819         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
23820         Update.
23821         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
23822         Include "spawn-pipe.h" instead of "pipe.h".
23823         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
23824         * lib/javacomp.c: Likewise.
23825         * lib/javaversion.c: Likewise.
23826         * lib/pipe-filter-gi.c: Likewise.
23827         * lib/pipe-filter-ii.c: Likewise.
23828         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
23829         * modules/javacomp (Depends-on): Likewise.
23830         * modules/javaversion (Depends-on): Likewise.
23831         * modules/pipe-filter-gi (Depends-on): Likewise.
23832         * modules/pipe-filter-ii (Depends-on): Likewise.
23833         * MODULES.html.sh (Executing programs): Update.
23834         * NEWS: Mention the change.
23835
23836 2010-12-10  Eric Blake  <eblake@redhat.com>
23837
23838         pipe-posix: new module
23839         * modules/pipe-posix: New file.
23840         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
23841         (gl_UNISTD_H): Check for declaration.
23842         * modules/unistd (Makefile.am): Substitute it.
23843         * lib/unistd.in.h (pipe): Provide it for mingw.
23844         * doc/posix-functions/pipe.texi (pipe): Update documentation.
23845         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
23846
23847 2010-12-07  Bruno Haible  <bruno@clisp.org>
23848
23849         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
23850         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
23851         u8_strcmp_gnu.
23852         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
23853
23854 2010-12-06  Bruno Haible  <bruno@clisp.org>
23855
23856         Update internal documentation.
23857         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
23858
23859 2010-12-04  Bruno Haible  <bruno@clisp.org>
23860
23861         Put more information about failed tests into the test return codes.
23862         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
23863         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
23864         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
23865         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
23866         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
23867         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
23868         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
23869         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
23870         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
23871         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
23872         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
23873         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
23874         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
23875         * m4/stdint.m4 (gl_STDINT_H): Likewise.
23876         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
23877         returns a bit mask.
23878         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
23879         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
23880         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
23881         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
23882         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
23883         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
23884         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
23885         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
23886         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
23887         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
23888         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
23889         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
23890         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
23891         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
23892         * m4/link.m4 (gl_FUNC_LINK): Likewise.
23893         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
23894         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
23895         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
23896         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
23897         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
23898         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
23899         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
23900         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
23901         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
23902         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
23903         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
23904         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
23905         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
23906         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
23907         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
23908         gl_PRINTF_PRECISION): Likewise.
23909         * m4/regex.m4 (gl_REGEX): Likewise.
23910         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
23911         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
23912         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
23913         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
23914         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
23915         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
23916         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
23917         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
23918         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
23919         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
23920         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
23921         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
23922         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
23923         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
23924         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
23925         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
23926         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
23927         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
23928         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
23929         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
23930         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
23931         enumerated value.
23932         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
23933
23934 2010-12-04  Bruno Haible  <bruno@clisp.org>
23935
23936         Update for Solaris 11 2010-11.
23937         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
23938         Express, released in November 2010.
23939
23940 2010-12-04  Bruno Haible  <bruno@clisp.org>
23941
23942         nproc: Relax license.
23943         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
23944         and Paul Eggert.
23945         Requested by Ludovic Courtès <ludo@gnu.org>.
23946
23947 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
23948
23949         utimecmp: fine-grained src to nearby coarse-grained dest
23950
23951         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
23952         and the source is on a file system with higher-resolution time
23953         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
23954         not work, and the time stamps are close together, the algorithm to
23955         determine the exact resolution from the read-back mtime was buggy:
23956         it had a "!=" where it should have had an "==".  This bug has been
23957         in the code ever since it was introduced to gnulib.
23958         Problem reported by Dan Jacobson in
23959         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
23960
23961 2010-11-30  Bruno Haible  <bruno@clisp.org>
23962
23963         strerror_r-posix: Fix autoconf test.
23964         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
23965
23966 2010-11-28  Bruno Haible  <bruno@clisp.org>
23967             Paul Eggert  <eggert@cs.ucla.edu>
23968
23969         Tests for module 'getdomainname'.
23970         * modules/getdomainname-tests: New file.
23971         * tests/test-getdomainname.c: New file, based on
23972         tests/test-gethostname.c.
23973
23974 2010-11-28  Bruno Haible  <bruno@clisp.org>
23975             Paul Eggert  <eggert@cs.ucla.edu>
23976
23977         getdomainname: Use the system function when possible.
23978         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
23979         (getdomainname): Replace if needed. Provide the declaration if it is
23980         missing. Don't use _GL_CXXALIAS_SYS_CAST.
23981         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
23982         (getdomainname): When the system has getdomainname, call the system
23983         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
23984         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
23985         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
23986         found in libnsl. Look for the declaration also in <netdb.h>. Replace
23987         the function if its second argument is of type 'int' or if it is found
23988         in libnsl.
23989         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
23990         <sys/systeminfo.h> and sysinfo().
23991         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
23992         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
23993         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
23994         HAVE_GETDOMAINNAME.
23995         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
23996         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
23997         * doc/glibc-functions/getdomainname.texi: Document the problems with
23998         the getdomainname declaration.
23999
24000 2010-11-28  Bruno Haible  <bruno@clisp.org>
24001
24002         sys_socket: Ensure ss_family field on AIX.
24003         * lib/sys_socket.in.h (ss_family): New macro definition.
24004         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
24005         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
24006         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
24007         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
24008         * modules/sys_socket (Makefile.am): Substitute
24009         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
24010         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
24011
24012 2010-11-27  Bruno Haible  <bruno@clisp.org>
24013
24014         readline: Improve configure output.
24015         * m4/readline.m4 (gl_FUNC_READLINE): Make the
24016         "checking for readline..." result understandable.
24017
24018 2010-11-27  Bruno Haible  <bruno@clisp.org>
24019
24020         *printf-posix: Detect a bug on Solaris 10/x86.
24021         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
24022         for floating-point output.
24023         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
24024         directive.
24025         * tests/test-snprintf-posix.h (test_function): Likewise.
24026         * tests/test-sprintf-posix.h (test_function): Likewise.
24027         * tests/test-vasprintf-posix.c (test_function): Likewise.
24028         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
24029         * doc/posix-functions/printf.texi: Likewise.
24030         * doc/posix-functions/snprintf.texi: Likewise.
24031         * doc/posix-functions/sprintf.texi: Likewise.
24032         * doc/posix-functions/vfprintf.texi: Likewise.
24033         * doc/posix-functions/vprintf.texi: Likewise.
24034         * doc/posix-functions/vsnprintf.texi: Likewise.
24035         * doc/posix-functions/vsprintf.texi: Likewise.
24036         * doc/glibc-functions/obstack_printf.texi: Likewise.
24037         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
24038
24039 2010-11-27  Bruno Haible  <bruno@clisp.org>
24040
24041         Fix link error when module libunistring-optional is in use.
24042         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
24043         * modules/striconveha-tests (Makefile.am): Likewise.
24044
24045 2010-11-27  Bruno Haible  <bruno@clisp.org>
24046
24047         regex: Mention link dependencies.
24048         * modules/regex (Link): New section.
24049         * modules/rpmatch (Link): Likewise.
24050         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
24051
24052 2010-11-27  Bruno Haible  <bruno@clisp.org>
24053
24054         ftoastr: Fix compilation error on Solaris.
24055         * lib/ftoastr.c: Include <config.h>.
24056
24057 2010-11-27  Bruno Haible  <bruno@clisp.org>
24058
24059         getloadavg: Update documentation.
24060         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
24061
24062 2010-11-27  Bruno Haible  <bruno@clisp.org>
24063
24064         sys_socket: Fix test whether the functions are declared.
24065         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
24066         not <sys/select.h>.
24067
24068 2010-11-27  Bruno Haible  <bruno@clisp.org>
24069
24070         getpass: Make sure to get system declaration on some platforms.
24071         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
24072         gl_USE_SYSTEM_EXTENSIONS.
24073         * modules/getpass (Depends-on): Add extensions.
24074
24075 2010-11-26  Bruno Haible  <bruno@clisp.org>
24076
24077         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
24078         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
24079         'iconv' module is present.
24080         (ICONV_CONST): New macro.
24081         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
24082         ICONV_CONST.
24083         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
24084         set ICONV_CONST.
24085         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
24086         here.
24087         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
24088         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
24089         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
24090         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
24091         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
24092         present.
24093
24094 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
24095
24096         ftoastr: comment fix
24097         * lib/ftoastr.c: "little" -> "little or no" in comment
24098
24099 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
24100
24101         stdint: port to GCC 4.3 + OSX + Octave
24102         On this platform, stdint.h is buggy and defines int64_t to long
24103         long int.  The replacement defined it to long int, causing
24104         problems with C++ style name mangling.  Instead, trust the system
24105         definition if INT64_MAX is defined, and likewise for the unsigned
24106         variant.   Problem reported by Jarno Rajahalme in
24107         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
24108         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
24109         and don't mess with int64_t and INT64_MAX in this case.
24110         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
24111
24112 2010-11-24  Bruno Haible  <bruno@clisp.org>
24113
24114         doc: Corrections regarding MacOS X 10.4 and 10.5.
24115         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
24116         MacOS X.
24117         Reported by Simon Josefsson.
24118
24119 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
24120
24121         Uninstall ".bin" files installed by relocwrapper.
24122         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
24123         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
24124         unless it is already there.
24125
24126 2010-11-21  Bruno Haible  <bruno@clisp.org>
24127
24128         Update for NetBSD 5.0.
24129         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
24130         NetBSD; the test fails on NetBSD 5.0.
24131         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
24132         about NetBSD.
24133
24134 2010-11-21  Bruno Haible  <bruno@clisp.org>
24135
24136         Update for HP-UX 11.23 and HP-UX 11.31.
24137         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
24138         HP-UX.
24139
24140 2010-11-21  Bruno Haible  <bruno@clisp.org>
24141
24142         Update for MacOS X 10.5.
24143         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
24144         MacOS X; the test fails on MacOS X 10.5.8.
24145         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
24146         about MacOS X.
24147
24148 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
24149
24150         bootstrap: add bootstrap_sync option.
24151         See discussion at
24152         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
24153         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
24154         * build-aux/bootstrap: Accept --bootstrap-sync to update
24155         bootstrap if it is not identical to the local gnulib's
24156         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
24157         enable this by default.  Accept --no-bootstrap-sync to disable
24158         it.
24159
24160 2010-11-20  Bruno Haible  <bruno@clisp.org>
24161
24162         Ensure that <features.h> is included before __GLIBC__ is tested.
24163         * lib/printf-parse.h: Include <features.h>.
24164         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
24165         Reported by Mike Frysinger <vapier@gentoo.org>.
24166
24167         Ensure that <features.h> is included before __GLIBC__ is tested.
24168         * lib/wchar.in.h: Include <features.h>.
24169         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
24170         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
24171         Reported by Mike Frysinger <vapier@gentoo.org>.
24172
24173         Ensure that <features.h> is included before __GLIBC__ is tested.
24174         * lib/arpa_inet.in.h: Include <features.h>.
24175         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
24176         * modules/arpa_inet (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         * build-aux/link-warning.h: Include <features.h>.
24181         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
24182         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
24183         Reported by Mike Frysinger <vapier@gentoo.org>.
24184
24185         Ensure that <features.h> is included before __GLIBC__ is tested.
24186         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
24187         Reported by Mike Frysinger <vapier@gentoo.org>.
24188
24189 2010-11-20  Bruno Haible  <bruno@clisp.org>
24190
24191         memmem: Fix autoconf test.
24192         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
24193
24194 2010-11-20  Bruno Haible  <bruno@clisp.org>
24195
24196         Port to uClibc.
24197         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
24198         * lib/fcntl.in.h: Likewise.
24199         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
24200         * lib/mbrtowc.c (mbrtowc): Likewise.
24201         * lib/relocatable.c (find_shared_library_fullname): Likewise.
24202         * lib/strerror_r.c: Likewise.
24203         * lib/unistr/u8-strnlen.c: Likewise.
24204         * lib/vasnprintf.c (decimal_point_char): Likewise.
24205         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
24206         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
24207         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
24208         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
24209         * tests/test-sigaction.c (handler, main): Likewise.
24210         * lib/freading.h: Treat uClibc like a non-glibc platform.
24211         * lib/freading.c: Likewise.
24212         * lib/gettext.h: Likewise.
24213         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
24214         Likewise.
24215         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
24216         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
24217         * lib/propername.c (proper_name_utf8): Likewise.
24218         * lib/spawn.in.h: Likewise.
24219         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
24220         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
24221         mem_cd_iconveh_internal): Likewise.
24222         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
24223         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
24224         strstr, strcasestr): Likewise.
24225         * lib/unicodeio.c (unicode_to_mb): Likewise.
24226         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
24227         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
24228         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
24229         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
24230         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
24231         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
24232         * lib/unistr/u8-stpncpy.c: Likewise.
24233         * lib/vasnprintf.c (VASNPRINTF): Likewise.
24234         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
24235         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
24236         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
24237         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
24238         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
24239         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
24240         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
24241         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
24242         Likewise.
24243         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
24244         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
24245         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
24246         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
24247         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
24248         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
24249         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
24250         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
24251         * tests/test-getopt.h (OPTIND_MIN): Likewise.
24252         * tests/test-striconveha.c (main): Likewise.
24253         * tests/test-vasnprintf-posix.c (test_function): Likewise.
24254         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
24255         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
24256         * doc/posix-functions/getline.texi: Likewise.
24257         Reported by Mike Frysinger <vapier@gentoo.org>.
24258
24259 2010-11-20  Bruno Haible  <bruno@clisp.org>
24260
24261         nproc: Fix condition.
24262         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
24263         HAVE_PTHREAD_AFFINITY_NP.
24264
24265 2010-11-20  Bruno Haible  <bruno@clisp.org>
24266
24267         Fix a comment.
24268         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
24269
24270 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
24271
24272         ftoastr: don't assume snprintf
24273         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
24274         Implement a subset of snprintf here, by using sprintf safely.
24275         * modules/ftoastr (Depends-on): Remove snprintf.
24276
24277 2010-11-19  Jim Meyering  <meyering@redhat.com>
24278
24279         test-rename.h: fix compilation failure
24280         * tests/test-rename.h (test_rename): Add omitted "}".
24281
24282 2010-11-17  Jim Meyering  <meyering@redhat.com>
24283
24284         maint.mk: add a URL discussing the no-@acronym policy
24285         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
24286
24287 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
24288
24289         ftoastr: depend on snprintf, improve comments
24290         * lib/ftoastr.c: Also mention Loitsch's draft.
24291         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
24292         needed in the current implementation, but it might simplify
24293         speeding up the code later.
24294         * modules/ftoastr: Depend on snprintf; this improves portability.
24295         Suggested by Bruno Haible in the same email.
24296
24297         ftoastr: port to hosts lacking strtof and strtold
24298         Problem reported by Bruno Haible in
24299         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
24300         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
24301         environment and strtold (and presumably strtof) are not available.
24302         * modules/ftoastr (Files): Add m4/c-strtod.m4.
24303         (configure.ac): Require gl_C99_STRTOLD.
24304
24305 2010-11-18  Bruno Haible  <bruno@clisp.org>
24306
24307         c-strtold: Avoid link error on AIX 7.
24308         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
24309         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
24310         (gl_C_STRTOLD): Test whether strtold_l exists.
24311         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
24312
24313 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
24314
24315         intprops: new macro INT_BITS_STRLEN_BOUND
24316         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
24317         ftoastr.h.  This exposes an internal of intprops.h that was formerly
24318         not exposed.  Also, it uses a slightly tighter bound than before;
24319         though this makes no practical difference, we might as well be as
24320         tight as we easily can.
24321
24322         ftoastr: new module, for lossless conversion of floats to short strings
24323         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
24324         * modules/ftoastr: New files.
24325
24326 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
24327
24328         bootstrap: port to Solaris sed
24329         * build-aux/bootstrap (get_version): Port to Solaris sed.
24330         See Ralf Wildenhues's note in
24331         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
24332
24333 2010-11-14  Jim Meyering  <meyering@redhat.com>
24334
24335         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
24336         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
24337         and move definition closer to sole use.
24338
24339 2010-11-13  Jim Meyering  <meyering@redhat.com>
24340
24341         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
24342         Now we require at least autoconf-2.59, which means the work-around
24343         is no longer needed.
24344         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
24345         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
24346         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
24347         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
24348         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
24349
24350 2010-11-13  Bruno Haible  <bruno@clisp.org>
24351
24352         rename, renameat: Avoid test failures at NFS mounted locations.
24353         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
24354         functions.
24355         (test_rename): Use assert_nonexistent.
24356         * tests/test-rename.c: Include <dirent.h>.
24357         * tests/test-renameat.c: Likewise.
24358         Reported by Gary V. Vaughan <gary@gnu.org>.
24359
24360         rename, renameat: Document Linux bug with NFS
24361         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
24362         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
24363         * doc/posix-functions/renameat.texi: Likewise.
24364         Suggested by Eric Blake.
24365
24366 2010-11-13  Bruno Haible  <bruno@clisp.org>
24367
24368         rename test: Add comments.
24369         * tests/test-rename.h (test_rename): Add structure and comments.
24370
24371 2010-11-13  Eric Blake  <eblake@redhat.com>
24372
24373         maintainer-makefile: cover a few more files
24374         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
24375         scripts generated within C files, for libvirt.
24376
24377 2010-11-13  Bruno Haible  <bruno@clisp.org>
24378
24379         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
24380         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
24381         character, return the number of bytes that belong together, not always
24382         1.
24383         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
24384         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
24385         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
24386         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
24387         number of bytes of an invalid character.
24388         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
24389         (main): Invoke it.
24390         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
24391         results.
24392         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
24393         malformed byte sequences.
24394         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
24395         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
24396         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
24397         Reported by Ben Pfaff and Paolo Bonzini.
24398
24399 2010-11-13  Bruno Haible  <bruno@clisp.org>
24400
24401         openat: Work around glibc bug with fchownat() and empty file names.
24402         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
24403         (gl_FUNC_FCHOWNAT): Invoke it.
24404         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
24405         * doc/posix-functions/fchownat.texi: Document the glibc bug.
24406         Reported by Gary V. Vaughan <gary@gnu.org>.
24407
24408 2010-11-13  Bruno Haible  <bruno@clisp.org>
24409
24410         openat: Ensure autoconf macro ordering.
24411         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
24412         gl_USE_SYSTEM_EXTENSIONS.
24413         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
24414
24415 2010-11-13  Bruno Haible  <bruno@clisp.org>
24416
24417         Update comments.
24418         * lib/unistr/u8-check.c: Update file name in comments.
24419         * lib/unistr/u8-mblen.c: Likewise.
24420         * lib/unistr/u8-prev.c: Likewise.
24421         * lib/unistr/u8-strmblen.c: Likewise.
24422         * lib/unistr/u8-strmbtouc.c: Likewise.
24423
24424 2010-11-13  Jim Meyering  <meyering@redhat.com>
24425
24426         tests: avoid test failure on Solaris 10 due to lack of PATH export
24427         * tests/test-update-copyright.sh: Don't forget to export PATH.
24428
24429         init.sh: ensure that IFS is defined, just in case...
24430         * tests/init.sh (setup_): Ensure that IFS is defined,
24431         so that saving and restoring it works as expected.  This
24432         appears to be useful at least for an old version of dash
24433         from a long time ago (RH 6).  See here for details:
24434         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
24435
24436         maint.mk: tighten "test a == b" check
24437         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
24438         test to files that contain something like #!/bin/sh.
24439         Without this, coreutils would get two false positives in
24440         the comments of C source files.
24441
24442 2010-11-12  Eric Blake  <eblake@redhat.com>
24443
24444         bootstrap: fix typo in previous attempt
24445         * build-aux/bootstrap (buildreq): Correct the grouping.
24446         Reported by Paul Eggert.
24447
24448         maintainer-makefile: prohibit test x == x
24449         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
24450         Based on a report by Matthias Bolte.
24451
24452         bootstrap: allow FreeBSD gzip
24453         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
24454         which has no '.' and goes to stderr.
24455         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
24456         Reported by Matthias Bolte.
24457
24458         maintainer-makefile: check for i18n setup
24459         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
24460         will likely work.
24461
24462 2010-11-12  Bruno Haible  <bruno@clisp.org>
24463
24464         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
24465         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
24466         * lib/nanosleep.c (nanosleep): Likewise.
24467
24468 2010-11-11  Bruno Haible  <bruno@clisp.org>
24469
24470         fcntl-h: Fix for use of C++ on glibc systems.
24471         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
24472         also on glibc systems in C++ mode.
24473         Reported by Gary V. Vaughan <gary@gnu.org>.
24474
24475 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
24476
24477         mknod: avoid false failure with dash
24478         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
24479
24480 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
24481
24482         unlink: Fix "is it should" typo in diagnostic.
24483         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
24484         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
24485
24486 2010-11-11  Bruno Haible  <bruno@clisp.org>
24487
24488         Tests for module 'strerror_r-posix'.
24489         * modules/strerror_r-posix-tests: New file.
24490         * tests/test-strerror_r.c: New file.
24491         * tests/test-string-c++.cc: Check the signature of strerror_r.
24492
24493         New module 'strerror_r-posix'.
24494         * lib/string.in.h (strerror_r): New declaration.
24495         * lib/strerror_r.c: New file.
24496         * m4/strerror_r.m4: New file.
24497         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
24498         of strerror_r.
24499         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
24500         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
24501         * modules/strerror_r-posix: New file.
24502         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
24503         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
24504         * doc/posix-functions/strerror_r.texi: Mention the new module and the
24505         portability problems.
24506
24507 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
24508
24509         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
24510         line is also considered for output. Quoted function name in shell
24511         command, so temporary files for functions like MyClass::operator()
24512         are removed correctly without errors.
24513
24514 2010-11-09  Bruno Haible  <bruno@clisp.org>
24515
24516         * doc/posix-functions/strerror.texi: List more failing platforms.
24517
24518         * doc/posix-functions/strerror.texi: Add a comment.
24519
24520 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
24521
24522         fdopendir: fix bug on MacOS X when low on file descriptors
24523
24524         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
24525         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
24526         All callers changed.
24527         (fdopendir): Invoke save_cwd at the top level, not after using
24528         multiple dup() calls to use up file descriptors.  Then retry
24529         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
24530         less than the maximum number of open file descriptors, because
24531         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
24532         on Mac OS X 10.6.4 for tar 1.24
24533         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
24534         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
24535         and for tar 1.25
24536         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
24537
24538 2010-11-07  Bruno Haible  <bruno@clisp.org>
24539
24540         vasnprintf: Support I flag on glibc systems.
24541         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
24542         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
24543         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
24544         snprintf function.
24545         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
24546         glibc systems.
24547         * tests/test-vasnprintf-posix3.c: New file.
24548         * modules/vasnprintf-posix-tests (Files): Add it.
24549         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
24550
24551 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
24552
24553         [html] Fix copy/paste bug: Use unique name for compiler warnings.
24554         * MODULES.html.sh: For compiler warnings, use name
24555         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
24556
24557 2010-11-05  Eric Blake  <eblake@redhat.com>
24558
24559         ceil, floor: avoid spurious failure with icc
24560         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
24561         [denormals-as-zero] when optimizing without -mieee-fp option.
24562         * tests/test-floorf2.c (floorf_reference): Likewise.
24563         * tests/test-ceilf1.c (dummy): New function.
24564         (main): Use it to outsmart icc's optimization.
24565         * tests/test-floorf1.c (dummy, main): Likewise.
24566
24567         tests: require working signbit
24568         * modules/ceilf-tests (Depends-on): Add signbit.
24569         * modules/ceill-tests (Depends-on): Likewise.
24570         * modules/floorf-tests (Depends-on): Likewise.
24571         * modules/floorl-tests (Depends-on): Likewise.
24572         * modules/round-tests (Depends-on): Likewise.
24573         * modules/roundf-tests (Depends-on): Likewise.
24574         * modules/roundl-tests (Depends-on): Likewise.
24575         * modules/trunc-tests (Depends-on): Likewise.
24576         * modules/truncf-tests (Depends-on): Likewise.
24577         * modules/truncl-tests (Depends-on): Likewise.
24578
24579         strtod: work around icc bug
24580         * lib/strtod.c (minus_zero): Define to working value.
24581         (strtod): Use it to avoid icc bug.
24582
24583         copysign: enhance tests
24584         * modules/copysign-tests (Files): Add minus-zero.h.
24585         * tests/test-copysign.c (main): Also test zeros.
24586
24587 2010-11-04  Eric Blake  <eblake@redhat.com>
24588
24589         ceil, floor, round, trunc: enhance tests of -0
24590         * tests/test-ceilf1.c (main): Ensure correct sign of result.
24591         * tests/test-ceill.c (main): Likewise.
24592         * tests/test-floorf1.c (main): Likewise.
24593         * tests/test-floorl.c (main): Likewise.
24594         * tests/test-round1.c (main): Likewise.
24595         * tests/test-roundf1.c (main): Likewise.
24596         * tests/test-roundl.c (main): Likewise.
24597         * tests/test-trunc1.c (main): Likewise.
24598         * tests/test-truncf1.c (main): Likewise.
24599         * tests/test-truncl.c (main): Likewise.
24600
24601 2010-11-04  Eric Blake  <eblake@redhat.com>
24602
24603         frexp, tests: work around ICC bug with -zero
24604         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
24605         works with more compilers.
24606         * tests/minus-zero.h: New file.
24607         * modules/ceilf-tests (Files): Include it.
24608         * modules/ceill-tests (Files): Likewise.
24609         * modules/floorf-tests (Files): Likewise.
24610         * modules/floorl-tests (Files): Likewise.
24611         * modules/frexp-nolibm-tests (Files): Likewise.
24612         * modules/frexp-tests (Files): Likewise.
24613         * modules/frexpl-nolibm-tests (Files): Likewise.
24614         * modules/frexpl-tests (Files): Likewise.
24615         * modules/isnan-tests (Files): Likewise.
24616         * modules/isnand-nolibm-tests (Files): Likewise.
24617         * modules/isnand-tests (Files): Likewise.
24618         * modules/isnanf-nolibm-tests (Files): Likewise.
24619         * modules/isnanf-tests (Files): Likewise.
24620         * modules/isnanl-nolibm-tests (Files): Likewise.
24621         * modules/isnanl-tests (Files): Likewise.
24622         * modules/round-tests (Files): Likewise.
24623         * modules/roundf-tests (Files): Likewise.
24624         * modules/roundl-tests (Files): Likewise.
24625         * modules/ldexpl-tests (Files): Likewise.
24626         * modules/signbit-tests (Files): Likewise.
24627         * modules/snprintf-posix-tests (Files): Likewise.
24628         * modules/sprintf-posix-tests (Files): Likewise.
24629         * modules/strtod-tests (Files): Likewise.
24630         * modules/trunc-tests (Files): Likewise.
24631         * modules/truncf-tests (Files): Likewise.
24632         * modules/truncl-tests (Files): Likewise.
24633         * modules/vsnprintf-posix-tests (Files): Likewise.
24634         * modules/vsprintf-posix-tests (Files): Likewise.
24635         * modules/vasnprintf-posix-tests (Files): Likewise.
24636         * modules/vasprintf-posix-tests (Files): Likewise.
24637         * tests/test-ceilf1.c (main): Use it.
24638         * tests/test-ceill.c (main): Likewise.
24639         * tests/test-floorf1.c (main): Likewise.
24640         * tests/test-floorl.c (main): Likewise.
24641         * tests/test-frexp.c (main): Likewise.
24642         * tests/test-frexpl.c (main): Likewise.
24643         * tests/test-isnan.c (main): Likewise.
24644         * tests/test-isnand.h (main): Likewise.
24645         * tests/test-isnanf.h (main): Likewise.
24646         * tests/test-isnanl.h (main): Likewise.
24647         * tests/test-ldexpl.c (main): Likewise.
24648         * tests/test-round.c (main): Likewise.
24649         * tests/test-roundf.c (main): Likewise.
24650         * tests/test-roundl.c (main): Likewise.
24651         * tests/test-signbit.c (test_signbitf, test_signbitd)
24652         (test_signbitl): Likewise.
24653         * tests/test-snprintf-posix.h (test_function): Likewise.
24654         * tests/test-sprintf-posix.h (test_function): Likewise.
24655         * tests/test-strtod.c (main): Likewise.
24656         * tests/test-trunc1.c (main): Likewise.
24657         * tests/test-truncf1.c (main): Likewise.
24658         * tests/test-truncl.c (main): Likewise.
24659
24660         isnanl: work around icc bug
24661         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
24662
24663 2010-11-03  Eric Blake  <eblake@redhat.com>
24664
24665         tests: fix compiler warnings
24666         * tests/test-getopt.h (test_getopt): Fix condition.
24667         * tests/test-getopt_long.h (test_getopt_long): Likewise.
24668         * tests/test-pipe2.c (main): Likewise.
24669         * tests/test-quotearg-simple.c (main): Avoid icc warning.
24670
24671         utimens: fix broken m4 test
24672         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
24673
24674 2010-10-28  Bruno Haible  <bruno@clisp.org>
24675
24676         posix_spawn*, getdtablesize: Relax license.
24677         * modules/posix_spawn (License): Change to LGPLv2+.
24678         * modules/posix_spawnp (License): Likewise.
24679         * modules/posix_spawn-internal (License): Likewise.
24680         * modules/posix_spawnattr_init (License): Likewise.
24681         * modules/posix_spawnattr_getflags (License): Likewise.
24682         * modules/posix_spawnattr_setflags (License): Likewise.
24683         * modules/posix_spawnattr_getpgroup (License): Likewise.
24684         * modules/posix_spawnattr_setpgroup (License): Likewise.
24685         * modules/posix_spawnattr_getschedparam (License): Likewise.
24686         * modules/posix_spawnattr_setschedparam (License): Likewise.
24687         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
24688         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
24689         * modules/posix_spawnattr_getsigdefault (License): Likewise.
24690         * modules/posix_spawnattr_setsigdefault (License): Likewise.
24691         * modules/posix_spawnattr_getsigmask (License): Likewise.
24692         * modules/posix_spawnattr_setsigmask (License): Likewise.
24693         * modules/posix_spawnattr_destroy (License): Likewise.
24694         * modules/posix_spawn_file_actions_init (License): Likewise.
24695         * modules/posix_spawn_file_actions_addclose (License): Likewise.
24696         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
24697         * modules/posix_spawn_file_actions_addopen (License): Likewise.
24698         * modules/posix_spawn_file_actions_destroy (License): Likewise.
24699         * modules/getdtablesize (License): Likewise.
24700         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
24701
24702 2010-10-26  Bruno Haible  <bruno@clisp.org>
24703
24704         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
24705         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
24706         Cygwin and mingw.
24707         Suggested by Eric Blake.
24708
24709 2010-10-26  Bruno Haible  <bruno@clisp.org>
24710
24711         stdio: Work around compilation error due to renameat() on Solaris 10.
24712         * lib/stdio.in.h: Include <unistd.h> on Solaris.
24713         * lib/renameat.c: Don't include <unistd.h> here.
24714         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
24715         Reported by Paul Eggert and Eric Blake.
24716
24717 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
24718
24719         renameat: port to Solaris 10, which declares renameat in unistd.h
24720
24721         * lib/renameat.c: Include unistd.h before stdio.h, because
24722         Solaris 10 declares renameat in unistd.h.  Problem encountered
24723         when building GNU tar 1.24 on Solaris 10.
24724
24725 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
24726
24727         fdopendir: fix C89 compilation
24728         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
24729         compilers.
24730
24731 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
24732
24733         inttostr: simplify by removing unnecessary redundancy
24734         * lib/anytostr.c: Don't include verify.h.
24735         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
24736         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
24737         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
24738         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
24739         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
24740         Likewise.
24741         * modules/inttostr (Depends-on): Remove 'verify'.
24742
24743 2010-10-23  Bruno Haible  <bruno@clisp.org>
24744
24745         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
24746         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
24747         Reported by Eric Blake.
24748
24749 2010-10-23  Bruno Haible  <bruno@clisp.org>
24750
24751         Tests: Fix LOCALE_JA on MirBSD 10.
24752         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
24753         to an UTF-8 locale.
24754         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
24755         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
24756         Reported by Eric Blake.
24757
24758 2010-10-21  Bruno Haible  <bruno@clisp.org>
24759
24760         nl_langinfo test: Avoid test failure on NetBSD 5.
24761         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
24762         Reported by Eric Blake.
24763
24764 2010-10-21  Eric Blake  <eblake@redhat.com>
24765
24766         c-stack: work around libsigsegv 2.8 bug
24767         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
24768         overflow on at least PowerPC64.
24769
24770 2010-10-17  Bruno Haible  <bruno@clisp.org>
24771
24772         userspec: Drop redundant file.
24773         * modules/userspec (Files): Remove lib/inttostr.h.
24774
24775 2010-10-17  Bruno Haible  <bruno@clisp.org>
24776
24777         nl_langinfo tests: Silence some warnings.
24778         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
24779         Reported by Jim Meyering.
24780
24781 2010-10-17  Bruno Haible  <bruno@clisp.org>
24782
24783         Make use of GCC's attribute __alloc_size__.
24784         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
24785         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
24786         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
24787         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
24788         __alloc_size__.
24789         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
24790         Suggested by Jim Meyering.
24791
24792 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
24793
24794         bootstrap: anchor .gitignore entries.
24795         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
24796         with...
24797         (insert_vc_ignore): ... this new function, which prepends `/' to
24798         all .gitignore entries before passing them to
24799         insert_sorted_if_absent.
24800
24801 2010-10-16  Bruno Haible  <bruno@clisp.org>
24802
24803         nextafter: Fix configure check.
24804         * modules/nextafter (configure.ac): Correct expected prototype.
24805
24806 2010-10-16  Bruno Haible  <bruno@clisp.org>
24807
24808         termios: Update documentation.
24809         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
24810
24811 2010-10-16  Bruno Haible  <bruno@clisp.org>
24812
24813         tests: Make them compile with TinyCC.
24814         * tests/test-strstr.c (main): Remove parentheses around array
24815         initializer.
24816
24817 2010-10-15  Eric Blake  <eblake@redhat.com>
24818
24819         ignore-value: make header idempotent
24820         * lib/ignore-value.h: Add double-inclusion guards.
24821         Reported by Stefan Berger.
24822
24823 2010-10-15  Jim Meyering  <meyering@redhat.com>
24824
24825         GNUmakefile: handle "stable" target, not "major"
24826         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
24827         lists in maint.mk and announce-gen.  Without this, "make stable"
24828         would fail to ensure that $(VERSION) is up to date.
24829
24830 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
24831
24832         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
24833         & co.
24834
24835 2010-10-14  Bruno Haible  <bruno@clisp.org>
24836
24837         vasnprintf: Don't set errno to 0.
24838         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
24839         block that sets it to 0.
24840         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
24841
24842 2010-10-14  Bruno Haible  <bruno@clisp.org>
24843
24844         socketlib: Fix.
24845         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
24846         gl_PREREQ_SYS_H_WINSOCK2.
24847         Reported by Ian Beckwith <ianb@erislabs.net>.
24848
24849 2010-10-13  Jim Meyering  <meyering@redhat.com>
24850
24851         test-select-stdin.c: avoid warn_unused_result warnings
24852         * tests/test-select-stdin.c: Include "macros.h".
24853         ASSERT that read and fflush succeed.
24854
24855 2010-10-13  Jim Meyering  <meyering@redhat.com>
24856
24857         git-version-gen: do require git-VC'd files in cwd
24858         * build-aux/git-version-gen: Reject a git version string
24859         if there are no commits associated with the current directory.
24860         This avoids an unlikely false-positive (unrelated dir whose parent
24861         repository also contains a tag matching v*), as pointed out
24862         by Giuseppe Scrivano in
24863         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
24864
24865 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
24866
24867         argv-iter: omit nonconforming declaration
24868         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
24869         enum arg_iter_err declaration, which doesn't conform to C99.
24870         Solaris 10 cc warns about this.
24871
24872 2010-10-13  Eric Blake  <eblake@redhat.com>
24873
24874         termios: fix compilation on mingw
24875         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
24876         (gl_TERMIOS_H): Adjust it on mingw.
24877         * modules/termios (Makefile.am): Substitute new key.
24878         * lib/termios.in.h (includes): Make include_next conditional.
24879         * doc/posix-headers/termios.texi (termios.h): Update
24880         documentation.
24881         Reported by Daniel P. Berrange.
24882
24883 2010-10-13  Jim Meyering  <meyering@redhat.com>
24884
24885         git-version-gen: don't require that .git/ be in the current dir
24886         * build-aux/git-version-gen: Adjust this script so that it works
24887         when run from any working directory beneath the top-level .git/-
24888         containing directory.  Inspired by a patch from Giuseppe Scrivano,
24889         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
24890
24891         test-select: avoid warn_unused_result warnings
24892         * tests/test-select.c: Include "macros.h".
24893         ASSERT that each call to read, write, and pipe succeeds.
24894         While not technically required, also check each "close".
24895         * modules/select-tests (Files): Add tests/macros.h.
24896
24897         test-symlinkat: remove declaration of unused local
24898         * tests/test-symlinkat.c (main): Remove unused local, "buf".
24899
24900         test-inttostr: avoid shadowing warnings
24901         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
24902         and use malloc rather than the stack for the same reason as
24903         mentioned in the comment justifying the other allocation.
24904
24905 2010-10-11  Bruno Haible  <bruno@clisp.org>
24906
24907         stdlib: Allow multiple gnulib generated replacements to coexist.
24908         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
24909         Reported by Sam Steingold <sds@gnu.org>.
24910
24911 2010-10-11  Jim Meyering  <meyering@redhat.com>
24912
24913         fix a documentation typo
24914         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
24915
24916 2010-10-11  Eric Blake  <eblake@redhat.com>
24917
24918         futimens: work around Solaris 11 bug
24919         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
24920         * tests/test-futimens.h (test_futimens): Enhance, rather than
24921         weaken test.
24922         * doc/posix-functions/futimens.texi (futimens): Document the bug.
24923
24924 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
24925
24926         Indentation.
24927         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
24928         higher-level operators more to the left.
24929
24930 2010-10-11  Jim Meyering  <meyering@redhat.com>
24931
24932         test-futimens: avoid unwarranted test failure on Solaris 5.11
24933         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
24934         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
24935         because it tries to dereference the NULL name argument.
24936
24937 2010-10-11  Bruno Haible  <bruno@clisp.org>
24938
24939         Indentation.
24940         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
24941         indentation.
24942
24943 2010-10-11  Jim Meyering  <meyering@redhat.com>
24944
24945         spawn.in.h: make indentation consistent with parentheses
24946         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
24947         Make indentation consistent with parentheses.
24948
24949 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
24950
24951         Fix mismatched parens in previous commit
24952         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
24953         parens.
24954
24955 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
24956
24957         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
24958
24959         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
24960         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
24961         * lib/malloca.c: Include "verify.h".
24962         (verify1): Remove, replacing with a verify call.
24963         * lib/relocwrapper.c (verify1): Likewise.
24964         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
24965         Likewise.
24966         * modules/malloca (Depends-on): Add 'verify'.
24967         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
24968         * modules/vasnprintf (Depends-on): Add 'verify'.
24969         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
24970         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
24971         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
24972         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
24973         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
24974         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
24975         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
24976
24977         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
24978
24979         Formerly the style was sometimes 2*X - 1, because the C standard
24980         was wrongly thought to disallow ?: in integral constant expressions.
24981         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
24982         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
24983         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
24984         * lib/stdint.in.h (_verify_intmax_size): Likewise.
24985         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
24986         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
24987         verify that time_t cannot be floating.
24988
24989 2010-10-08  Eric Blake  <eblake@redhat.com>
24990
24991         time: enforce recent POSIX ruling that time_t is integral
24992         * lib/time.in.h (__time_t_must_be_integral): Detect any
24993         problematic systems, allowing the rest of gnulib to assume POSIX.
24994
24995 2010-10-08  Jim Meyering  <meyering@redhat.com>
24996
24997         fdopendir: fix a bug on systems lacking openat and /proc support
24998         OpenBSD 4.7 is one such system.  The most noticeable effect was
24999         failure of any application making nontrivial use of fts: rm, du,
25000         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
25001           ./rm: traversal failed: `a': Bad file descriptor
25002         Debugging that, you see that even though FD 6 was closed just
25003         prior to the opendir call in fd_clone_opendir, its resulting
25004         dir->dd_fd was 8, rather than the expected value of 6:
25005
25006         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
25007         93                close (fd);
25008         (gdb) n
25009         94                dir = fd_clone_opendir (dupfd);
25010         (gdb) n
25011         95                saved_errno = errno;
25012         (gdb) p dir->dd_fd
25013         $11 = 8
25014
25015         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
25016         The problem is that on OpenBSD, fd_clone_opendir has to resort
25017         to using the old-style save/restore CWD mechanism, due to its
25018         lack of openat/proc support, and *that* would steal the FD (6)
25019         that opendir was supposed to use.
25020
25021         The fix is to squirrel away the desired FD so that save_cwd uses a
25022         different one, and then free the dest FD right before calling opendir.
25023         That guarantees opendir will use the required file descriptor.
25024
25025         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
25026
25027 2010-10-08  Bruno Haible  <bruno@clisp.org>
25028
25029         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
25030         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
25031
25032 2010-10-08  Bruno Haible  <bruno@clisp.org>
25033
25034         nanosleep: Make replacement POSIX compliant.
25035         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
25036         is out of range.
25037         Reported by Jim Meyering.
25038
25039 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
25040
25041         bootstrap: add hook for altering gnulib.mk, for Bison
25042         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
25043         the Bison bootstrapping process can rewrite file names and variables
25044         in this file before later parts of 'bootstrap' use the file.
25045         Bison wants to include lib/gnulib.mk from the top-level makefile,
25046         so it needs the file names in this file to be relative to the top
25047         level, not relative to lib; plus it needs variable names to be
25048         rewritten.
25049         (slurp): Use the new function.
25050
25051         bootstrap: reformat for readability
25052         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
25053
25054 2010-10-08  Eric Blake  <eblake@redhat.com>
25055
25056         docs: update cygwin progress
25057         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
25058         1.7.7.
25059         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
25060         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
25061         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
25062         * doc/posix-functions/carg.texi (carg): Likewise.
25063         * doc/posix-functions/cargf.texi (cargf): Likewise.
25064         * doc/posix-functions/casin.texi (casin): Likewise.
25065         * doc/posix-functions/casinf.texi (casinf): Likewise.
25066         * doc/posix-functions/casinh.texi (casinh): Likewise.
25067         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
25068         * doc/posix-functions/catan.texi (catan): Likewise.
25069         * doc/posix-functions/catanf.texi (catanf): Likewise.
25070         * doc/posix-functions/catanh.texi (catanh): Likewise.
25071         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
25072         * doc/posix-functions/ccos.texi (ccos): Likewise.
25073         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
25074         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
25075         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
25076         * doc/posix-functions/cexp.texi (cexp): Likewise.
25077         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
25078         * doc/posix-functions/cimag.texi (cimag): Likewise.
25079         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
25080         * doc/posix-functions/clog.texi (clog): Likewise.
25081         * doc/posix-functions/clogf.texi (clogf): Likewise.
25082         * doc/posix-functions/conj.texi (conj): Likewise.
25083         * doc/posix-functions/conjf.texi (conjf): Likewise.
25084         * doc/posix-functions/cpow.texi (cpow): Likewise.
25085         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
25086         * doc/posix-functions/cproj.texi (cproj): Likewise.
25087         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
25088         * doc/posix-functions/creal.texi (creal): Likewise.
25089         * doc/posix-functions/crealf.texi (crealf): Likewise.
25090         * doc/posix-functions/csin.texi (csin): Likewise.
25091         * doc/posix-functions/csinf.texi (csinf): Likewise.
25092         * doc/posix-functions/csinh.texi (csinh): Likewise.
25093         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
25094         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
25095         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
25096         * doc/posix-functions/ctan.texi (ctan): Likewise.
25097         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
25098         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
25099         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
25100         * doc/posix-headers/complex.texi (complex.h): Likewise.
25101
25102 2010-10-07  Jim Meyering  <meyering@redhat.com>
25103
25104         parse-datetime: avoid compilation failure on OpenBSD 4.7
25105         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
25106         This works around a compilation failure on OpenBSD 4.7:
25107         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
25108
25109 2010-10-07  Eric Blake  <eblake@redhat.com>
25110
25111         docs: update cygwin progress
25112         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
25113         1.7.6.
25114         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
25115         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
25116         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
25117         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
25118         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
25119         Likewise.
25120         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
25121         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
25122         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
25123         Likewise.
25124         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
25125         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
25126         Likewise.
25127         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
25128         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
25129         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
25130         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
25131         Likewise.
25132         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
25133         Likewise.
25134         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
25135
25136         docs: update parse-datetime history
25137         * doc/parse-datetime.texi (Authors of parse_datetime): Better
25138         documentation of this function's history and alternatives.
25139
25140         cygwin: use more robust version check
25141         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
25142         exclude an eventual cygwin 1.9.1.
25143         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
25144         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
25145         (gl_FUNC_STRCASESTR): Likewise.
25146         Reported by Bruno Haible.
25147
25148 2010-10-06  Bruno Haible  <bruno@clisp.org>
25149
25150         string, sys_select: Avoid #including large headers unless necessary.
25151         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
25152         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
25153         OSF/1, BeOS, Haiku.
25154         Reported by Jim Meyering.
25155
25156 2010-10-05  Eric Blake  <eblake@redhat.com>
25157
25158         memmem, strstr, strcasestr: fix bug with long periodic needle
25159         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
25160         periodic needle having false positive.
25161         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
25162         and cygwin 1.7.7.
25163         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
25164         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
25165         (gl_FUNC_STRCASESTR): Likewise.
25166         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
25167         * tests/test-memmem.c (main): Expose the bug.
25168         * tests/test-strcasestr.c (main): Likewise.
25169         * tests/test-strstr.c (main): Likewise.
25170         * tests/test-c-strcasestr.c (main): Likewise.
25171         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
25172         * doc/posix-functions/strstr.texi (strstr): Likewise.
25173         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
25174         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
25175
25176 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
25177
25178         parse-datetime: do some more renaming
25179         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
25180         parse_datetime, not get_date.  Mention the renaming.
25181         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
25182         in comments.
25183         * m4/bison.m4: Likewise.
25184
25185 2010-10-05  Eric Blake  <eblake@redhat.com>
25186
25187         parse-datetime: better name than get_date
25188         * NEWS: Reword the deprecation notice.
25189         * modules/get_date: Rename to modules/parse-datetime.
25190         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
25191         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
25192         * lib/get_date.y: Rename to lib/parse-datetime.y.
25193         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
25194         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
25195         * doc/getdate.texi: Provide fallback wrapper.
25196         * lib/getdate.h: Move guts, and wrap...
25197         * lib/parse-datetime.h: ...new file.
25198         * lib/parse-datetime.y (get_date): Rename...
25199         (parse_datetime): ...to this.
25200         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
25201         (gl_PARSE_DATETIME): ...to this.
25202         * doc/posix-functions/getdate.texi (get_date): Provide fallback
25203         documentation.
25204         * modules/getdate (Files): Provide fallback docs and header.
25205         (Notice, Depends-on): Update references.
25206         * tests/test-parse-datetime.c: Likewise.
25207         * DEPENDENCIES: Likewise.
25208         * MODULES.html.sh (Date and time <time.h>): Likewise.
25209         * doc/parse-datetime.texi (Date input formats)
25210         (Authors of parse_datetime): Likewise.
25211         * modules/parse-datetime (Files, configure.ac, Makefile.am)
25212         (Include): Likewise.
25213         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
25214         * gnulib-tool: Likewise.
25215         * m4/bison.m4 (gl_BISON): Likewise.
25216         Suggested by Bruno Haible.
25217
25218 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
25219
25220         more ports to Solaris tr, which needs [] around ranges
25221         * gnulib-tool: Solaris tr needs [] around ranges.
25222         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
25223         * tests/test-pipe-filter-gi1.c (main): Likewise.
25224         * tests/test-pipe-filter-ii1.c (main): Likewise.
25225
25226 2010-10-05  Eric Blake  <eblake@redhat.com>
25227
25228         bootstrap: fix Solaris regression
25229         * build-aux/bootstrap (check_versions): Solaris tr still needs []
25230         around ranges.
25231         Reported by Pádraig Brady.
25232
25233         bootstrap: work with pkg-config
25234         * build-aux/bootstrap (check_versions): Also transliterate - in
25235         prerequisite name.
25236         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
25237         prerequisites that were already found, to avoid confusion.
25238         Reported by Justin Clift.
25239
25240         faccessat: remove unused wrappers
25241         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
25242         presence of these wrappers dragged in -lgen on Solaris.
25243         Reported by Clemens Brogi; fix suggested by Paul Eggert.
25244
25245 2010-10-05  Jim Meyering  <meyering@redhat.com>
25246
25247         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
25248         * Makefile (sc_pragma_columns): New syntax-check rule.
25249
25250 2010-10-04  Bruno Haible  <bruno@clisp.org>
25251
25252         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
25253         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
25254         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
25255         Reported by Bruce Korb and Eric Blake.
25256
25257 2010-10-04  Bruno Haible  <bruno@clisp.org>
25258
25259         threadlib: Make option --with-libpth-prefix work.
25260         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
25261         use $LIBPTH, not just -lpth.
25262
25263 2010-10-04  Bruno Haible  <bruno@clisp.org>
25264
25265         Avoid line length limitation from HP NonStop system header files.
25266         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
25267         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
25268         * lib/ctype.in.h: Likewise.
25269         * lib/dirent.in.h: Likewise.
25270         * lib/errno.in.h: Likewise.
25271         * lib/fcntl.in.h: Likewise.
25272         * lib/float.in.h: Likewise.
25273         * lib/getopt.in.h: Likewise.
25274         * lib/iconv.in.h: Likewise.
25275         * lib/inttypes.in.h: Likewise.
25276         * lib/langinfo.in.h: Likewise.
25277         * lib/locale.in.h: Likewise.
25278         * lib/math.in.h: Likewise.
25279         * lib/netdb.in.h: Likewise.
25280         * lib/netinet_in.in.h: Likewise.
25281         * lib/poll.in.h: Likewise.
25282         * lib/pthread.in.h: Likewise.
25283         * lib/pty.in.h: Likewise.
25284         * lib/sched.in.h: Likewise.
25285         * lib/se-selinux.in.h: Likewise.
25286         * lib/search.in.h: Likewise.
25287         * lib/signal.in.h: Likewise.
25288         * lib/spawn.in.h: Likewise.
25289         * lib/stdarg.in.h: Likewise.
25290         * lib/stddef.in.h: Likewise.
25291         * lib/stdint.in.h: Likewise.
25292         * lib/stdio.in.h: Likewise.
25293         * lib/stdlib.in.h: Likewise.
25294         * lib/string.in.h: Likewise.
25295         * lib/strings.in.h: Likewise.
25296         * lib/sys_file.in.h: Likewise.
25297         * lib/sys_ioctl.in.h: Likewise.
25298         * lib/sys_select.in.h: Likewise.
25299         * lib/sys_socket.in.h: Likewise.
25300         * lib/sys_stat.in.h: Likewise.
25301         * lib/sys_time.in.h: Likewise.
25302         * lib/sys_times.in.h: Likewise.
25303         * lib/sys_utsname.in.h: Likewise.
25304         * lib/sys_wait.in.h: Likewise.
25305         * lib/sysexits.in.h: Likewise.
25306         * lib/termios.in.h: Likewise.
25307         * lib/time.in.h: Likewise.
25308         * lib/unistd.in.h: Likewise.
25309         * lib/wchar.in.h: Likewise.
25310         * lib/wctype.in.h: Likewise.
25311         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
25312         * modules/ctype (Makefile.am): Likewise.
25313         * modules/dirent (Makefile.am): Likewise.
25314         * modules/errno (Makefile.am): Likewise.
25315         * modules/fcntl-h (Makefile.am): Likewise.
25316         * modules/float (Makefile.am): Likewise.
25317         * modules/getopt-posix (Makefile.am): Likewise.
25318         * modules/iconv-h (Makefile.am): Likewise.
25319         * modules/inttypes (Makefile.am): Likewise.
25320         * modules/langinfo (Makefile.am): Likewise.
25321         * modules/locale (Makefile.am): Likewise.
25322         * modules/math (Makefile.am): Likewise.
25323         * modules/netdb (Makefile.am): Likewise.
25324         * modules/netinet_in (Makefile.am): Likewise.
25325         * modules/poll-h (Makefile.am): Likewise.
25326         * modules/pthread (Makefile.am): Likewise.
25327         * modules/pty (Makefile.am): Likewise.
25328         * modules/sched (Makefile.am): Likewise.
25329         * modules/search (Makefile.am): Likewise.
25330         * modules/selinux-h (Makefile.am): Likewise.
25331         * modules/signal (Makefile.am): Likewise.
25332         * modules/spawn (Makefile.am): Likewise.
25333         * modules/stdarg (Makefile.am): Likewise.
25334         * modules/stddef (Makefile.am): Likewise.
25335         * modules/stdint (Makefile.am): Likewise.
25336         * modules/stdio (Makefile.am): Likewise.
25337         * modules/stdlib (Makefile.am): Likewise.
25338         * modules/string (Makefile.am): Likewise.
25339         * modules/strings (Makefile.am): Likewise.
25340         * modules/sys_file (Makefile.am): Likewise.
25341         * modules/sys_ioctl (Makefile.am): Likewise.
25342         * modules/sys_select (Makefile.am): Likewise.
25343         * modules/sys_socket (Makefile.am): Likewise.
25344         * modules/sys_stat (Makefile.am): Likewise.
25345         * modules/sys_time (Makefile.am): Likewise.
25346         * modules/sys_times (Makefile.am): Likewise.
25347         * modules/sys_utsname (Makefile.am): Likewise.
25348         * modules/sys_wait (Makefile.am): Likewise.
25349         * modules/sysexits (Makefile.am): Likewise.
25350         * modules/termios (Makefile.am): Likewise.
25351         * modules/time (Makefile.am): Likewise.
25352         * modules/unistd (Makefile.am): Likewise.
25353         * modules/wchar (Makefile.am): Likewise.
25354         * modules/wctype (Makefile.am): Likewise.
25355
25356 2010-10-04  Bruno Haible  <bruno@clisp.org>
25357
25358         read-file tests: Avoid a test failure on NonStop Kernel.
25359         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
25360         a regular file.
25361         Reported by Joachim Schmitz <schmitz@hp.com>.
25362
25363 2010-10-03  Bruno Haible  <bruno@clisp.org>
25364
25365         gnulib-tool: Fixes for --create-testdir with --libtool.
25366         * gnulib-tool (func_get_automake_snippet): Don't augment
25367         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
25368         an executable.
25369         (func_create_testdir): Handle module 'alloca' like func_import.
25370         Reported by Bruce Korb <bruce.korb@gmail.com>.
25371
25372 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
25373
25374         Avoid some lines longer than 80 characters.
25375         * lib/stdint.in.h: Break long comment lines.
25376         * lib/math.in.h: Likewise.
25377         (_GL_NUM_UINT_WORDS): New macro, for readability.
25378         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
25379         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
25380         * lib/stdlib.in.h: Likewise.
25381         * lib/spawn.in.h: Likewise.
25382         * lib/sys_socket.in.h: Update an URL.
25383         * lib/sys_stat.in.h: Break long line.
25384
25385 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
25386
25387         Improve pmccabe2html.
25388         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
25389         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
25390         when the sources change. Remove the line in the HTML about "Used
25391         ranges" (which implied that there might be other unused ranges),
25392         rename "Resume" to "Summary" (easier to understand for more users).
25393         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
25394         styles, and some unnecessary blank lines.
25395
25396 2010-10-03  Bruno Haible  <bruno@clisp.org>
25397             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
25398
25399         acl: Add support for ACLs on NonStop Kernel.
25400         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
25401         Check whether the function aclsort() exists.
25402         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
25403         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
25404         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
25405         (acl_nontrivial [HAVE_ACLSORT]: New function.
25406         (file_has_acl): Implement for NonStop Kernel.
25407         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
25408         (qset_acl): Implement for NonStop Kernel.
25409         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
25410         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
25411         (main): Implement for NonStop Kernel.
25412         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
25413         Kernel. Handle this flavor.
25414         * tests/test-set-mode-acl.sh: Likewise.
25415         * tests/test-copy-acl.sh: Likewise.
25416         * tests/test-copy-file.sh: Likewise.
25417
25418 2010-10-03  Bruno Haible  <bruno@clisp.org>
25419
25420         Info about ACLs on NonStop Kernel.
25421         * doc/acl-resources.txt: Add info about NonStop Kernel.
25422         References by Joachim Schmitz <schmitz@hp.com>.
25423
25424 2010-10-02  Bruno Haible  <bruno@clisp.org>
25425
25426         Define missing EDQUOT on NonStop Kernel.
25427         * lib/errno.in.h (EDQUOT): Assign a value if missing.
25428         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
25429         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
25430         missing.
25431         * doc/posix-headers/errno.texi: Mention the NSK bug.
25432         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
25433         Reported by Joachim Schmitz <schmitz@hp.com>.
25434
25435 2010-10-02  Bruno Haible  <bruno@clisp.org>
25436
25437         Update doc for POSIX:2008.
25438         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
25439         Update URL of POSIX specification.
25440
25441 2010-10-02  Bruno Haible  <bruno@clisp.org>
25442
25443         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
25444         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
25445         from gnulib, not from Automake.
25446
25447 2010-10-02  Bruno Haible  <bruno@clisp.org>
25448
25449         New module 'system-posix'.
25450         * modules/system-posix: New file.
25451         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
25452         module is present.
25453         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
25454         GNULIB_SYSTEM_POSIX.
25455         * modules/stdlib (Depends-on): Remove sys_wait.
25456         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
25457         * doc/posix-functions/system.texi: Mention the new module.
25458         * doc/posix-headers/stdlib.texi: Likewise.
25459         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
25460         define test_sys_wait_macros to a no-op.
25461         Reported by Sam Steingold <sds@gnu.org>.
25462
25463 2010-09-30  Bruno Haible  <bruno@clisp.org>
25464
25465         More renaming from 'getdate' to 'get_date'.
25466         * doc/get_date.texi: Renamed from doc/getdate.texi.
25467         * modules/get_date (Files): Update.
25468         * MODULES.html.sh (Date and time <time.h>): Update.
25469         * DEPENDENCIES: Update.
25470         * gnulib-tool: Update comment.
25471         * m4/bison.m4 (gl_BISON): Likewise.
25472         * m4/get_date.m4 (gl_GET_DATE): Likewise.
25473
25474 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
25475
25476         bootstrap: support ACLOCAL_FLAGS during aclocal
25477         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
25478         can add additional -I dir for third-party .m4 files.
25479
25480 2010-09-30  Eric Blake  <eblake@redhat.com>
25481
25482         bootstrap: use glibtoolize on MacOS
25483         * build-aux/bootstrap (check_versions): Convert libtool into
25484         libtoolize.
25485         (tool search): Move libtool check earlier, and look for
25486         glibtoolize for MacOS.
25487         (gnulib_tool_options): Auto-add --libtool when appropriate.
25488         Reported by Justin Clift.
25489
25490         poll: fix typo that broke test on MacOS
25491         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
25492         Reported by Justin Clift.
25493
25494         getdate: rename to get_date
25495         Note: getdate.h is not renamed, to minimize client impact.
25496         * modules/getdate: Mark obsolete.  Move old contents...
25497         * modules/get_date: ...to new module name.
25498         * modules/getdate-tests: Move...
25499         * modules/get_date-tests: ...here.
25500         * m4/getdate.m4: Move...
25501         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
25502         * lib/getdate.y: Move...
25503         * lib/get_date.y: ...here.
25504         * tests/test-getdate.c: Move...
25505         * tests/test-get_date.c: ...here.
25506         * doc/posix-functions/getdate.texi (getdate): Update name.
25507         * NEWS: Mention the change.
25508
25509 2010-09-29  Bruno Haible  <bruno@clisp.org>
25510
25511         Separate the module 'waitpid' from the module 'sys_wait'.
25512         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
25513         present.
25514         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
25515         gl_MODULE_INDICATOR_FOR_TESTS.
25516         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
25517         * modules/sys_wait (Depends-on): Remove waitpid.
25518         (Makefile.am): Substitute GNULIB_WAITPID.
25519         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
25520         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
25521         signature only if the 'waitpid' module is present.
25522         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
25523         * NEWS: Mention the change.
25524         * modules/grantpt (Depends-on): Add waitpid.
25525         * modules/wait-process (Depends-on): Likewise.
25526
25527 2010-09-29  Bruno Haible  <bruno@clisp.org>
25528
25529         More tests for module 'sys_wait'.
25530         * modules/sys_wait-c++-tests: New file.
25531         * tests/test-sys_wait-c++.cc: New file.
25532         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
25533         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
25534
25535 2010-09-29  Bruno Haible  <bruno@clisp.org>
25536
25537         New module 'waitpid'.
25538         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
25539         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
25540         Don't include <process.h>.
25541         (waitpid): Declare only, using modern idiom.
25542         * m4/waitpid.m4: New file.
25543         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
25544         * modules/waitpid: New file.
25545         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
25546         (Makefile.am): Update.
25547         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
25548
25549 2010-09-28  Bruno Haible  <bruno@clisp.org>
25550
25551         poll: Assume ANSI C.
25552         * lib/poll.c (poll): Use an ANSI C declaration.
25553
25554 2010-09-28  Bruno Haible  <bruno@clisp.org>
25555
25556         poll-h: Create poll.h on all platforms.
25557         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
25558         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
25559         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
25560         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
25561         (gl_REPLACE_POLL_H): Don't set POLL_H.
25562         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
25563         * modules/poll-h (Depends-on): Add include_next.
25564         (Makefile.am): Create poll.h unconditionally. Substitute also
25565         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
25566
25567 2010-09-28  Bruno Haible  <bruno@clisp.org>
25568
25569         Tests for module 'poll-h'.
25570         * modules/poll-h-c++-tests: New file.
25571         * tests/test-poll-h-c++.cc: New file.
25572
25573         Tests for module 'poll-h'.
25574         * modules/poll-h-tests: New file.
25575         * tests/test-poll-h.c: New file.
25576
25577 2010-09-28  Bruno Haible  <bruno@clisp.org>
25578
25579         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
25580         * modules/poll-h (Depends-on): Add 'extensions'.
25581
25582 2010-09-28  Bruno Haible  <bruno@clisp.org>
25583
25584         New module 'poll-h'.
25585         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
25586         (poll): Use modern idiom.
25587         * modules/poll-h: New file.
25588         * modules/poll (Files): Remove lib/poll.in.h.
25589         (Depends-on): Add poll-h.
25590         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
25591         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
25592         * m4/poll_h.m4: New file.
25593         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
25594         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
25595         and invoke gl_REPLACE_POLL_H.
25596         * lib/poll.c: Use common idiom.
25597         * tests/test-poll.c: Likewise.
25598         * doc/posix-headers/poll.texi: Mention the poll-h module.
25599         Suggested by Eric Blake.
25600
25601 2010-09-26  Bruno Haible  <bruno@clisp.org>
25602
25603         sys_wait: Implement WSTOPSIG.
25604         * lib/sys_wait.in.h (WSTOPSIG): New macro.
25605         Reported by Simon Josefsson.
25606
25607 2010-09-26  Simon Josefsson  <simon@josefsson.org>
25608
25609         stdlib, sys_wait: Avoid compilation error on mingw.
25610         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
25611
25612 2010-09-26  Bruno Haible  <bruno@clisp.org>
25613
25614         stdlib tests: Avoid code duplication.
25615         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
25616         * modules/sys_wait-tests (Files): Likewise.
25617         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
25618         * tests/test-stdlib.c: Include test-sys_wait.h.
25619         (main): Invoke test_sys_wait_macros.
25620         * tests/test-sys_wait.c: Include test-sys_wait.h.
25621         (main): Invoke test_sys_wait_macros.
25622
25623 2010-09-25  Simon Josefsson  <simon@josefsson.org>
25624
25625         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
25626         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
25627         sure Windows sockets are working before calling getaddrinfo.
25628         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
25629         * doc/gnulib.texi (Windows sockets): Fix typo.
25630
25631 2010-09-25  Bruno Haible  <bruno@clisp.org>
25632
25633         Tests for module 'regex-quote'.
25634         * modules/regex-quote-tests: New file.
25635         * tests/test-regex-quote.c: New file.
25636
25637         New module 'regex-quote'.
25638         * lib/regex-quote.h: New file.
25639         * lib/regex-quote.c: New file.
25640         * modules/regex-quote: New file.
25641         Suggested by Reuben Thomas <rrt@sc3d.org>.
25642
25643 2010-09-24  Bruno Haible  <bruno@clisp.org>
25644
25645         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
25646         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
25647
25648 2010-09-23  Bruno Haible  <bruno@clisp.org>
25649
25650         setenv: Relax license.
25651         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
25652         Blake.
25653         Requested by Eric Blake.
25654
25655 2010-09-22  Bruno Haible  <bruno@clisp.org>
25656
25657         termios: Relax license.
25658         * modules/termios (License): Change to LGPLv2+.
25659         Requested by Eric Blake.
25660
25661 2010-09-22  Bruno Haible  <bruno@clisp.org>
25662
25663         threadlib: Allow the package to change the default to 'no'.
25664         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
25665         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
25666         Reported by Paul Eggert.
25667
25668 2010-09-22  Pádraig Brady  <P@draigbrady.com>
25669             Bruno Haible  <bruno@clisp.org>
25670
25671         Fix endless loop in mbmemcasecoll.
25672         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
25673         byte.
25674         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
25675
25676 2010-09-22  Bruno Haible  <bruno@clisp.org>
25677
25678         Tests for module 'memcoll'.
25679         * modules/memcoll-tests: New file.
25680         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
25681
25682         memcoll, xmemcoll: Clarify size vs. length.
25683         * modules/memcoll.c (memcoll0): Clarify specification.
25684         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
25685         passed to collate_error.
25686
25687 2010-09-22  Bruno Haible  <bruno@clisp.org>
25688
25689         Tests for module 'memcasecmp'.
25690         * modules/memcasecmp-tests: New file.
25691         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
25692
25693 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
25694
25695         * lib/pthread.in.h: Add split double-inclusion guard, and include
25696         system <pthread.h> if there is one.  Use @@-style as in other
25697         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
25698         pthread.h doesn't.
25699         (pthread_mutexattr_destroy, pthread_mutexattr_init):
25700         (pthread_mutexattr_settype, pthread_mutex_trylock):
25701         New static inline functions, if there's no system <pthread.h>.
25702         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
25703         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
25704         Approximate with mutexes if the system lacks spinlocks, as in
25705         MacOS.
25706         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
25707         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
25708         @@-style.  Check for spinlocks separately.
25709         (gl_PTHREAD_DEFAULTS): New macro.
25710         * modules/pthread: Redo to use a more typical style for in.h files.
25711
25712 2010-09-21  Eric Blake  <eblake@redhat.com>
25713
25714         net_if: enhance tests
25715         * tests/test-net_if.c (main): Move signature checks earlier.
25716         Print failures to stderr.
25717         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
25718         Document the bug that we do not yet fix.
25719
25720 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
25721
25722         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
25723         about gnulib, not GSS.
25724
25725 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
25726
25727         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
25728         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
25729         for Emacs.
25730         * build-aux/pmccabe2html: Make Makefile.am example code more
25731         cut-and-paste friendly.
25732
25733 2010-09-21  Simon Josefsson  <simon@josefsson.org>
25734
25735         * tests/test-net_if.c: New file.
25736         * modules/net_if-tests: New file.
25737
25738 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
25739
25740         pthread: add pthread_spin_destroy
25741         * lib/pthread.in.h (pthread_spin_destroy): New function.
25742
25743 2010-09-19  Bruno Haible  <bruno@clisp.org>
25744
25745         gnulib-tool: Fix --help output.
25746         * gnulib-tool (func_usage): Fix help message.
25747         Reported by Reuben Thomas <rrt@sc3d.org>.
25748
25749 2010-09-18  Jim Meyering  <meyering@redhat.com>
25750
25751         maint.mk: avoid unexpanded \n in two diagnostics
25752         * top/maint.mk (sc_prohibit_always_true_header_tests):
25753         Don't use a literal \n in a halt=... assignment.  It would not be
25754         expanded, and the two \n bytes would appear in the diagnostic output
25755         rather than the desired newline.  Use halt=$$(printf ... instead.
25756         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
25757
25758 2010-09-18  Bruno Haible  <bruno@clisp.org>
25759
25760         netinet_in: Doc tweak.
25761         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
25762         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
25763
25764 2010-09-18  Jim Meyering  <meyering@redhat.com>
25765
25766         init.sh: correct an outdated comment
25767         * tests/init.sh (create_exe_shims_):  s/function/alias/
25768
25769         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
25770         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
25771         a file named "*.exe" is removed between the glob expansion and the
25772         processing of that oddly named file.
25773
25774 2010-09-17  Eric Blake  <eblake@redhat.com>
25775
25776         mirbsd: add some more support
25777         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
25778         in BSD family.
25779         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
25780         devices as OpenBSD.
25781         * m4/host-os.m4 (mirbsd): Add MirBSD.
25782
25783         tests: fix unportable assumption on sys/wait.h
25784         * tests/test-sys_wait.c (main): Relax test.
25785         * tests/test-stdlib.c (main): Likewise.
25786
25787         init.sh: accomodate directory with no .exes
25788         * tests/init.sh: Accomodate directory containing only scripts.
25789
25790         tests: avoid compiler warning
25791         * tests/test-stdlib.c (main): Use the variable.
25792
25793         fdutimens, fdutimensat: update signature, again
25794         * lib/utimens.h (gl_futimens): Delete, and move signature...
25795         (fdutimens): ...here.
25796         (fdutimensat): Rearrange signature.
25797         (lutimensat): Rename variable for clarity.
25798         * lib/fdutimensat.c (fdutimensat): Update signature.
25799         * lib/utimens.c (fdutimens): Likewise.
25800         (gl_futimens): Delete.
25801         (utimens, lutimens): Update callers.
25802         * lib/futimens.c (futimens): Likewise.
25803         * tests/test-fdutimensat.c: Likewise.
25804         * tests/test-utimens.c: Likewise.
25805         * tests/test-futimens.h: Update comment.
25806         * NEWS: Mention this.
25807         Suggested by Paul Eggert.
25808
25809 2010-09-17  Bruno Haible  <bruno@clisp.org>
25810
25811         Take over the maintenance of some older macros from Autoconf.
25812         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
25813         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
25814         GNU Autoconf.
25815         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
25816         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
25817
25818 2010-09-17  Eric Blake  <eblake@redhat.com>
25819
25820         fdutimensat: drop atflag validation
25821         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
25822         with valid fd, to close a race scenario where futimens is
25823         unsupported and FILE was replaced by a symlink.
25824         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
25825         accordingly.
25826         Suggested by Paul Eggert.
25827
25828 2010-09-16  Bruno Haible  <bruno@clisp.org>
25829
25830         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
25831         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
25832
25833 2010-09-16  Bruno Haible  <bruno@clisp.org>
25834
25835         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
25836         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
25837         login_tty exists.
25838         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
25839
25840 2010-09-16  Bruno Haible  <bruno@clisp.org>
25841
25842         login_tty: Make the replacement code work on BSD systems.
25843         * lib/login_tty.c: Include <sys/ioctl.h>.
25844         (login_tty): Use ioctl TIOCSCTTY when available.
25845         * modules/login_tty (Depends-on): Add sys_ioctl.
25846         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
25847
25848 2010-09-16  Bruno Haible  <bruno@clisp.org>
25849
25850         login_tty: Stricter unit test.
25851         * modules/login_tty-tests (Depends-on): Add tcgetsid.
25852         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
25853         and tcgetsid() after login_tty.
25854         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
25855
25856 2010-09-16  Bruno Haible  <bruno@clisp.org>
25857
25858         New module 'tcgetsid'.
25859         * lib/tcgetsid.c: New file.
25860         * m4/tcgetsid.m4: New file.
25861         * modules/tcgetsid: New file.
25862         * modules/termios (Depends-on): Add c++defs, warn-on-use.
25863         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
25864         GNULIB_TCGETSID, HAVE_TCGETSID.
25865         * lib/termios.in.h: Include <sys/types.h>.
25866         (tcgetsid): New declaration.
25867         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
25868         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
25869         * doc/posix-functions/tcgetsid.texi: Mention the new module.
25870         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
25871
25872 2010-09-16  Bruno Haible  <bruno@clisp.org>
25873
25874         Tests for module 'termios'.
25875         * modules/termios-c++-tests: New file.
25876         * modules/termios-tests: New file.
25877         * tests/test-termios-c++.cc: New file.
25878         * tests/test-termios.c: New file.
25879
25880         New module 'termios'.
25881         * modules/termios: New file.
25882         * lib/termios.in.h: New file.
25883         * m4/termios_h.m4: New file.
25884         * doc/posix-headers/termios.texi: Mention the new module.
25885
25886 2010-09-16  Eric Blake  <eblake@redhat.com>
25887
25888         fdutimensat: add an atflag parameter
25889         * lib/fdutimensat.c (fdutimensat): Add new parameter.
25890         * lib/utimens.h (fdutimensat): Update prototype.
25891         * tests/test-fdutimensat.c: Adjust test to match.
25892         * NEWS: Document the change.
25893         Suggested by Paul Eggert.
25894
25895 2010-09-16  Bruno Haible  <bruno@clisp.org>
25896
25897         Fix typos in comments.
25898         * lib/striconveh.h: Fix typo in comment.
25899         * lib/login_tty.c (login_tty): Likewise.
25900
25901 2010-09-15  Bruno Haible  <bruno@clisp.org>
25902
25903         stdlib: clarify MirBSD WEXITSTATUS bug
25904         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
25905         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
25906
25907 2010-09-15  Eric Blake  <eblake@redhat.com>
25908
25909         stdlib: work around MirBSD WEXITSTATUS bug
25910         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
25911         * modules/stdlib (Depends-on): Add sys_wait.
25912         * tests/test-sys_wait.c (main): Enhance test.
25913         * tests/test-stdlib.c (main): Likewise.
25914         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
25915
25916         docs: mention MacOS issue with WEXITSTATUS(constant)
25917         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
25918         issue.
25919         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
25920
25921         strnlen: add tests
25922         * modules/strnlen-tests: New file.
25923         * tests/test-strnlen.c: Likewise.
25924
25925 2010-09-14  Bruno Haible  <bruno@clisp.org>
25926
25927         unistr/base: Avoid link errors when module 'libunistring' is also used.
25928         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
25929         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
25930         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
25931         Declare also when HAVE_LIBUNISTRING is set.
25932         Reported by Pádraig Brady <P@draigbrady.com>.
25933
25934 2010-09-14  Eric Blake  <eblake@redhat.com>
25935
25936         test-rawmemchr: make more robust
25937         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
25938         (Depends-on, configure.ac): Add needed prerequisites to use it.
25939         * modules/memchr-tests (Files, Depends-on, configure.ac):
25940         Likewise, to avoid implicit reliance on memchr module prereqs.
25941         * tests/test-memchr.c (main): Ensure proper masking.
25942         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
25943         reads.
25944
25945         memchr: detect glibc Alpha bug
25946         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
25947         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
25948         Alpha.
25949         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
25950         * tests/test-memchr.c (main): Enhance test.
25951         Reported by Nelson H. F. Beebe.
25952
25953 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
25954
25955         fts, getcwd, glob: audit for dirfd returning -1
25956         * lib/fts.c (opendir): Remove #define; no longer used.
25957         (opendirat): New arg PDIR_FD.  All callers changed.
25958         (fts_build, _opendir2): Use new opendirat to avoid the need for
25959         dirfd, or for checking whether dirfd returns a negative value.
25960         Don't use opendir; always use openat followed by fdopendir.
25961         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
25962         it.
25963         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
25964         returns -1 here.
25965         * modules/fts (Depends-on): Remove dirfd.
25966         * modules/getcwd (Depends-on): Likewise.
25967
25968 2010-09-13  Eric Blake  <eblake@redhat.com>
25969
25970         float: fix broken MirBSD header
25971         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
25972         * doc/posix-headers/float.texi (float.h): Document it.
25973
25974 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
25975
25976         fts: use O_NOFOLLOW to avoid race condition when opening a directory
25977         * lib/fts.c (opendirat): New arg extra_flags.
25978         (__opendir2): Use it to avoid following symlinks when opening
25979         a directory, if symlinks are not supposed to be followed.  See
25980         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
25981
25982         fdopendir: preserve argument fd before returning
25983         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
25984         (fdopendir_with_dup, fd_clone_opendir): New static functions.
25985         (fdopendir): Use them, arranging for FD to be open to the same
25986         directory that it was when it started.  (It might be temporarily
25987         closed while fdopendir is running, so this not thread- or
25988         signal-safe.)  Be careful to do the right thing even when file
25989         descriptors are scarce and dup fails with errno == EMFILE.  See
25990         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
25991
25992 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
25993
25994         regex: Pass the system regex if its only problem is 32-bit regoff_t.
25995         * NEWS: Document change.
25996         * m4/regex.m4: Disable test for regoff_t size.
25997
25998 2010-09-13  Jim Meyering  <meyering@redhat.com>
25999
26000         fts: don't operate on an invalid file descriptor after failed dup
26001         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
26002         negative file descriptor.
26003
26004 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
26005
26006         savedir: add streamsavedir, deprecate fdsavedir
26007         * NEWS: Mention deprecation of fdsavedir.
26008         * lib/savedir.c (streamsavedir): New extern function, whose name
26009         ends in "savedir" to be consistent with the others.  This differs
26010         from savedirstream in that it doesn't close its argument.  The
26011         next version of GNU tar will use this instead of fdsavedir, to
26012         avoid some race conditions and conserve file descriptors.
26013         (savedirstream): Reimplement as a wrapper around streamsavedir.
26014         (fdsavedir): Add a comment deprecating this function.  As far as
26015         I know, only GNU tar used it, and GNU tar doesn't need it any more.
26016         * lib/savedir.h (streamsavedir): New decl.
26017         (fdsavedir): Add a comment deprecating this.
26018
26019 2010-09-10  Bruno Haible  <bruno@clisp.org>
26020
26021         langinfo: Fix last commit.
26022         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
26023         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
26024         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26025
26026 2010-09-10  Bruno Haible  <bruno@clisp.org>
26027
26028         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
26029         * lib/progreloc.c (O_EXEC): Define fallback.
26030
26031 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
26032
26033         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
26034         * NEWS: Document recent changes to fcntl-h.
26035         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
26036         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
26037         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
26038         Similarly for O_SEARCH; this last was already true, but not documented.
26039         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
26040         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
26041         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
26042         Likewise.
26043         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
26044         is zero, not whether it is defined.
26045         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
26046         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
26047         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
26048
26049 2010-09-10  Bruno Haible  <bruno@clisp.org>
26050
26051         langinfo, nl_langinfo: Fix for IRIX 5.3.
26052         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
26053         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
26054         HAVE_LANGINFO_YESEXPR.
26055         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
26056         HAVE_LANGINFO_YESEXPR.
26057         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
26058         HAVE_LANGINFO_T_FMT_AMPM is 0.
26059         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
26060         HAVE_LANGINFO_YESEXPR is 0.
26061         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
26062         NOEXPR.
26063         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
26064         * doc/posix-functions/nl_langinfo.texi: Likewise.
26065         Reported by Eric Blake.
26066
26067 2010-09-10  Bruno Haible  <bruno@clisp.org>
26068
26069         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
26070         * doc/glibc-functions/login_tty.texi: Mention the include file problem
26071         on FreeBSD 8.0 and OpenBSD 4.6.
26072         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
26073         * m4/pty_h.m4 (gl_PTY_H): Likewise.
26074         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
26075         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
26076         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
26077         ac_includes_default.
26078         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
26079
26080 2010-09-09  Eric Blake  <eblake@redhat.com>
26081
26082         strsignal: work around NetBSD bug
26083         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
26084         * lib/string.in.h (includes): Likewise.
26085         * doc/posix-functions/strsignal.texi (strsignal): Document the
26086         bug.
26087         Reported by Nelson H. F. Beebe.
26088
26089         gnulib-tool: work with NetBSD /bin/sh
26090         * gnulib-tool (func_cache_var, func_cache_lookup_module)
26091         (func_get_description, func_get_comment, func_get_status)
26092         (func_get_notice, func_get_applicability, func_get_filelist)
26093         (func_get_dependencies, func_get_autoconf_early_snippet)
26094         (func_get_autoconf_snippet, func_get_automake_snippet)
26095         (func_get_include_directive, func_get_link_directive)
26096         (func_get_license, func_get_maintainer, func_import): Avoid
26097         shell syntax errors from parsing syntax extensions.
26098
26099 2010-09-09  Bruno Haible  <bruno@clisp.org>
26100
26101         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
26102         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
26103         a reliable way to determine whether the 'alias' command works.
26104
26105 2010-09-08  Jim Meyering  <meyering@redhat.com>
26106
26107         init.sh: penalize a set-x-impaired shell; don't disqualify it
26108         * tests/init.sh: Too many shells corrupt application stderr when
26109         you set -x, so we can't afford to disqualify them, since at least
26110         on Irix-6.5, that would disqualify all bourne shells.
26111         Instead, use a two-pass approach.
26112         On the first pass, try to find a shell that meets the stricter
26113         condition that set -x does not corrupt stderr.
26114         If no shell meets the stricter condition, retest each candidate
26115         shell, but without that extra condition.  Finally, when
26116         VERBOSE=yes is requested and set -x might cause trouble, simply
26117         issue a warning and refrain from enabling debug output.
26118
26119 2010-09-08  Eric Blake  <eblake@redhat.com>
26120
26121         unsetenv: fix OpenBSD bug
26122         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
26123         * doc/posix-functions/unsetenv.texi (unsetenv): Update
26124         documentation.
26125         Reported by Jim Meyering.
26126
26127         strtod: work around IRIX 6.5 bug
26128         * lib/strtod.c (strtod): Reparse number on shorter string if
26129         exponent parse was invalid.
26130         * tests/test-strtod.c (main): Add check for "0x1p 2".
26131         Reported by Tom G. Christensen.
26132
26133         getopt: optimize previous patch
26134         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
26135         empty variable.  Speed up awk script.
26136         Reported by Paolo Bonzini.
26137
26138 2010-09-08  Jim Meyering  <meyering@redhat.com>
26139
26140         test.sh: disqualify shells for which set -x corrupts stderr
26141         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
26142         and OpenBSD 4.7.  They make it so with "set -x", environment settings
26143         appear in stderr output.  For example, this command:
26144             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
26145         prints "P=1" on those two systems:
26146
26147 2010-09-08  Bruno Haible  <bruno@clisp.org>
26148
26149         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
26150         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
26151         commands, because some shells ignore redirections when there is an
26152         error in the command lookup.
26153         Reported by Eric Blake.
26154
26155 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
26156
26157         * lib/regex.h: Fix a mention of `regex_compile' (should be
26158         `re_compile_pattern').
26159         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
26160         (re_set_registers): Correct name of parameter in comment.
26161
26162         * doc/regex.texi: Add documentation for missing syntax flags.
26163         Remove commented-out documentation of defunct syntax option
26164         RE_NO_EMPTY_ALTS.
26165         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
26166         Add documentation of re_set_registers.
26167         Document trick to re-use a pattern buffer by setting fastmap manually.
26168         Update documentation of struct re_pattern_buffer per public members.
26169         Uncomment documentation of equivalence class operators and
26170         collating symbol operators, since they are now implemented,
26171         Explain leftmost-longest matching in relation to alternatives.
26172         Tidy documentation of substring matching.
26173         Remove POSIX documentation, which is done better in
26174         glibc, and refer the reader there. Keep BSD API documentation, as
26175         that is not readily available elsewhere.
26176
26177 2010-09-07  Eric Blake  <eblake@redhat.com>
26178
26179         getopt: handle POSIXLY_CORRECT set but not exported
26180         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
26181         export state of POSIXLY_CORRECT, due to bash set -o posix.
26182         Reported by Dustin J. Mitchell.
26183
26184 2010-09-05  Bruno Haible  <bruno@clisp.org>
26185
26186         gnulib-tool: Highlight the changed options.
26187         * gnulib-tool (func_usage): Display the --import, --add-import,
26188         --remove-import explanations in bold font.
26189
26190 2010-09-06  Karl Berry  <karl@gnu.org>
26191
26192         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
26193
26194 2010-09-05  Bruno Haible  <bruno@clisp.org>
26195
26196         uniwidth/width: Update comment.
26197         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
26198         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
26199
26200 2010-09-05  Bruno Haible  <bruno@clisp.org>
26201
26202         isinf, isnan: Relax license.
26203         * modules/isinf (License): Change from GPL to LGPL, with consent from
26204         Ben Pfaff.
26205         * modules/isnan (License): Likewise.
26206         Requested by Ludovic Courtès.
26207
26208 2010-09-04  Bruno Haible  <bruno@clisp.org>
26209
26210         gnulib-tool: Help migration from --import to --add-import or --update.
26211         * gnulib-tool: Emit a verbose error message when --import is used
26212         without any module name.
26213
26214 2010-09-04  Bruno Haible  <bruno@clisp.org>
26215
26216         Update doc about gnulib-tool.
26217         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
26218         'gnulib-tool --update' in more detail.
26219         Reported by Eric Blake.
26220
26221 2010-09-04  Bruno Haible  <bruno@clisp.org>
26222
26223         gnulib-tool: Change --import. New options --add/remove-import.
26224         * gnulib-tool: New options --add-import, --remove-import.
26225         (func_usage): Document them.
26226         (have_associative): Define always.
26227         (func_import): In import mode, don't merge the specified settings with
26228         the cached settings. Implement remove-import mode.
26229         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
26230         Explain when to use them versus --import.
26231         (Simple update): Use --add-import instead of --import.
26232         * NEWS: Mention the change.
26233
26234 2010-09-04  Bruno Haible  <bruno@clisp.org>
26235
26236         * doc/gnulib-tool.texi (Initial import): Update paragraph about
26237         separate gnulib.mk.
26238
26239 2010-09-04  Bruno Haible  <bruno@clisp.org>
26240
26241         gnulib-tool: Don't talk about CVS any more.
26242         * gnulib-tool (func_usage, func_import): Write "version control"
26243         instead of CVS.
26244
26245 2010-09-04  Jim Meyering  <meyering@redhat.com>
26246
26247         maint.mk: avoid obscure sc_copyright_check failure in coreutils
26248         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
26249         false positives (whose names may be ill-chosen) when searching
26250         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
26251         would cause a false-positive.
26252
26253         avoid coreutils "make distcheck" failure
26254         Coreutils tests with an absolute build directory name that contains
26255         a space.  Not quoting this directory name caused a failure.
26256         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
26257         * tests/test-vc-list-files-cvs.sh: Likewise.
26258
26259 2010-09-04  Bruno Haible  <bruno@clisp.org>
26260
26261         gnulib-tool: Avoid error when run in a package without Makefile.am.
26262         * gnulib-tool: When collecting the m4dirs in a package that does not
26263         have a Makefile.am, eliminate those directories that contain no
26264         gnulib-cache.m4. Fix expression that counts these directories.
26265
26266 2010-09-04  Bruno Haible  <bruno@clisp.org>
26267
26268         update-copyright test: Improve output when perl is missing or too old.
26269         * tests/test-update-copyright.sh: Move test of Perl version down after
26270         the test whether Perl exists. Provide an explanation relating Perl's
26271         error message to Automake's SKIP: message.
26272
26273 2010-09-04  Bruno Haible  <bruno@clisp.org>
26274
26275         Don't augment PATH in TESTS_ENVIRONMENT.
26276         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
26277         set abs_aux_dir instead of augmenting PATH.
26278         * modules/vc-list-files-tests (Makefile.am): Likewise.
26279         * tests/test-update-copyright.sh: Augment PATH here.
26280         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
26281         path_prepend_.
26282         * tests/test-vc-list-files-git.sh: Likewise.
26283
26284 2010-09-04  Jim Meyering  <meyering@redhat.com>
26285
26286         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
26287         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
26288
26289 2010-09-04  Bruno Haible  <bruno@clisp.org>
26290
26291         strdup: Fix compilation error in C++ mode.
26292         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
26293         the macro.
26294
26295 2010-09-04  Bruno Haible  <bruno@clisp.org>
26296
26297         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
26298         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
26299         macro into a function.
26300         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26301
26302 2010-09-04  Bruno Haible  <bruno@clisp.org>
26303
26304         Set PATH_SEPARATOR the same way autoconf does.
26305         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
26306         the value of PATH_SEPARATOR the same way autoconf-generated configure
26307         scripts do.
26308         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
26309         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
26310
26311 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
26312
26313         Set PATH_SEPARATOR the same way autoconf does.
26314         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
26315         the same way autoconf-generated configure scripts do.
26316         * posix-modules: Likewise.
26317
26318 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
26319
26320         hash: fix safe_hasher const typo
26321         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
26322         const; otherwise, there is a type error later.
26323
26324 2010-09-02  Jim Meyering  <meyering@redhat.com>
26325
26326         test-update-copyright.sh: require perl 5.8.0
26327         * tests/test-update-copyright.sh: Require 5.8.0,
26328         which Tom G. Christensen has confirmed is adequate,
26329         while 5.6.1 is not.
26330
26331 2010-09-02  Eric Blake  <eblake@redhat.com>
26332
26333         tests: init.sh improvements for re-exec'ing with zsh
26334         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
26335         -vx through shell re-exec.
26336         Reported by Tom G. Christensen.
26337
26338         wctype: fix typo in previous commit
26339         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
26340         Reported by Ludovic Courtès.
26341
26342 2010-09-02  Jim Meyering  <meyering@redhat.com>
26343
26344         test-update-copyright.sh: skip test if Perl is too old
26345         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
26346         Reported by Tom G. Christensen.
26347
26348 2010-09-02  Bruno Haible  <bruno@clisp.org>
26349
26350         wctype: Avoid compilation error on IRIX 6.5.30.
26351         * lib/wctype.in.h (iswblank): Declare with a replacement if
26352         REPLACE_ISWBLANK is set.
26353         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
26354         declared. Set REPLACE_ISWBLANK.
26355         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
26356         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
26357         * doc/posix-headers/wctype.texi: Likewise.
26358         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26359
26360 2010-09-01  Bruno Haible  <bruno@clisp.org>
26361
26362         New module 'socketlib'.
26363         * modules/socketlib: New file.
26364         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
26365         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
26366         * modules/sockets (Depends-on): Add socketlib.
26367         Suggested by Sam Steingold <sds@gnu.org>.
26368
26369 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
26370
26371         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
26372
26373         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
26374         when one needs search access to a directory but not read access.
26375         On systems where it is available, it works in some cases where
26376         O_RDONLY does not, namely on directories that are searchable but
26377         not readable, and which need only to be searchable.  If O_SEARCH
26378         is not available, fall back to the traditional method of using
26379         O_RDONLY.
26380
26381         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
26382         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
26383         when opening a directory that needs only to be searchable.
26384         * lib/chdir-safer.c (chdir_no_follow): Likewise.
26385         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
26386         * lib/openat-proc.c (openat_proc_name): Likewise.
26387         * lib/openat.c (openat_needs_fchdir): Likewise.
26388         * lib/save-cwd.c (save_cwd): Likewise.
26389         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
26390
26391 2010-08-28  Bruno Haible  <bruno@clisp.org>
26392
26393         New module 'host-cpu-c-abi'.
26394         * modules/host-cpu-c-abi: New file.
26395         * m4/host-cpu-c-abi.m4: New file, based on part of
26396         clisp/src/m4/general.m4.
26397         Requested by Sam Steingold <sds@gnu.org>.
26398
26399 2010-08-31  Eric Blake  <eblake@redhat.com>
26400         and Jim Meyering  <meyering@redhat.com>
26401
26402         hash: factor, and guard against misbehaving hasher function
26403         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
26404         of table->hasher's return value.  Also protect against a hash value
26405         so large that adding it to table->bucket results in a NULL pointer.
26406         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
26407         Use it in place of open-coded check-and-abort.
26408
26409 2010-08-30  Bruno Haible  <bruno@clisp.org>
26410
26411         hash: silence spurious clang warning
26412         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
26413         Reported by Eric Blake.
26414
26415 2010-08-30  Eric Blake  <eblake@redhat.com>
26416
26417         strstr, memmem, strcasestr: avoid leaked shell message
26418         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
26419         FreeBSD.
26420         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
26421         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
26422
26423         tests: silence clang warning
26424         * tests/test-malloca.c (do_allocation): Avoid dead store.
26425
26426 2010-08-29  Bruno Haible  <bruno@clisp.org>
26427
26428         gettext: Fix recent mistake.
26429         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
26430
26431 2010-08-29  Bruno Haible  <bruno@clisp.org>
26432
26433         selinux-h: Offer a --without-selinux option.
26434         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
26435         --without-selinux was specified, skip all tests and define
26436         HAVE_SELINUX_SELINUX_H to 0.
26437         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
26438         set LIB_SELINUX to empty.
26439         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
26440         gl_LIBSELINUX. If --without-selinux was specified, replace
26441         selinux/context.h.
26442         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
26443
26444 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
26445             Bruno Haible  <bruno@clisp.org>
26446
26447         Make the module 'realloc-gnu' work again on AIX and OSF/1.
26448         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
26449         of HAVE_REALLOC.
26450         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
26451         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
26452         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
26453         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
26454
26455 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
26456             Bruno Haible  <bruno@clisp.org>
26457
26458         Make the module 'calloc-gnu' work again on AIX and OSF/1.
26459         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
26460         HAVE_CALLOC.
26461         * lib/xmalloc.c: Update accordingly.
26462         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
26463         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
26464         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
26465
26466 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
26467             Bruno Haible  <bruno@clisp.org>
26468
26469         Make the module 'malloc-gnu' work again on AIX and OSF/1.
26470         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
26471         HAVE_MALLOC.
26472         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
26473         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
26474         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
26475
26476 2010-08-29  Bruno Haible  <bruno@clisp.org>
26477
26478         Update modules list.
26479         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
26480         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
26481         (String handling <string.h>): Add astrxfrm.
26482         (File system functions): Add readlinkat.
26483
26484 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26485
26486         Tests for module 'realloc-gnu'.
26487         * modules/realloc-gnu-tests: New file.
26488         * tests/test-realloc-gnu.c: New file.
26489
26490         Tests for module 'calloc-gnu'.
26491         * modules/calloc-gnu-tests: New file.
26492         * tests/test-calloc-gnu.c: New file.
26493
26494         Tests for module 'malloc-gnu'.
26495         * modules/malloc-gnu-tests: New file.
26496         * tests/test-malloc-gnu.c: New file.
26497
26498 2010-08-28  Bruno Haible  <bruno@clisp.org>
26499
26500         Rename module 'realloc' -> 'realloc-gnu'.
26501         * modules/realloc-gnu: New file, copied from modules/realloc.
26502         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
26503         obsolete.
26504         * modules/mgetgroups (Depends-on): Update.
26505         * doc/posix-functions/realloc.texi: Update.
26506         * NEWS: Mention the change.
26507
26508         Rename module 'calloc' -> 'calloc-gnu'.
26509         * modules/calloc-gnu: New file, copied from modules/calloc.
26510         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
26511         obsolete.
26512         * doc/posix-functions/calloc.texi: Update.
26513         * NEWS: Mention the change.
26514
26515         Rename module 'malloc' -> 'malloc-gnu'.
26516         * modules/malloc-gnu: New file, copied from modules/malloc.
26517         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
26518         obsolete.
26519         * modules/argp (Depends-on): Update.
26520         * modules/regex (Depends-on): Update.
26521         * doc/posix-functions/malloc.texi: Update.
26522         * NEWS: Mention the change.
26523
26524 2010-08-28  Eric Blake  <eblake@redhat.com>
26525
26526         pread, pwrite: add missing dependency
26527         * modules/pread (Depends-on): Add extensions.
26528         * modules/pwrite (Depends-on): Likewise.
26529
26530 2010-08-28  Bruno Haible  <bruno@clisp.org>
26531
26532         unistr/u*-strchr: Fix tests dependencies.
26533         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
26534         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
26535         Reported by Ian Beckwith <ianb@erislabs.net>.
26536
26537 2010-08-28  Bruno Haible  <bruno@clisp.org>
26538
26539         read-file: Don't occupy too much unused memory.
26540         * lib/read-file.c (fread_file): Shrink the buffer at the end.
26541
26542 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
26543             Eric Blake  <eblake@redhat.com>
26544             Bruno Haible  <bruno@clisp.org>
26545
26546         read-file: Avoid memory reallocations with regular files.
26547         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
26548         (fread_file): With regular files, use the remaining length as the
26549         initial buffer size.  Check against overflow.
26550         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
26551         sys_stat.
26552
26553 2010-08-28  Bruno Haible  <bruno@clisp.org>
26554
26555         ftello: Relax license.
26556         * modules/ftello (License): Relax to LGPLv2+.
26557         Reported by Eric Blake.
26558
26559 2010-08-28  Bruno Haible  <bruno@clisp.org>
26560
26561         Avoid relocwrapper link errors due to gnulib replacement functions.
26562         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
26563         function.
26564         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26565
26566 2010-08-28  Bruno Haible  <bruno@clisp.org>
26567
26568         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
26569         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
26570         defined.
26571         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
26572         Suggested by Eric Blake.
26573
26574 2010-08-28  Bruno Haible  <bruno@clisp.org>
26575
26576         sys_socket, netdb: Ensure socklen_t gets defined.
26577         * modules/sys_socket (Depends-on): Add socklen.
26578         * modules/netdb (Depends-on): Likewise.
26579         * modules/getaddrinfo (Depends-on): Remove socklen.
26580         * modules/getsockopt (Depends-on): Likewise.
26581         * modules/setsockopt (Depends-on): Likewise.
26582         * tests/test-sys_socket.c: Check that socklen_t is defined.
26583         * tests/test-netdb.c: Likewise.
26584         * m4/socklen.m4: Update comments.
26585         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
26586
26587 2010-08-27  Eric Blake  <eblake@redhat.com>
26588
26589         login_tty: add missing dependency
26590         * modules/login_tty (Depends-on): Add pty.
26591
26592 2010-08-26  Eric Blake  <eblake@redhat.com>
26593
26594         lib-symbol-versions: fix m4 quoting
26595         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
26596         format for AC_LINK_IFELSE.
26597
26598         glob: fix compile test
26599         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
26600
26601         btowc: fix missing file
26602         * modules/btowc (Files): Also ship locale-fr.m4.
26603
26604         lseek: fix link test
26605         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
26606         AC_LINK_IFELSE.
26607
26608         include_next: silence autoconf 2.68 warning
26609         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
26610         AC_COMPILE_IFELSE as special.
26611         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
26612         autoconf < 2.68.
26613
26614         acl: fix compilation test
26615         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
26616         AC_COMPILE_IFELSE.
26617
26618 2010-08-26  Bruno Haible  <bruno@clisp.org>
26619
26620         Modernize AC_TRY_RUN invocations.
26621         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
26622         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
26623         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
26624         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
26625         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
26626         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
26627         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
26628         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
26629         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
26630         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
26631         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
26632         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
26633         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
26634         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
26635         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
26636         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
26637         gl_MBRLEN_NUL_RETVAL): Likewise.
26638         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
26639         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
26640         Likewise.
26641         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
26642         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
26643         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
26644         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
26645         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
26646         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
26647         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
26648         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
26649         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
26650         Likewise.
26651         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
26652         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
26653         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
26654         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
26655         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
26656         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
26657         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
26658         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
26659         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
26660         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
26661
26662 2010-08-26  Bruno Haible  <bruno@clisp.org>
26663
26664         Modernize AC_TRY_LINK invocations.
26665         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
26666         AC_TRY_LINK.
26667         * m4/argp.m4 (gl_ARGP): Likewise.
26668         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
26669         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
26670         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
26671         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
26672         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
26673         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
26674         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
26675         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
26676         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
26677         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
26678         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
26679         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
26680         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
26681         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
26682         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
26683         * m4/hostent.m4 (gl_HOSTENT): Likewise.
26684         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
26685         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
26686         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
26687         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
26688         Likewise.
26689         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
26690         Likewise.
26691         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
26692         Likewise.
26693         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
26694         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
26695         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
26696         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
26697         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
26698         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
26699         * m4/servent.m4 (gl_SERVENT): Likewise.
26700         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
26701         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
26702         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
26703         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
26704         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
26705         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
26706         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
26707         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
26708         * modules/tsearch-tests (configure.ac): Likewise.
26709
26710 2010-08-26  Bruno Haible  <bruno@clisp.org>
26711
26712         Modernize AC_TRY_COMPILE invocations.
26713         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
26714         AC_TRY_COMPILE.
26715         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
26716         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
26717         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
26718         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
26719         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
26720         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
26721         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
26722         * m4/lock.m4 (gl_LOCK): Likewise.
26723         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
26724         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
26725         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
26726         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
26727         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
26728         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
26729         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
26730         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
26731         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
26732         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
26733         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
26734         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
26735         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
26736         extraneous semicolon.
26737
26738 2010-08-26  Jim Meyering  <meyering@redhat.com>
26739
26740         stat-time: relax license LGPL
26741         * modules/stat-time (License): Change from GPL to LGPL,
26742         with consent from all contributors, for use in libguile.
26743         Requested by Ludovic Courtès.
26744
26745 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
26746
26747         poll: return immediately on POLLHUP.
26748         * lib/poll.c (poll): Always set timeout before wait_timeout is
26749         computed.
26750
26751 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26752
26753         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
26754         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
26755         rmdir ("dir/.//"), unlinkat.
26756
26757 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
26758
26759         stdbool: avoid spurious failure with modern xlc
26760         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
26761
26762 2010-08-24  Bruno Haible  <bruno@clisp.org>
26763
26764         getloadavg: simplify code
26765         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
26766         gl_have_func. Update comments.
26767
26768 2010-08-24  Eric Blake  <eblake@redhat.com>
26769
26770         getloadavg: don't define SVR4 on cygwin
26771         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
26772         only define SVR4 when -lkvm is required.
26773         Reported by Yaakov Selkowitz.
26774
26775 2010-08-24  Bruno Haible  <bruno@clisp.org>
26776
26777         priv-set: fix comment
26778         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
26779
26780 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
26781
26782         priv-set: fix comments
26783         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
26784         to match code, as suggested by David Bartley in:
26785         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
26786
26787 2010-08-23  Eric Blake  <eblake@redhat.com>
26788
26789         stdbool: avoid rejecting clang
26790         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
26791         * tests/test-stdbool.c: Enable more tests if using the system
26792         <stdbool.h> instead of the gnulib replacement.
26793         (main): Move xlc bug test to a runtime test for all compilers.
26794         Reported by Anders Kaseorg.
26795
26796         argz: fix shell quoting issue
26797         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
26798         Reported by Charles Wilson.
26799
26800 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
26801             Erik Faye-Lund <kusmabite@gmail.com>
26802
26803         poll, select: handle ERROR_BROKEN_PIPE.
26804         * lib/poll.c (win32_compute_revents): Return POLLHUP when
26805         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
26806         * lib/select.c (win32_compute_revents): Do not mark a pipe
26807         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
26808
26809 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
26810
26811         fts: allow compilation with C++
26812         * lib/fts_.h: Specify extern "C" linkage with C++.
26813
26814 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26815
26816         Fix gnulib-tool sed script de-commentation for AIX sed.
26817         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
26818         sed.
26819
26820 2010-08-17  Eric Blake  <eblake@redhat.com>
26821
26822         test-stddef: test for (some) offsetof bugs
26823         * tests/test-stddef.c: Enhance test to ensure correct type of
26824         offsetof.
26825         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
26826         that we are not fixing at this time.
26827
26828 2010-08-15  Bruno Haible  <bruno@clisp.org>
26829
26830         stpncpy: Allow stpncpy to be defined as a macro.
26831         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
26832         if it's already correctly declared.
26833         * lib/string.in.h (stpncpy): Undefine before redefining.
26834         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
26835
26836 2010-08-14  Bruno Haible  <bruno@clisp.org>
26837
26838         Rename module 'memxfrm' to 'amemxfrm'.
26839         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
26840         (amemxfrm): Renamed from memxfrm.
26841         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
26842         (amemxfrm): Renamed from memxfrm.
26843         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
26844         * NEWS: Mention the change.
26845         * MODULES.html.sh (String handling <string.h>): Update.
26846         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
26847         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
26848         * lib/unicase/u16-casexfrm.c: Likewise.
26849         * lib/unicase/u32-casexfrm.c: Likewise.
26850         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
26851         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
26852         * lib/uninorm/u16-normxfrm.c: Likewise.
26853         * lib/uninorm/u32-normxfrm.c: Likewise.
26854         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
26855         memxfrm.
26856         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
26857         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
26858         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
26859         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
26860         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
26861         Suggested by Paul Eggert.
26862
26863 2010-08-14  Bruno Haible  <bruno@clisp.org>
26864
26865         Tests for module 'astrxfrm'.
26866         * modules/astrxfrm-tests: New file.
26867         * tests/test-astrxfrm.c: New file.
26868
26869         New module 'astrxfrm'.
26870         * lib/astrxfrm.h: New file.
26871         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
26872         * modules/astrxfrm: New file.
26873
26874 2010-08-14  Reuben Thomas <rrt@sc3d.org>
26875
26876         regex: Tweak doc.
26877         * doc/regex.texi (Overview): Don't mention regex.c.
26878         (GNU Regular Expression Compiling): Likewise.
26879         (Match-end-of-line Operator): Mention 'not_eol'.
26880
26881 2010-08-14  Brian Gough  <bjg@gnu.org>
26882             Bruno Haible  <bruno@clisp.org>
26883
26884         git-merge-changelog: add doc relating to use with bzr and hg.
26885         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
26886
26887 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
26888
26889         pthread: fix pthread.h creation for srcdir != builddir
26890         * modules/pthread (Makefile.am): Fix the rule to work also in a
26891         non-srcdir build.
26892
26893 2010-08-13  Karl Berry  <karl@gnu.org>
26894
26895         * doc/regex.texi (Predefined Syntaxes): @smallexample.
26896         * doc/posix-*/*: force line break before @url of POSIX
26897         specifications.
26898         Suggested by Werner Lemberg.
26899
26900 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
26901
26902         strtod: fix const diagnostic
26903         * lib/strtod.c (strtod): Don't assign const char * to char *,
26904         as this elicits a warning from GCC when warnings are enabled.
26905
26906 2010-08-10  Pádraig Brady <P@draigbrady.com>
26907         and Eric Blake  <eblake@redhat.com>
26908
26909         copy-acl: ignore ENOTSUP on HP-UX
26910         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
26911         so that it is available for HP-UX.
26912         * lib/copy-acl.c (qcopy_acl): Use it.
26913         Reported by Patrick M. Callahan.
26914
26915 2010-08-10  Eric Blake  <eblake@redhat.com>
26916
26917         open, chown: relax license
26918         * modules/open (License): Change to LGPLv2+, with consent by all
26919         authors, for use in augeas.
26920         * modules/chown (License): Likewise.
26921         * modules/lchown (Likewise): Likewise.
26922         Requested by Adam Stokes.
26923
26924 2010-08-09  Karl Berry  <karl@gnu.org>
26925
26926         * build-aux/ar-lib: new file, import from Automake.
26927         * config/srclist.txt: autocheck for updates.
26928
26929 2010-08-09  Eric Blake  <eblake@redhat.com>
26930
26931         readlinkat: adjust client modules
26932         * modules/areadlinkat (Depends-on): Use readlinkat, not
26933         symlinkat.
26934         * modules/areadlinkat-with-size (Depends-on): Likewise.
26935
26936         mknod: be more vocal about danger of running tests as root
26937         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
26938         root, since that is just asking for problems.
26939         Suggested by Bruno Haible, based on a report by Rainer Tammer.
26940
26941         readlinkat: split into its own module
26942         * modules/symlinkat: Split readlinkat...
26943         * modules/readlinkat: ...into separate module.
26944         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
26945         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
26946         * lib/symlinkat.c (readlinkat): Move...
26947         * lib/readlinkat.c: ...into new file.
26948         * modules/symlinkat-tests: Split readlinkat test...
26949         * modules/readlinkat-tests: ...into separate module.
26950         * tests/test-symlinkat.c: Split...
26951         * tests/test-readlinkat.c: ...into new file.
26952         * NEWS: Document the split.
26953         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
26954         * lib/unistd.in.h (readlinkat): Likewise.
26955         Suggested by Bruno Haible.
26956
26957 2010-08-08  Bruno Haible  <bruno@clisp.org>
26958
26959         memxfrm: Speed up.
26960         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
26961         that usually only one call to strxfrm is necessary for each string
26962         part.
26963         Reported by Paul Eggert <eggert@cs.ucla.edu>.
26964
26965 2010-08-07  Karl Berry  <karl@gnu.org>
26966
26967         * doc/posix-headers/limits.texi,
26968         * doc/posix-functions/malloc.texi,
26969         * doc/posix-functions/strsignal.texi: missing @item.
26970         * doc/ld-version-script.texi: spurious leading i.
26971         * doc/regex.texi (Interval Operators): no commas inside @var.
26972
26973 2010-08-01  Bruno Haible  <bruno@clisp.org>
26974
26975         Integrate the regex documentation.
26976         * doc/gnulib.texi: Define 'cn' index.
26977         (Regular expressions): New a chapter that includes regex.texi and
26978         regexprops-generic.texi.
26979         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
26980         syntax.
26981
26982         Whitespace cleanup.
26983         * doc/regex.texi: Remove trailing spaces.
26984
26985         Add regex documentation.
26986         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
26987         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
26988         Written by Kathy A. Hargreaves and Karl Berry.
26989
26990 2010-08-01  Bruno Haible  <bruno@clisp.org>
26991
26992         link: Update documentation.
26993         * doc/posix-functions/link.texi: Update regarding Solaris.
26994
26995 2010-07-31  Bruno Haible  <bruno@clisp.org>
26996
26997         Update modules list.
26998         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
26999         (String handling <string.h>): Add memcmp2, memxfrm.
27000         (Container data structures): Add xlist, xsublist, xoset.
27001         (Core language properties): Add alignof, unused-parameter.
27002         (Process control, Numeric conversion functions <stdlib.h>): Renamed
27003         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
27004         (Unibyte characters <ctype.h>): New section.
27005         (String handling <string.h>): New section.
27006         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
27007         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
27008         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
27009         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
27010         tan, tanh, tanl, y0, y1, yn.
27011         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
27012         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
27013         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
27014         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
27015         unlockpt, vdprintf, vdprintf-posix.
27016         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
27017         (File system functions): Add concat-filename, sys_file, sys_ioctl,
27018         xconcat-filename.
27019         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
27020         getdtablesize, pipe2, pipe2-safer.
27021         (Security): New section.
27022         (Networking functions): Add accept4.
27023         (Signal handling): Add sigpipe.
27024         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
27025         mbmemcasecoll.
27026         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
27027         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
27028         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
27029         pipe-filter-ii.
27030         (Misc): Add argp-version-etc, login_tty, parse-duration.
27031
27032 2010-07-31  Bruno Haible  <bruno@clisp.org>
27033
27034         Improve doc in MODULES.html.
27035         * modules/linkat (Description): Add the word "function".
27036         * modules/mkfifo (Description): Likewise.
27037         * modules/mknod (Description): Likewise.
27038         * modules/remove (Description): Likewise.
27039         * modules/renameat (Description): Likewise.
27040         * modules/stat (Description): Likewise.
27041         * modules/symlink (Description): Likewise.
27042         * modules/unlink (Description): Likewise.
27043
27044 2010-07-31  Bruno Haible  <bruno@clisp.org>
27045
27046         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
27047         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
27048         option --enable/disable-c++ instead of --enable/disable-cxx.
27049         * NEWS: Mention the change.
27050
27051 2010-07-31  Bruno Haible  <bruno@clisp.org>
27052
27053         readlink, areadlink: Relax test a bit.
27054         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
27055         alternative to ENOTDIR.
27056         * tests/test-areadlink.h (test_areadlink): Likewise.
27057         Reported by Rainer Tammer.
27058
27059 2010-07-31  Bruno Haible  <bruno@clisp.org>
27060
27061         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
27062         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
27063         character, perform the search using U_STRCHR.
27064         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
27065         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
27066         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
27067         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
27068         Suggested by Paolo Bonzini.
27069
27070 2010-07-31  Bruno Haible  <bruno@clisp.org>
27071
27072         unistr/u*-strstr: Fix dependencies.
27073         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
27074         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
27075         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
27076
27077 2010-07-31  Bruno Haible  <bruno@clisp.org>
27078
27079         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
27080         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
27081         the beginning of the loop.
27082         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
27083         cases in 'switch' statement.
27084
27085         unistr/u8-strchr: Fix several bugs.
27086         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
27087         the string. When not found, return NULL, not a pointer near the end.
27088
27089         More tests for unistr/u8-strchr.
27090         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
27091         that the function does not read past the first occurrence of the byte
27092         being searched.
27093         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
27094         * tests/unistr/test-u16-strchr.c (main): New function.
27095         * tests/unistr/test-u32-strchr.c (main): New function.
27096
27097 2010-07-31  Bruno Haible  <bruno@clisp.org>
27098
27099         posix-modules: Ignore backup files of documentation files.
27100         * posix-modules: grep only through files named *.texi.
27101
27102 2010-07-31  Bruno Haible  <bruno@clisp.org>
27103
27104         symlinkat: Fix documentation.
27105         * doc/posix-functions/readlinkat.texi: Fix module name.
27106
27107 2010-07-31  Bruno Haible  <bruno@clisp.org>
27108
27109         fchownat: Replace also when chown has the trailing slash bug.
27110         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
27111         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
27112         introduced on 2010-04-10.
27113         Reported by Rainer Tammer.
27114
27115 2010-07-31  Bruno Haible  <bruno@clisp.org>
27116
27117         linkat: Work around AIX 7.1 bug.
27118         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
27119         whether linkat handles trailing slash correctly. If not, replace linkat
27120         and define LINKAT_TRAILING_SLASH_BUG.
27121         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
27122         check whether (fd1,file1) points to a directory if file1 or file2 ends
27123         in a slash. Code taken from lib/link.c.
27124         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
27125         Reported by Rainer Tammer.
27126
27127 2010-07-31  Bruno Haible  <bruno@clisp.org>
27128
27129         Correctly determine whether pow is available in libc on AIX 7 with xlc.
27130         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
27131         This disables an xlc optimization that was causing wrong test results.
27132         Reported by Rainer Tammer.
27133
27134 2010-07-31  Bruno Haible  <bruno@clisp.org>
27135
27136         iconv: Work around AIX 6.1..7.1 bug.
27137         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
27138         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
27139         cross-compiling, guess no on all versions of AIX.
27140         Reported by Rainer Tammer.
27141
27142 2010-07-31  Bruno Haible  <bruno@clisp.org>
27143
27144         readlink: Relax test a bit.
27145         * tests/test-readlink.h (test_readlink): Allow different errno value
27146         when readlink is called with a file name that ends in / and refers to
27147         a file.
27148         Suggested by Eric Blake.
27149         Reported by Rainer Tammer.
27150
27151 2010-07-31  Bruno Haible  <bruno@clisp.org>
27152
27153         copysign: Does not require -lm on glibc systems.
27154         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
27155         gl_COMMON_DOUBLE_MATHFUNC.
27156         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
27157
27158 2010-07-31  Bruno Haible  <bruno@clisp.org>
27159
27160         duplocale: Work around AIX 7.1 bug.
27161         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
27162         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
27163         * lib/duplocale.c (rpl_duplocale): Update comment.
27164         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
27165         Reported by Rainer Tammer.
27166
27167 2010-07-30  Bruno Haible  <bruno@clisp.org>
27168
27169         dirfd: Avoid link error on AIX 7.1.
27170         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
27171         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
27172         exist, set REPLACE_DIRFD.
27173         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
27174         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
27175         * doc/posix-functions/dirfd.texi: Update.
27176         Reported by Rainer Tammer.
27177
27178 2010-07-30  Eric Blake  <eblake@redhat.com>
27179
27180         strtod: next round of AIX fixes
27181         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
27182         exponent.
27183         * tests/test-strtod.c (main): Enhance tests.
27184         * doc/posix-functions/strtod.texi (strtod): Document next bug.
27185         Reported by Rainer Tammer.
27186
27187         futimens: fix configure check
27188         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
27189         Reported by Bruno Haible.
27190
27191 2010-07-30  Bruno Haible  <bruno@clisp.org>
27192
27193         getline: Update regarding AIX.
27194         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
27195         Reported by Rainer Tammer.
27196
27197 2010-07-30  Bruno Haible  <bruno@clisp.org>
27198
27199         wcwidth: Drop replacement on AIX 7.
27200         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
27201         AIX 7.
27202         Reported by Rainer Tammer.
27203
27204 2010-07-30  Bruno Haible  <bruno@clisp.org>
27205
27206         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
27207         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
27208         a 'char *'.
27209         Reported by Rainer Tammer.
27210
27211 2010-07-30  Bruno Haible  <bruno@clisp.org>
27212
27213         unlink: Update regarding AIX.
27214         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
27215         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
27216         Reported by Rainer Tammer.
27217
27218 2010-07-30  Bruno Haible  <bruno@clisp.org>
27219
27220         symlink: Update regarding AIX.
27221         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
27222         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
27223         Reported by Rainer Tammer.
27224
27225 2010-07-30  Bruno Haible  <bruno@clisp.org>
27226
27227         strndup: Update regarding AIX.
27228         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
27229         AIX 7.
27230         Reported by Rainer Tammer.
27231
27232 2010-07-30  Bruno Haible  <bruno@clisp.org>
27233
27234         stat: Update regarding AIX.
27235         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
27236         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
27237         Reported by Rainer Tammer.
27238
27239 2010-07-30  Bruno Haible  <bruno@clisp.org>
27240
27241         truncl: Fix autoconf test.
27242         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
27243         whether truncl works.
27244         Reported by Rainer Tammer.
27245
27246 2010-07-30  Bruno Haible  <bruno@clisp.org>
27247
27248         round: Update regarding AIX.
27249         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
27250         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
27251         Reported by Rainer Tammer.
27252
27253 2010-07-30  Bruno Haible  <bruno@clisp.org>
27254
27255         rename: Update regarding AIX.
27256         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
27257         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
27258         Reported by Rainer Tammer.
27259
27260 2010-07-30  Bruno Haible  <bruno@clisp.org>
27261
27262         printf.m4: Update regarding AIX.
27263         * m4/printf.m4: Update comments regarding AIX.
27264         Reported by Rainer Tammer.
27265
27266 2010-07-30  Bruno Haible  <bruno@clisp.org>
27267
27268         iconv: Update regarding AIX.
27269         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
27270         AIX 7.
27271         Reported by Rainer Tammer.
27272
27273 2010-07-30  Bruno Haible  <bruno@clisp.org>
27274
27275         getopt: Update regarding AIX.
27276         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
27277         no on AIX.
27278         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
27279         Reported by Rainer Tammer.
27280
27281 2010-07-30  Bruno Haible  <bruno@clisp.org>
27282
27283         ldexpl; Update regarding AIX.
27284         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
27285         on AIX 7.
27286         Reported by Rainer Tammer.
27287
27288 2010-07-30  Bruno Haible  <bruno@clisp.org>
27289
27290         frexpl: Update regarding AIX.
27291         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
27292         on AIX 7.
27293         Reported by Rainer Tammer.
27294
27295 2010-07-30  Bruno Haible  <bruno@clisp.org>
27296
27297         open, fopen: Update regarding AIX.
27298         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
27299         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
27300         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
27301         * doc/posix-functions/fopen.texi: Likewise.
27302         Reported by Rainer Tammer.
27303
27304 2010-07-30  Bruno Haible  <bruno@clisp.org>
27305
27306         chown: Update doc regarding AIX.
27307         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
27308         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
27309         Reported by Rainer Tammer.
27310
27311 2010-07-30  Eric Blake  <eblake@redhat.com>
27312
27313         strtod: fix bug in replacement function on AIX
27314         * lib/strtod.c (strtod): Special case broken "0x" parse in
27315         underlying strtod.
27316         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
27317         * doc/posix-functions/strtod.texi (strtod): Likewise.
27318         Reported by Rainer Tammer.
27319
27320 2010-07-30  Bruno Haible  <bruno@clisp.org>
27321
27322         mbrlen: Fix cross-compilation guess for AIX.
27323         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
27324         guess. Leftover from 2008-12-22.
27325
27326 2010-07-30  Bruno Haible  <bruno@clisp.org>
27327
27328         mbrtowc: Fix cross-compilation guess for AIX.
27329         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
27330         guess. Leftover from 2008-12-21.
27331
27332 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
27333
27334         init.sh: work around trap limitation of some shells
27335         * tests/init.sh (setup_): Move exit trap outside of shell function.
27336
27337 2010-07-29  Eric Blake  <eblake@redhat.com>
27338
27339         strtod: aid debugging
27340         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
27341         understanding why strtod is rejected.
27342
27343 2010-07-28  Bruno Haible  <bruno@clisp.org>
27344
27345         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
27346         * lib/unistr/u8-chr.c: Include <string.h>.
27347         * tests/unistr/test-u8-chr.c: Likewise.
27348         * tests/unistr/test-u16-chr.c: Likewise.
27349         * tests/unistr/test-u32-chr.c: Likewise.
27350         * tests/unistr/test-u8-strchr.c: Likewise.
27351         * tests/unistr/test-u16-strchr.c: Likewise.
27352         * tests/unistr/test-u32-strchr.c: Likewise.
27353         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
27354         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
27355         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
27356         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
27357
27358 2010-07-28  Bruno Haible  <bruno@clisp.org>
27359
27360         Use spaces for indentation, not tabs.
27361         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
27362
27363 2010-07-27  Bruno Haible  <bruno@clisp.org>
27364
27365         mbspcasecmp: Fix function specification.
27366         * lib/string.in.h (mbspcasecmp): Fix specification comment.
27367         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
27368         Reported by Eric Blake <eblake@redhat.com>.
27369
27370 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
27371
27372         timespec: use cast and not conditional, as truncation isn't possible
27373         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
27374         instead of a conditional.  Comment about the situation in more detail.
27375         This undoes most of the 2009-10-29 patch.
27376
27377 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
27378
27379         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
27380         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
27381         * lib/unistr/u8-strchr.c: Likewise.
27382         * modules/unistr/u8-chr: Depend on memchr.
27383
27384         unistr/u*-strchr: add tests
27385         * modules/unistr/u8-strchr-tests: New file.
27386         * modules/unistr/u16-strchr-tests: New file.
27387         * modules/unistr/u32-strchr-tests: New file.
27388         * tests/unistr/test-strchr.h: New file.
27389         * tests/unistr/test-u8-strchr.c: New file.
27390         * tests/unistr/test-u16-strchr.c: New file.
27391         * tests/unistr/test-u32-strchr.c: New file.
27392
27393         unistr/u*-chr: test multibyte sequences more
27394         * tests/unistr/test-chr.h: Do complete testing of the characters in the
27395         test vector.
27396         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
27397         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
27398         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
27399
27400         unistr/u*-chr: test multibyte sequences
27401         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
27402
27403         unistr/u*-chr: prepare for multibyte tests
27404         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
27405         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
27406         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
27407         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
27408         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
27409         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
27410
27411 2010-07-18  Bruno Haible  <bruno@clisp.org>
27412
27413         unistr/u8-strchr: Optimize non-ASCII argument case.
27414         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
27415         because the first byte often matches anyway.
27416         Reported by Pádraig Brady <P@draigbrady.com>.
27417
27418 2010-07-15  Karl Berry  <karl@gnu.org>
27419
27420         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
27421
27422 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
27423
27424         getcwd: on Solaris, work better if ancestors are inaccessible
27425         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
27426         buffer and size, try again with a large buffer.  This works better
27427         on Solaris, since its getcwd succeeds even if the path to the root
27428         is inaccessible, and this is helpful in common cases such as .zfs
27429         hidden directories.  Problem reported by J Chapman Flack in
27430         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
27431         Use system getcwd if it's declared, not merely if it's partly
27432         working; use the partly-working test only to avoid needless effort
27433         if the system getcwd fails.
27434         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
27435         comment that was already obsolete and is now even more obsolete.
27436         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
27437         now might call strdup.
27438
27439 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
27440
27441         pthread: Add enough so that coreutils/src/sort.c compiles.
27442         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
27443         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
27444         gnulib. Include <sched.h> and <time.h>, as per POSIX.
27445         Include <sys/types.h>, in case it defines pthread_t.
27446         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
27447         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
27448         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
27449         (pthread_rwlockattr_t, pthread_spinlock_t):
27450         New typedefs, if HAVE_PTHREAD_T is not defined.
27451         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
27452         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
27453         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
27454         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
27455         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
27456         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
27457         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
27458         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
27459         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
27460         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
27461         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
27462         New macros.
27463         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
27464         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
27465         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
27466         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
27467         (pthread_spin_unlock): New dummy functions.
27468         (pthread_create): Return EAGAIN; don't set errno.
27469         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
27470         require AC_C_INLINE.
27471         * modules/pthread (Depends-on): Add sched, time.
27472         (pthread.h): Use AM_V_GEN.
27473
27474 2010-07-13  Bruno Haible  <bruno@clisp.org>
27475
27476         striconveh: Don't malloc memory if the result buffer is sufficient.
27477         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
27478         buffer if its size is sufficient.
27479         Reported by Ludovic Courtès <ludo@gnu.org>.
27480
27481 2010-07-13  Bruno Haible  <bruno@clisp.org>
27482
27483         strtod: Add safety check.
27484         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
27485
27486 2010-07-12  Bruno Haible  <bruno@clisp.org>
27487
27488         Unify tests that set gl_cv_func_ldexpl_no_libm.
27489         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
27490         gl_FUNC_LDEXPL.
27491         (gl_FUNC_LDEXPL): Invoke it.
27492         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
27493
27494 2010-07-12  Bruno Haible  <bruno@clisp.org>
27495
27496         Unify tests that set gl_cv_func_ldexp_no_libm.
27497         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
27498         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
27499         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
27500         (configure.ac): Simply invoke gl_FUNC_LDEXP.
27501         * modules/strtod (Files): Add m4/ldexp.m4.
27502
27503 2010-07-12  Bruno Haible  <bruno@clisp.org>
27504
27505         Unify tests that set gl_cv_func_frexpl_no_libm.
27506         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
27507         gl_FUNC_FREXPL_NO_LIBM.
27508         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
27509         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
27510
27511 2010-07-12  Bruno Haible  <bruno@clisp.org>
27512
27513         Unify tests that set gl_cv_func_frexp_no_libm.
27514         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
27515         gl_FUNC_FREXP_NO_LIBM.
27516         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
27517         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
27518
27519 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
27520
27521         memcoll: clarify sizes versus lengths, document better, and tweak perf
27522         * lib/memcoll.c (strcoll_loop, memcoll0):
27523         Improve quality of descriptive comments.  Name variables
27524         consistently as to whether they are lengths (which do not include
27525         terminating null) versus sizes (which do).
27526         * lib/xmemcoll.c (xmemcoll0): Likewise.
27527         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
27528         returned when s1size == 0; this is easier to compile and saves
27529         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
27530
27531 2010-07-12  Bruno Haible  <bruno@clisp.org>
27532
27533         Tests for module '_Exit'.
27534         * modules/_Exit-tests: New file.
27535         * tests/test-_Exit.sh: New file.
27536         * tests/test-_Exit.c: New file.
27537
27538         New module '_Exit'.
27539         * lib/stdlib.in.h (__attribute__): New macro.
27540         (_Exit): New declaration.
27541         * lib/_Exit.c: New file.
27542         * m4/_Exit.m4: New file.
27543         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
27544         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
27545         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
27546         * modules/_Exit: New file.
27547         * tests/test-stdlib-c++.cc (_Exit): Check signature.
27548         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
27549
27550 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
27551
27552         strtod: make it more-accurate typically, and don't require libm
27553         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
27554         Include limits.h.  Don't include string.h.
27555         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
27556         (locale_isspace): New function, so that no casts are needed to
27557         check whether *s is a space.
27558         (ldexp): Provide an unused dummy if not available.
27559         (scale_radix_exp, parse_number, underlying_strtod): New functions.
27560         (strtod): Use them.  This implementation prefers to use the
27561         underlying strtod if available, falling back on our own code
27562         only to fix known bugs.  This is more likely to produce an
27563         accurate result.  Also, it avoids the use of libm functions.
27564         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
27565         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
27566         was absent, but it caused a test failure with coreutils.
27567         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
27568         with libm.
27569         * modules/strtod (Makefile.am, Link): libm is no longer needed.
27570         * modules/strtod-tests (Makefile.am): Likewise.
27571
27572 2010-07-11  Pádraig Brady  <P@draigBrady.com>
27573             Bruno Haible  <bruno@clisp.org>
27574
27575         unistr/u8-strchr: Optimize ASCII argument case.
27576         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
27577
27578 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
27579
27580         (x)memcoll: minor tweaks
27581         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
27582         is after the type that it qualifies.
27583         (memcoll0): Likewise.
27584         * lib/memcoll.h (memcoll0): Likewise.
27585         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
27586         * lib/xmemcoll.h (xmemcoll0): Likewise.
27587         * lib/memcoll.c (memcoll0): Correct the comment.  This function
27588         differs from memcoll in that the NUL byte is part of the argument.
27589         Omit the abort-checks, as performance is a real issue here.  Plus,
27590         the checks were wrong anyway (an off-by-one error).  Omit local
27591         variable 'diff', as it's a bit clearer that way.
27592         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
27593         no longer needed.
27594
27595 2010-07-08  Chen Guo <chenguo4@yahoo.com>
27596
27597         (x)memcoll: speedup when input is known to be NUL delimited
27598         * lib/memcoll.c: Include stdlib.
27599         (memcoll0): New function.
27600         (strcoll_loop): New function, refactored for use in both memcoll
27601         and memcoll0.
27602         * lib/memcoll.h (memcoll0): Add prototype.
27603         * lib/xmemcoll.c (xmemcoll0): New function.
27604         (collate_error): New function, refactored for use in both xmemcoll
27605         and xmemcoll0.
27606         * lib/xmemcoll.h (xmemcoll0): Add prototype.
27607         * m4/memcoll.m4: add inline invocation.
27608
27609 2010-07-06  Pádraig Brady  <P@draigBrady.com>
27610
27611         * build-aux/bootstrap: Remove any local translations
27612         from the translation project synchronization directory,
27613         so that local only translations are not distributed.
27614
27615 2010-07-04  Bruno Haible  <bruno@clisp.org>
27616
27617         fsusage: Clarify which code applies to which platforms.
27618         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
27619         platform.
27620         * lib/fsusage.c (get_fs_usage): Likewise.
27621
27622 2010-07-04  Bruno Haible  <bruno@clisp.org>
27623
27624         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
27625         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
27626         Reported by Martin Lambers <marlam@marlam.de>.
27627
27628 2010-07-04  Jim Meyering  <meyering@redhat.com>
27629
27630         hash: once again explicitly disallow insertion of NULL
27631         * lib/hash.c (hash_insert0): Reinstate just-removed test:
27632         inserting a NULL pointer cannot work with these functions.
27633         Add a comment with details.
27634         This reverts part of the 2010-07-01 commit, 5bef1a35
27635         "hash: extend module to deal with non-pointer keys".
27636
27637 2010-07-01  Bruno Haible  <bruno@clisp.org>
27638
27639         stdbool: Update doc.
27640         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
27641         Info from Christian Weisgerber <naddy@mips.inka.de>.
27642
27643 2010-07-01  Jim Meyering  <meyering@redhat.com>
27644
27645         hash: extend module to deal with non-pointer keys
27646         * lib/hash.c (hash_insert0): New interface, much like hash_insert
27647         but that allows insertion of non-pointer entries.
27648         Do not disallow an ENTRY value of NULL.
27649         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
27650         * lib/hash.h (hash_insert0): Declare.
27651
27652 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
27653
27654         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
27655         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
27656         not present (i.e. with autoconf 2.59 and when using gettextize, not
27657         gnulib), require AC_GNU_SOURCE instead.
27658
27659 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
27660
27661         idpriv-drop: Fix tests.
27662         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
27663         not to the test-idpriv-droptemp program.
27664
27665 2010-06-29  Bruno Haible  <bruno@clisp.org>
27666
27667         string: Fix syntax error with g++ 2.96.
27668         * lib/string.in.h (__pure__): Remove definition.
27669         (_GL_ATTRIBUTE_PURE): New macro.
27670         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
27671         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
27672         Reported by Christian Weisgerber <naddy@mips.inka.de>.
27673
27674 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
27675
27676         unitypes: Fix bug introduced on 2010-05-18.
27677         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
27678
27679 2010-06-22  Eric Blake  <eblake@redhat.com>
27680
27681         memmem: slight optimization
27682         * lib/str-two-way.h (critical_factorization): Update comments.
27683         Reduce work during factorization phase.
27684         Reported by Carlos Bueno <carlos@bueno.org>.
27685
27686 2010-06-21  Bruno Haible  <bruno@clisp.org>
27687
27688         Fix HAVE_CALLOC_POSIX misnomer.
27689         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
27690         !HAVE_CALLOC_POSIX.
27691         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
27692         HAVE_CALLOC_POSIX.
27693         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
27694         instead of HAVE_CALLOC_POSIX.
27695         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
27696         HAVE_CALLOC_POSIX.
27697
27698         Use modern idiom for calloc() replacement.
27699         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
27700         AC_FUNC_CALLOC.
27701         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
27702         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
27703         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
27704         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
27705         (gl_REPLACE_CALLOC): New macro.
27706
27707 2010-06-21  Bruno Haible  <bruno@clisp.org>
27708
27709         Fix HAVE_REALLOC_POSIX misnomer.
27710         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
27711         !HAVE_REALLOC_POSIX.
27712         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
27713         HAVE_REALLOC_POSIX.
27714         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
27715         instead of HAVE_REALLOC_POSIX.
27716         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
27717         HAVE_REALLOC_POSIX.
27718
27719         Use modern idiom for realloc() replacement.
27720         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
27721         AC_FUNC_REALLOC.
27722         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
27723         Autoconf's AC_FUNC_REALLOC.
27724         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
27725         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
27726         (gl_REPLACE_REALLOC): New macro.
27727         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
27728
27729 2010-06-21  Bruno Haible  <bruno@clisp.org>
27730
27731         Fix HAVE_MALLOC_POSIX misnomer.
27732         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
27733         !HAVE_MALLOC_POSIX.
27734         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
27735         HAVE_MALLOC_POSIX.
27736         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
27737         instead of HAVE_MALLOC_POSIX.
27738         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
27739         HAVE_MALLOC_POSIX.
27740
27741         Use modern idiom for malloc() replacement.
27742         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
27743         AC_FUNC_MALLOC.
27744         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
27745         Autoconf's AC_FUNC_MALLOC.
27746         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
27747         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
27748         (gl_REPLACE_MALLOC): New macro.
27749         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
27750
27751 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
27752
27753         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
27754         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
27755         This macro takes 3 arguments, not 4.
27756
27757 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
27758
27759         ipv6: fix detection under mingw
27760         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
27761         in6_addr.
27762
27763 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
27764
27765         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
27766         that strtod() works when cross-compiling to a glibc version known
27767         to work.
27768
27769 2010-06-15  Bruno Haible  <bruno@clisp.org>
27770
27771         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
27772
27773 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
27774
27775         select: Correct timeout.
27776         * lib/select.c (rpl_select): Compute wait_timeout correctly.
27777
27778 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
27779
27780         git-version-gen: init shell var to avoid env var influence
27781         * build-aux/git-version-gen (v): Init shell var to empty.
27782
27783 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
27784
27785         priv-set: Don't assume that priv.h exists merely because getppriv does.
27786         See Jan Andersen's bug report about AIX 5L in
27787         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
27788         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
27789         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
27790         * lib/priv-set.h: Likewise.
27791         * tests/test-priv-set.c: Likewise.
27792
27793 2010-06-13  Bruno Haible  <bruno@clisp.org>
27794
27795         relocatable: Make it easier to test whether to install wrappers.
27796         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
27797         RELOCATABLE_VIA_WRAPPER.
27798
27799 2010-06-13  Bruno Haible  <bruno@clisp.org>
27800
27801         gnulib-tool: Display specified modules and dependencies differently.
27802         * gnulib-tool (func_show_module_list): New function.
27803         (func_import, func_create_testdir): Invoke it.
27804         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
27805
27806 2010-06-13  Bruno Haible  <bruno@clisp.org>
27807
27808         gnulib-tool: Align code of func_import and func_create_testdir.
27809         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
27810         specified_modules.
27811
27812 2010-06-12  Jim Meyering  <meyering@redhat.com>
27813
27814         test-inttostr: avoid spurious failure on Solaris 9
27815         * tests/test-inttostr.c (main): Skip the test when snprintf fails
27816         to accept "%ju".  Reported by Bruno Haible.
27817
27818 2010-06-11  Jim Meyering  <meyering@redhat.com>
27819
27820         test-sys_socket: mark variables as used more readably
27821         * tests/test-sys_socket.c (main): Mark otherwise unused variables
27822         as "used" explicitly via (void) statement casts.  This is more
27823         readable than using them in an artificial return expression.
27824         Suggestion from Bruno Haible.
27825
27826 2010-06-11  Bruno Haible  <bruno@clisp.org>
27827
27828         Avoid some more warnings from "gcc -Wwrite-strings".
27829         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
27830         to 'const char *'.
27831         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
27832         * tests/test-c-strcasestr.c (main): Likewise.
27833         * tests/test-mbscasestr1.c (main): Likewise.
27834         * tests/test-mbscasestr2.c (main): Likewise.
27835         * tests/test-memmem.c (main): Likewise.
27836         * tests/test-strstr.c (main): Likewise.
27837         * tests/test-strcasestr.c (main): Likewise.
27838
27839 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27840
27841         init.sh: change framework_failure_ to fail with status 99, not 1
27842         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
27843         automake's parallel-tests rule that this is an unexpected failure,
27844         even if the test is listed in XFAIL_TESTS.
27845
27846 2010-06-11  Jim Meyering  <meyering@redhat.com>
27847
27848         test-inttostr: avoid warnings about 4-6KB literal strings
27849         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
27850         Include "macros.h", for its definition of ASSERT.
27851         (CK): s/assert/ASSERT/
27852         * modules/inttostr-tests (Files): Add macros.h.
27853
27854         init.sh: don't use $ME_ or skip_ before they are defined
27855         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
27856         their first uses.  Also hoist their companions: warn_, fail_,
27857         framework_failure_, $stderr_fileno.  Prompted by a patch from
27858         Stefano Lattarini.
27859
27860         test-sys_socket: avoid set-but-not-used warnings from gcc
27861         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
27862         avoid warning about set-but-not-used variables.
27863
27864         test-xvasprintf: avoid 'const' discard warnings
27865         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
27866         "const" when assigning from literal strings.
27867         (test_xasprintf): Add "void" in function argument list to placate
27868         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
27869
27870         tests: avoid compilation warnings in argmatch and exclude tests...
27871         in packages that define ARGMATCH_DIE_DECL, like coreutils.
27872         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
27873         Since it always exits, declare with the "noreturn" attribute.
27874         * tests/test-argmatch.c: Likewise.
27875
27876         tests: avoid 'const' discard warnings in mbsstr tests
27877         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
27878         * tests/test-mbsstr2.c (main): Likewise.
27879
27880         test-verify: avoid warning from gcc's -Wmissing-declarations
27881         * tests/test-verify.c (function): Declare to be static.
27882
27883         test-inttostr.c: include <string.h> for use of strcmp
27884         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
27885
27886         test-linkat: avoid failed assertion on "other" architectures
27887         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
27888         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
27889         sparc: https://bugs.launchpad.net/bugs/591968
27890
27891 2010-06-11  Jim Meyering  <meyering@redhat.com>
27892
27893         printf.m4: avoid autoconf's "Expanded Before Required" warning
27894         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
27895         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
27896         autoconf warning.
27897
27898 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
27899
27900         Replacement header templates are now named with ".in", not "_".
27901         * doc/gnulib-intro.texi: Correct.
27902
27903 2010-06-10  Jim Meyering  <meyering@redhat.com>
27904
27905         inttostr-tests: depend on snprintf, not snprintf-posix
27906         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
27907         snprintf-posix, to avoid this aclocal failure:
27908           missing file gnulib-tests/vasnprintf.c
27909           configure.ac:45: error: expected source file, required through \
27910           AC_LIBSOURCES, not found
27911
27912 2010-06-10  Jim Meyering  <meyering@redhat.com>
27913
27914         inttostr: add a new function, inttostr, and tests
27915         The namesake function was not available.  The existence of the
27916         template file, inttostr.c makes its addition nontrivial.
27917         * lib/anytostr.c: Rename from inttostr.c.
27918         (anytostr): Rename from inttostr.
27919         * lib/inttostr.c: New file.
27920         * modules/inttostr (Files): Add anytostr.c.
27921         (Makefile.am): Set lib_SOURCES instead of ...
27922         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
27923         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
27924         * lib/offtostr.c: Likewise.
27925         * lib/uinttostr.c: Likewise.
27926         * lib/umaxtostr.c: Likewise.
27927         * modules/inttostr-tests: New file.
27928         * tests/test-inttostr.c: New file.  Test these functions.
27929
27930 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
27931             Bruno Haible  <bruno@clisp.org>
27932
27933         Add "Extending Gnulib" chapter to manual.
27934         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
27935         chapter.
27936         (Extending Gnulib): New chapter.
27937         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
27938         chapter.
27939
27940 2010-06-09  Bruno Haible  <bruno@clisp.org>
27941
27942         Avoid relocwrapper link errors due to gnulib replacement functions.
27943         * lib/areadlink.c: Use the system's malloc, realloc functions.
27944         (areadlink): Set errno to ENOMEM explicitly.
27945         * modules/areadlink (Depends-on): Remove malloc-posix.
27946         Reported by Ben Pfaff <blp@cs.stanford.edu>.
27947
27948 2010-06-09  Bruno Haible  <bruno@clisp.org>
27949
27950         Avoid relocwrapper link errors due to gnulib replacement functions.
27951         * lib/canonicalize-lgpl.c: Use the system's malloc function.
27952         * lib/malloca.c: Likewise.
27953         * lib/relocatable.c: Likewise.
27954         * lib/progreloc.c: Use the system's malloc, sprintf functions.
27955         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
27956         * lib/setenv.c: Use the system's malloc, realloc functions.
27957         * lib/strerror.c: Use the system's sprintf function.
27958         Reported by Ben Pfaff <blp@cs.stanford.edu>.
27959
27960 2010-06-04  Bruno Haible  <bruno@clisp.org>
27961
27962         Prefer documented low-level autoconf macro names.
27963         * m4/lib-link.m4: Use m4_translit instead of translit.
27964         * m4/environ.m4: Likewise.
27965         * m4/mathfunc.m4: Likewise.
27966         * m4/onceonly.m4: Likewise.
27967         * m4/stdint.m4: Likewise.
27968         Suggested by Eric Blake.
27969
27970 2010-06-04  Martin Lambers  <marlam@marlam.de>
27971             Bruno Haible  <bruno@clisp.org>
27972
27973         havelib: Allow library names with '+' characters.
27974         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
27975         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
27976
27977 2010-06-09  Bruno Haible  <bruno@clisp.org>
27978
27979         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
27980         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
27981         realloc failed.
27982
27983 2010-06-08  Peter Simons  <simons@cryp.to>
27984
27985         maint.mk: make the news-check rule more configurable
27986         * top/maint.mk (news-check-lines-spec): New variable.
27987         (news-check): Use "sed -n 1,10p" in place of "head".
27988
27989 2010-06-07  Jim Meyering  <meyering@redhat.com>
27990
27991         do-release-commit-and-tag: fix typo in --help
27992         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
27993
27994         regex: avoid new dead-code warning with gcc-4.6.0
27995         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
27996         if-block containing a while-loop.  It's been unused for at least
27997         5 years.
27998
27999 2010-06-05  Bruno Haible  <bruno@clisp.org>
28000
28001         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
28002         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
28003
28004 2010-06-04  Bruno Haible  <bruno@clisp.org>
28005
28006         Update to GNU gettext 0.18.1.
28007         * modules/gettext (configure.ac): Require gettext infrastructure from
28008         version 0.18.1.
28009
28010 2010-06-03  Bruno Haible  <bruno@clisp.org>
28011
28012         Don't use AC_LIBOBJ with file names in subdirectories.
28013         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
28014         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
28015         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
28016         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
28017         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
28018         gl_LIBUNISTRING_LIBSOURCE.
28019         (Makefile.am): Augment lib_SOURCES here, conditionally.
28020         * NEWS: Drop requirement for Automake option 'subdir-objects'.
28021
28022 2010-06-03  Bruno Haible  <bruno@clisp.org>
28023
28024         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
28025         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
28026         expansion does not end with a newline.
28027         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
28028         unnecessary newline.
28029
28030 2010-06-03  Bruno Haible  <bruno@clisp.org>
28031
28032         Reduce dependencies.
28033         * tests/test-quotearg.h: New file, extracted from
28034         tests/test-quotearg.c.
28035         * tests/test-quotearg-simple.c: New file, extracted from
28036         tests/test-quotearg.c.
28037         * tests/test-quotearg.c: Don't include <ctype.h>.
28038         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
28039         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
28040         use_quote_double_quotes, use_quotearg_colon): Moved to
28041         tests/test-quotearg.h.
28042         (results_g, flag_results, custom_quotes, custom_results): Moved
28043         to tests/test-quotearg-simple.c.
28044         (main): Moved the part that does not depend on gettext to
28045         tests/test-quotearg-simple.c. Return 77 if the test cannot be
28046         performed.
28047         * modules/quotearg-simple: New file.
28048         * modules/quotearg-simple-tests: New file.
28049         * modules/quotearg (Depends-on): Add quotearg-simple.
28050         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
28051         (Files): Add tests/test-quotearg.h.
28052         Reported by Paolo Bonzini.
28053
28054 2010-06-03  Bruno Haible  <bruno@clisp.org>
28055
28056         Reduce dependencies.
28057         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
28058
28059 2010-06-03  Bruno Haible  <bruno@clisp.org>
28060
28061         time: Undefine more broken macros.
28062         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
28063         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
28064         Reported by Eric Blake.
28065
28066 2010-06-03  Bruno Haible  <bruno@clisp.org>
28067
28068         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
28069         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
28070         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
28071         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
28072         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
28073         Reported by Ludovic Courtès <ludo@gnu.org>.
28074
28075 2010-06-02  Eric Blake  <eblake@redhat.com>
28076
28077         time: work with mingw + pthreads-win32 library
28078         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
28079         if timespec is defined only in pthread.h.
28080         * modules/time (Makefile.am): Substitute it.
28081         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
28082         <pthread.h>, when needed.
28083         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
28084         from the library.
28085
28086 2010-05-31  Bruno Haible  <bruno@clisp.org>
28087
28088         Avoid expanding two macros in the wrong order.
28089         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
28090         gl_LIBUNISTRING if it is defined.
28091         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
28092         autoconf >= 2.64.
28093         Reported by Ludovic Courtès <ludo@gnu.org>.
28094
28095 2010-05-27  Jim Meyering  <meyering@redhat.com>
28096
28097         maint.mk: also prohibit "#undef" of always-defined symbols
28098         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
28099         Allow more than one space before the symbol name.
28100         (sc_prohibit_always-defined_macros): Use grep's -E, now that
28101         the regexp uses alternation.
28102
28103 2010-05-26  Eric Blake  <eblake@redhat.com>
28104
28105         maint.mk: avoid echo -e
28106         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
28107         Convert all uses of echo -* to printf.
28108         Reported by Matthias Bolte.
28109
28110 2010-05-25  Bruno Haible  <bruno@clisp.org>
28111
28112         Update to GNU gettext 0.18, part 2.
28113         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
28114         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
28115
28116 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28117
28118         Add missing include in test-pwrite.c.
28119         * tests/test-pwrite.c: Include string.h, for strcmp.
28120
28121 2010-05-24  Bruno Haible  <bruno@clisp.org>
28122
28123         * NEWS: Mention requirement for Automake option 'subdir-objects'.
28124
28125 2010-05-24  Bruno Haible  <bruno@clisp.org>
28126
28127         Don't use conversion with transliteration in u{8,16,32}_strcoll.
28128         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
28129         iconveh_error argument.
28130         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
28131         U_STRCONV_TO_LOCALE.
28132         * lib/unistr/u16-strcoll.c: Likewise.
28133         * lib/unistr/u32-strcoll.c: Likewise.
28134         * modules/unistr/u8-strcoll (Depends-on): Add
28135         uniconv/u8-strconv-to-enc, localcharset. Remove
28136         uniconv/u8-strconv-to-locale.
28137         (configure.ac): Bump version number.
28138         * modules/unistr/u16-strcoll (Depends-on): Add
28139         uniconv/u16-strconv-to-enc, localcharset. Remove
28140         uniconv/u16-strconv-to-locale.
28141         (configure.ac): Bump version number.
28142         * modules/unistr/u32-strcoll (Depends-on): Add
28143         uniconv/u32-strconv-to-enc, localcharset. Remove
28144         uniconv/u32-strconv-to-locale.
28145         (configure.ac): Bump version number.
28146
28147 2010-05-24  Bruno Haible  <bruno@clisp.org>
28148
28149         Avoid a test failure on NetBSD 5.0.
28150         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
28151         an iconv() bug.
28152
28153 2010-05-24  Bruno Haible  <bruno@clisp.org>
28154
28155         Adjust #include directive style.
28156         * modules/regex (Includes): Recommend to write <regex.h>.
28157
28158 2010-05-24  Bruno Haible  <bruno@clisp.org>
28159
28160         regex: Don't require alloca.
28161         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
28162         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
28163         only inside if (0).
28164
28165 2010-05-23  Jim Meyering  <meyering@redhat.com>
28166
28167         test-renameat.c: include <sys/stat.h>
28168         * tests/test-renameat.c: Include <sys/stat.h>; required for
28169         definition of S_IS* macros.
28170
28171 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
28172
28173         Update maintainer documentation for 'relocatable-prog' module.
28174         * doc/relocatable-maint.texi: Update.
28175         Comments by Bruno Haible.
28176
28177 2010-05-23  Bruno Haible  <bruno@clisp.org>
28178
28179         git-merge-changelog: Enable --split-merged-entry by default.
28180         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
28181         (usage): Don't mention this option any more.
28182         Reported by Ralf Wildenhues.
28183
28184 2010-05-23  Jim Meyering  <meyering@redhat.com>
28185
28186         test-pwrite: do not leave behind a test file named "out"
28187         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
28188         The trivial-looking use of init.sh is really necessary.
28189         It ensures that the temporary file, "out", is created in
28190         a temporary directory, and removed upon termination.
28191         * tests/test-pwrite.sh: Re-add file.
28192         * modules/pwrite-tests: Reference it.
28193
28194 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28195
28196         Fix output redirection buglet in init.sh.
28197         * tests/init.sh: Fix redirection of stderr.
28198
28199 2010-05-20  Simon Josefsson  <simon@josefsson.org>
28200
28201         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
28202
28203 2010-05-17  Simon Josefsson  <simon@josefsson.org>
28204
28205         * modules/valgrind-tests: New file.
28206         * m4/valgrind-tests.m4: New file.
28207         * doc/valgrind-tests.texi: New file.
28208         * doc/gnulib.texi (Running self-tests under valgrind): New
28209         section.
28210
28211 2010-05-19  Bruno Haible  <bruno@clisp.org>
28212
28213         Clean up dead code in recent commit.
28214         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
28215         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
28216         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
28217         Suggested by Paolo Bonzini.
28218
28219 2010-05-19  Bruno Haible  <bruno@clisp.org>
28220
28221         Avoid valgrind error reports from libunistring.
28222         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
28223         * modules/libunistring (Files): Add it.
28224         * modules/libunistring-optional (Files): Likewise.
28225
28226 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
28227             Bruno Haible  <bruno@clisp.org>
28228
28229         New module 'libunistring-optional'.
28230         * modules/libunistring-optional: New file.
28231         * m4/libunistring-base.m4: New file.
28232         * m4/libunistring-optional.m4: New file.
28233         * lib/unicase.in.h: Renamed from lib/unicase.h.
28234         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
28235         * lib/unictype.in.h: Renamed from lib/unictype.h.
28236         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
28237         * lib/uniname.in.h: Renamed from lib/uniname.h.
28238         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
28239         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
28240         * lib/unistr.in.h: Renamed from lib/unistr.h.
28241         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
28242         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
28243         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
28244         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
28245         gl_LIBUNISTRING. If the library was found, determine the installed
28246         version and set LIBUNISTRING_VERSION.
28247         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
28248         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
28249         handle a configuration option --with-included-libunistring.
28250         * modules/libunistring (Files): Add m4/absolute-header.m4.
28251         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
28252         Add m4/libunistring-base.m4.
28253         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28254         (Makefile.am): Build unicase.h from unicase.in.h.
28255         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
28256         Add m4/libunistring-base.m4.
28257         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28258         (Makefile.am): Build uniconv.h from uniconv.in.h.
28259         * modules/unictype/base (Files): Use unictype.in.h instead of
28260         unictype.h. Add m4/libunistring-base.m4.
28261         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28262         (Makefile.am): Build unictype.h from unictype.in.h.
28263         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
28264         Add m4/libunistring-base.m4.
28265         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28266         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
28267         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
28268         Add m4/libunistring-base.m4.
28269         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28270         (Makefile.am): Build uniname.h from uniname.in.h.
28271         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
28272         Add m4/libunistring-base.m4.
28273         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28274         (Makefile.am): Build uninorm.h from uninorm.in.h.
28275         * modules/unistdio/base (Files): Use unistdio.in.h instead of
28276         unistdio.h. Add m4/libunistring-base.m4.
28277         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28278         (Makefile.am): Build unistdio.h from unistdio.in.h.
28279         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
28280         Add m4/libunistring-base.m4.
28281         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28282         (Makefile.am): Build unistr.h from unistr.in.h.
28283         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
28284         Add m4/libunistring-base.m4.
28285         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28286         (Makefile.am): Build unitypes.h from unitypes.in.h.
28287         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
28288         Add m4/libunistring-base.m4.
28289         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28290         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
28291         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
28292         uniwidth.h. Add m4/libunistring-base.m4.
28293         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28294         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
28295         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
28296         instead of augmenting lib_SOURCES.
28297         * modules/unicase/empty-suffix-context: Likewise.
28298         * modules/unicase/locale-language: Likewise.
28299         * modules/unicase/tolower: Likewise.
28300         * modules/unicase/totitle: Likewise.
28301         * modules/unicase/toupper: Likewise.
28302         * modules/unicase/u8-casecmp: Likewise.
28303         * modules/unicase/u8-casecoll: Likewise.
28304         * modules/unicase/u8-casefold: Likewise.
28305         * modules/unicase/u8-casexfrm: Likewise.
28306         * modules/unicase/u8-ct-casefold: Likewise.
28307         * modules/unicase/u8-ct-tolower: Likewise.
28308         * modules/unicase/u8-ct-totitle: Likewise.
28309         * modules/unicase/u8-ct-toupper: Likewise.
28310         * modules/unicase/u8-is-cased: Likewise.
28311         * modules/unicase/u8-is-casefolded: Likewise.
28312         * modules/unicase/u8-is-lowercase: Likewise.
28313         * modules/unicase/u8-is-titlecase: Likewise.
28314         * modules/unicase/u8-is-uppercase: Likewise.
28315         * modules/unicase/u8-prefix-context: Likewise.
28316         * modules/unicase/u8-suffix-context: Likewise.
28317         * modules/unicase/u8-tolower: Likewise.
28318         * modules/unicase/u8-totitle: Likewise.
28319         * modules/unicase/u8-toupper: Likewise.
28320         * modules/unicase/u16-casecmp: Likewise.
28321         * modules/unicase/u16-casecoll: Likewise.
28322         * modules/unicase/u16-casefold: Likewise.
28323         * modules/unicase/u16-casexfrm: Likewise.
28324         * modules/unicase/u16-ct-casefold: Likewise.
28325         * modules/unicase/u16-ct-tolower: Likewise.
28326         * modules/unicase/u16-ct-totitle: Likewise.
28327         * modules/unicase/u16-ct-toupper: Likewise.
28328         * modules/unicase/u16-is-cased: Likewise.
28329         * modules/unicase/u16-is-casefolded: Likewise.
28330         * modules/unicase/u16-is-lowercase: Likewise.
28331         * modules/unicase/u16-is-titlecase: Likewise.
28332         * modules/unicase/u16-is-uppercase: Likewise.
28333         * modules/unicase/u16-prefix-context: Likewise.
28334         * modules/unicase/u16-suffix-context: Likewise.
28335         * modules/unicase/u16-tolower: Likewise.
28336         * modules/unicase/u16-totitle: Likewise.
28337         * modules/unicase/u16-toupper: Likewise.
28338         * modules/unicase/u32-casecmp: Likewise.
28339         * modules/unicase/u32-casecoll: Likewise.
28340         * modules/unicase/u32-casefold: Likewise.
28341         * modules/unicase/u32-casexfrm: Likewise.
28342         * modules/unicase/u32-ct-casefold: Likewise.
28343         * modules/unicase/u32-ct-tolower: Likewise.
28344         * modules/unicase/u32-ct-totitle: Likewise.
28345         * modules/unicase/u32-ct-toupper: Likewise.
28346         * modules/unicase/u32-is-cased: Likewise.
28347         * modules/unicase/u32-is-casefolded: Likewise.
28348         * modules/unicase/u32-is-lowercase: Likewise.
28349         * modules/unicase/u32-is-titlecase: Likewise.
28350         * modules/unicase/u32-is-uppercase: Likewise.
28351         * modules/unicase/u32-prefix-context: Likewise.
28352         * modules/unicase/u32-suffix-context: Likewise.
28353         * modules/unicase/u32-tolower: Likewise.
28354         * modules/unicase/u32-totitle: Likewise.
28355         * modules/unicase/u32-toupper: Likewise.
28356         * modules/unicase/ulc-casecmp: Likewise.
28357         * modules/unicase/ulc-casecoll: Likewise.
28358         * modules/unicase/ulc-casexfrm: Likewise.
28359         * modules/uniconv/u8-conv-from-enc: Likewise.
28360         * modules/uniconv/u8-conv-to-enc: Likewise.
28361         * modules/uniconv/u8-strconv-from-enc: Likewise.
28362         * modules/uniconv/u8-strconv-from-locale: Likewise.
28363         * modules/uniconv/u8-strconv-to-enc: Likewise.
28364         * modules/uniconv/u8-strconv-to-locale: Likewise.
28365         * modules/uniconv/u16-conv-from-enc: Likewise.
28366         * modules/uniconv/u16-conv-to-enc: Likewise.
28367         * modules/uniconv/u16-strconv-from-enc: Likewise.
28368         * modules/uniconv/u16-strconv-from-locale: Likewise.
28369         * modules/uniconv/u16-strconv-to-enc: Likewise.
28370         * modules/uniconv/u16-strconv-to-locale: Likewise.
28371         * modules/uniconv/u32-conv-from-enc: Likewise.
28372         * modules/uniconv/u32-conv-to-enc: Likewise.
28373         * modules/uniconv/u32-strconv-from-enc: Likewise.
28374         * modules/uniconv/u32-strconv-from-locale: Likewise.
28375         * modules/uniconv/u32-strconv-to-enc: Likewise.
28376         * modules/uniconv/u32-strconv-to-locale: Likewise.
28377         * modules/unictype/bidicategory-byname: Likewise.
28378         * modules/unictype/bidicategory-name: Likewise.
28379         * modules/unictype/bidicategory-of: Likewise.
28380         * modules/unictype/bidicategory-test: Likewise.
28381         * modules/unictype/block-list: Likewise.
28382         * modules/unictype/block-test: Likewise.
28383         * modules/unictype/category-C: Likewise.
28384         * modules/unictype/category-Cc: Likewise.
28385         * modules/unictype/category-Cf: Likewise.
28386         * modules/unictype/category-Cn: Likewise.
28387         * modules/unictype/category-Co: Likewise.
28388         * modules/unictype/category-Cs: Likewise.
28389         * modules/unictype/category-L: Likewise.
28390         * modules/unictype/category-Ll: Likewise.
28391         * modules/unictype/category-Lm: Likewise.
28392         * modules/unictype/category-Lo: Likewise.
28393         * modules/unictype/category-Lt: Likewise.
28394         * modules/unictype/category-Lu: Likewise.
28395         * modules/unictype/category-M: Likewise.
28396         * modules/unictype/category-Mc: Likewise.
28397         * modules/unictype/category-Me: Likewise.
28398         * modules/unictype/category-Mn: Likewise.
28399         * modules/unictype/category-N: Likewise.
28400         * modules/unictype/category-Nd: Likewise.
28401         * modules/unictype/category-Nl: Likewise.
28402         * modules/unictype/category-No: Likewise.
28403         * modules/unictype/category-P: Likewise.
28404         * modules/unictype/category-Pc: Likewise.
28405         * modules/unictype/category-Pd: Likewise.
28406         * modules/unictype/category-Pe: Likewise.
28407         * modules/unictype/category-Pf: Likewise.
28408         * modules/unictype/category-Pi: Likewise.
28409         * modules/unictype/category-Po: Likewise.
28410         * modules/unictype/category-Ps: Likewise.
28411         * modules/unictype/category-S: Likewise.
28412         * modules/unictype/category-Sc: Likewise.
28413         * modules/unictype/category-Sk: Likewise.
28414         * modules/unictype/category-Sm: Likewise.
28415         * modules/unictype/category-So: Likewise.
28416         * modules/unictype/category-Z: Likewise.
28417         * modules/unictype/category-Zl: Likewise.
28418         * modules/unictype/category-Zp: Likewise.
28419         * modules/unictype/category-Zs: Likewise.
28420         * modules/unictype/category-and: Likewise.
28421         * modules/unictype/category-and-not: Likewise.
28422         * modules/unictype/category-byname: Likewise.
28423         * modules/unictype/category-name: Likewise.
28424         * modules/unictype/category-none: Likewise.
28425         * modules/unictype/category-of: Likewise.
28426         * modules/unictype/category-or: Likewise.
28427         * modules/unictype/category-test: Likewise.
28428         * modules/unictype/combining-class: Likewise.
28429         * modules/unictype/ctype-alnum: Likewise.
28430         * modules/unictype/ctype-alpha: Likewise.
28431         * modules/unictype/ctype-blank: Likewise.
28432         * modules/unictype/ctype-cntrl: Likewise.
28433         * modules/unictype/ctype-digit: Likewise.
28434         * modules/unictype/ctype-graph: Likewise.
28435         * modules/unictype/ctype-lower: Likewise.
28436         * modules/unictype/ctype-print: Likewise.
28437         * modules/unictype/ctype-punct: Likewise.
28438         * modules/unictype/ctype-space: Likewise.
28439         * modules/unictype/ctype-upper: Likewise.
28440         * modules/unictype/ctype-xdigit: Likewise.
28441         * modules/unictype/decimal-digit: Likewise.
28442         * modules/unictype/digit: Likewise.
28443         * modules/unictype/mirror: Likewise.
28444         * modules/unictype/numeric: Likewise.
28445         * modules/unictype/property-alphabetic: Likewise.
28446         * modules/unictype/property-ascii-hex-digit: Likewise.
28447         * modules/unictype/property-bidi-arabic-digit: Likewise.
28448         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
28449         * modules/unictype/property-bidi-block-separator: Likewise.
28450         * modules/unictype/property-bidi-boundary-neutral: Likewise.
28451         * modules/unictype/property-bidi-common-separator: Likewise.
28452         * modules/unictype/property-bidi-control: Likewise.
28453         * modules/unictype/property-bidi-embedding-or-override: Likewise.
28454         * modules/unictype/property-bidi-eur-num-separator: Likewise.
28455         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
28456         * modules/unictype/property-bidi-european-digit: Likewise.
28457         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
28458         * modules/unictype/property-bidi-left-to-right: Likewise.
28459         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
28460         * modules/unictype/property-bidi-other-neutral: Likewise.
28461         * modules/unictype/property-bidi-pdf: Likewise.
28462         * modules/unictype/property-bidi-segment-separator: Likewise.
28463         * modules/unictype/property-bidi-whitespace: Likewise.
28464         * modules/unictype/property-byname: Likewise.
28465         * modules/unictype/property-combining: Likewise.
28466         * modules/unictype/property-composite: Likewise.
28467         * modules/unictype/property-currency-symbol: Likewise.
28468         * modules/unictype/property-dash: Likewise.
28469         * modules/unictype/property-decimal-digit: Likewise.
28470         * modules/unictype/property-default-ignorable-code-point: Likewise.
28471         * modules/unictype/property-deprecated: Likewise.
28472         * modules/unictype/property-diacritic: Likewise.
28473         * modules/unictype/property-extender: Likewise.
28474         * modules/unictype/property-format-control: Likewise.
28475         * modules/unictype/property-grapheme-base: Likewise.
28476         * modules/unictype/property-grapheme-extend: Likewise.
28477         * modules/unictype/property-grapheme-link: Likewise.
28478         * modules/unictype/property-hex-digit: Likewise.
28479         * modules/unictype/property-hyphen: Likewise.
28480         * modules/unictype/property-id-continue: Likewise.
28481         * modules/unictype/property-id-start: Likewise.
28482         * modules/unictype/property-ideographic: Likewise.
28483         * modules/unictype/property-ids-binary-operator: Likewise.
28484         * modules/unictype/property-ids-trinary-operator: Likewise.
28485         * modules/unictype/property-ignorable-control: Likewise.
28486         * modules/unictype/property-iso-control: Likewise.
28487         * modules/unictype/property-join-control: Likewise.
28488         * modules/unictype/property-left-of-pair: Likewise.
28489         * modules/unictype/property-line-separator: Likewise.
28490         * modules/unictype/property-logical-order-exception: Likewise.
28491         * modules/unictype/property-lowercase: Likewise.
28492         * modules/unictype/property-math: Likewise.
28493         * modules/unictype/property-non-break: Likewise.
28494         * modules/unictype/property-not-a-character: Likewise.
28495         * modules/unictype/property-numeric: Likewise.
28496         * modules/unictype/property-other-alphabetic: Likewise.
28497         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
28498         * modules/unictype/property-other-grapheme-extend: Likewise.
28499         * modules/unictype/property-other-id-continue: Likewise.
28500         * modules/unictype/property-other-id-start: Likewise.
28501         * modules/unictype/property-other-lowercase: Likewise.
28502         * modules/unictype/property-other-math: Likewise.
28503         * modules/unictype/property-other-uppercase: Likewise.
28504         * modules/unictype/property-paired-punctuation: Likewise.
28505         * modules/unictype/property-paragraph-separator: Likewise.
28506         * modules/unictype/property-pattern-syntax: Likewise.
28507         * modules/unictype/property-pattern-white-space: Likewise.
28508         * modules/unictype/property-private-use: Likewise.
28509         * modules/unictype/property-punctuation: Likewise.
28510         * modules/unictype/property-quotation-mark: Likewise.
28511         * modules/unictype/property-radical: Likewise.
28512         * modules/unictype/property-sentence-terminal: Likewise.
28513         * modules/unictype/property-soft-dotted: Likewise.
28514         * modules/unictype/property-space: Likewise.
28515         * modules/unictype/property-terminal-punctuation: Likewise.
28516         * modules/unictype/property-test: Likewise.
28517         * modules/unictype/property-titlecase: Likewise.
28518         * modules/unictype/property-unassigned-code-value: Likewise.
28519         * modules/unictype/property-unified-ideograph: Likewise.
28520         * modules/unictype/property-uppercase: Likewise.
28521         * modules/unictype/property-variation-selector: Likewise.
28522         * modules/unictype/property-white-space: Likewise.
28523         * modules/unictype/property-xid-continue: Likewise.
28524         * modules/unictype/property-xid-start: Likewise.
28525         * modules/unictype/property-zero-width: Likewise.
28526         * modules/unictype/scripts: Likewise.
28527         * modules/unictype/syntax-c-ident: Likewise.
28528         * modules/unictype/syntax-c-whitespace: Likewise.
28529         * modules/unictype/syntax-java-ident: Likewise.
28530         * modules/unictype/syntax-java-whitespace: Likewise.
28531         * modules/unilbrk/u8-possible-linebreaks: Likewise.
28532         * modules/unilbrk/u8-width-linebreaks: Likewise.
28533         * modules/unilbrk/u16-possible-linebreaks: Likewise.
28534         * modules/unilbrk/u16-width-linebreaks: Likewise.
28535         * modules/unilbrk/u32-possible-linebreaks: Likewise.
28536         * modules/unilbrk/u32-width-linebreaks: Likewise.
28537         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
28538         * modules/unilbrk/ulc-width-linebreaks: Likewise.
28539         * modules/uniname/uniname: Likewise.
28540         * modules/uninorm/canonical-decomposition: Likewise.
28541         * modules/uninorm/composition: Likewise.
28542         * modules/uninorm/decomposing-form: Likewise.
28543         * modules/uninorm/decomposition: Likewise.
28544         * modules/uninorm/filter: Likewise.
28545         * modules/uninorm/nfc: Likewise.
28546         * modules/uninorm/nfd: Likewise.
28547         * modules/uninorm/nfkc: Likewise.
28548         * modules/uninorm/nfkd: Likewise.
28549         * modules/uninorm/u8-normalize: Likewise.
28550         * modules/uninorm/u8-normcmp: Likewise.
28551         * modules/uninorm/u8-normcoll: Likewise.
28552         * modules/uninorm/u8-normxfrm: Likewise.
28553         * modules/uninorm/u16-normalize: Likewise.
28554         * modules/uninorm/u16-normcmp: Likewise.
28555         * modules/uninorm/u16-normcoll: Likewise.
28556         * modules/uninorm/u16-normxfrm: Likewise.
28557         * modules/uninorm/u32-normalize: Likewise.
28558         * modules/uninorm/u32-normcmp: Likewise.
28559         * modules/uninorm/u32-normcoll: Likewise.
28560         * modules/uninorm/u32-normxfrm: Likewise.
28561         * modules/unistdio/u8-asnprintf: Likewise.
28562         * modules/unistdio/u8-asprintf: Likewise.
28563         * modules/unistdio/u8-snprintf: Likewise.
28564         * modules/unistdio/u8-sprintf: Likewise.
28565         * modules/unistdio/u8-u8-asnprintf: Likewise.
28566         * modules/unistdio/u8-u8-asprintf: Likewise.
28567         * modules/unistdio/u8-u8-snprintf: Likewise.
28568         * modules/unistdio/u8-u8-sprintf: Likewise.
28569         * modules/unistdio/u8-u8-vasnprintf: Likewise.
28570         * modules/unistdio/u8-u8-vasprintf: Likewise.
28571         * modules/unistdio/u8-u8-vsnprintf: Likewise.
28572         * modules/unistdio/u8-u8-vsprintf: Likewise.
28573         * modules/unistdio/u8-vasnprintf: Likewise.
28574         * modules/unistdio/u8-vasprintf: Likewise.
28575         * modules/unistdio/u8-vsnprintf: Likewise.
28576         * modules/unistdio/u8-vsprintf: Likewise.
28577         * modules/unistdio/u16-asnprintf: Likewise.
28578         * modules/unistdio/u16-asprintf: Likewise.
28579         * modules/unistdio/u16-snprintf: Likewise.
28580         * modules/unistdio/u16-sprintf: Likewise.
28581         * modules/unistdio/u16-u16-asnprintf: Likewise.
28582         * modules/unistdio/u16-u16-asprintf: Likewise.
28583         * modules/unistdio/u16-u16-snprintf: Likewise.
28584         * modules/unistdio/u16-u16-sprintf: Likewise.
28585         * modules/unistdio/u16-u16-vasnprintf: Likewise.
28586         * modules/unistdio/u16-u16-vasprintf: Likewise.
28587         * modules/unistdio/u16-u16-vsnprintf: Likewise.
28588         * modules/unistdio/u16-u16-vsprintf: Likewise.
28589         * modules/unistdio/u16-vasnprintf: Likewise.
28590         * modules/unistdio/u16-vasprintf: Likewise.
28591         * modules/unistdio/u16-vsnprintf: Likewise.
28592         * modules/unistdio/u16-vsprintf: Likewise.
28593         * modules/unistdio/u32-asnprintf: Likewise.
28594         * modules/unistdio/u32-asprintf: Likewise.
28595         * modules/unistdio/u32-snprintf: Likewise.
28596         * modules/unistdio/u32-sprintf: Likewise.
28597         * modules/unistdio/u32-u32-asnprintf: Likewise.
28598         * modules/unistdio/u32-u32-asprintf: Likewise.
28599         * modules/unistdio/u32-u32-snprintf: Likewise.
28600         * modules/unistdio/u32-u32-sprintf: Likewise.
28601         * modules/unistdio/u32-u32-vasnprintf: Likewise.
28602         * modules/unistdio/u32-u32-vasprintf: Likewise.
28603         * modules/unistdio/u32-u32-vsnprintf: Likewise.
28604         * modules/unistdio/u32-u32-vsprintf: Likewise.
28605         * modules/unistdio/u32-vasnprintf: Likewise.
28606         * modules/unistdio/u32-vasprintf: Likewise.
28607         * modules/unistdio/u32-vsnprintf: Likewise.
28608         * modules/unistdio/u32-vsprintf: Likewise.
28609         * modules/unistdio/ulc-asnprintf: Likewise.
28610         * modules/unistdio/ulc-asprintf: Likewise.
28611         * modules/unistdio/ulc-fprintf: Likewise.
28612         * modules/unistdio/ulc-snprintf: Likewise.
28613         * modules/unistdio/ulc-sprintf: Likewise.
28614         * modules/unistdio/ulc-vasnprintf: Likewise.
28615         * modules/unistdio/ulc-vasprintf: Likewise.
28616         * modules/unistdio/ulc-vfprintf: Likewise.
28617         * modules/unistdio/ulc-vsnprintf: Likewise.
28618         * modules/unistdio/ulc-vsprintf: Likewise.
28619         * modules/unistr/u8-check: Likewise.
28620         * modules/unistr/u8-chr: Likewise.
28621         * modules/unistr/u8-cmp: Likewise.
28622         * modules/unistr/u8-cmp2: Likewise.
28623         * modules/unistr/u8-cpy: Likewise.
28624         * modules/unistr/u8-cpy-alloc: Likewise.
28625         * modules/unistr/u8-endswith: Likewise.
28626         * modules/unistr/u8-mblen: Likewise.
28627         * modules/unistr/u8-mbsnlen: Likewise.
28628         * modules/unistr/u8-mbtouc: Likewise.
28629         * modules/unistr/u8-mbtouc-unsafe: Likewise.
28630         * modules/unistr/u8-mbtoucr: Likewise.
28631         * modules/unistr/u8-move: Likewise.
28632         * modules/unistr/u8-next: Likewise.
28633         * modules/unistr/u8-prev: Likewise.
28634         * modules/unistr/u8-set: Likewise.
28635         * modules/unistr/u8-startswith: Likewise.
28636         * modules/unistr/u8-stpcpy: Likewise.
28637         * modules/unistr/u8-stpncpy: Likewise.
28638         * modules/unistr/u8-strcat: Likewise.
28639         * modules/unistr/u8-strchr: Likewise.
28640         * modules/unistr/u8-strcmp: Likewise.
28641         * modules/unistr/u8-strcoll: Likewise.
28642         * modules/unistr/u8-strcpy: Likewise.
28643         * modules/unistr/u8-strcspn: Likewise.
28644         * modules/unistr/u8-strdup: Likewise.
28645         * modules/unistr/u8-strlen: Likewise.
28646         * modules/unistr/u8-strmblen: Likewise.
28647         * modules/unistr/u8-strmbtouc: Likewise.
28648         * modules/unistr/u8-strncat: Likewise.
28649         * modules/unistr/u8-strncmp: Likewise.
28650         * modules/unistr/u8-strncpy: Likewise.
28651         * modules/unistr/u8-strnlen: Likewise.
28652         * modules/unistr/u8-strpbrk: Likewise.
28653         * modules/unistr/u8-strrchr: Likewise.
28654         * modules/unistr/u8-strspn: Likewise.
28655         * modules/unistr/u8-strstr: Likewise.
28656         * modules/unistr/u8-strtok: Likewise.
28657         * modules/unistr/u8-to-u16: Likewise.
28658         * modules/unistr/u8-to-u32: Likewise.
28659         * modules/unistr/u8-uctomb: Likewise.
28660         * modules/unistr/u16-check: Likewise.
28661         * modules/unistr/u16-chr: Likewise.
28662         * modules/unistr/u16-cmp: Likewise.
28663         * modules/unistr/u16-cmp2: Likewise.
28664         * modules/unistr/u16-cpy: Likewise.
28665         * modules/unistr/u16-cpy-alloc: Likewise.
28666         * modules/unistr/u16-endswith: Likewise.
28667         * modules/unistr/u16-mblen: Likewise.
28668         * modules/unistr/u16-mbsnlen: Likewise.
28669         * modules/unistr/u16-mbtouc: Likewise.
28670         * modules/unistr/u16-mbtouc-unsafe: Likewise.
28671         * modules/unistr/u16-mbtoucr: Likewise.
28672         * modules/unistr/u16-move: Likewise.
28673         * modules/unistr/u16-next: Likewise.
28674         * modules/unistr/u16-prev: Likewise.
28675         * modules/unistr/u16-set: Likewise.
28676         * modules/unistr/u16-startswith: Likewise.
28677         * modules/unistr/u16-stpcpy: Likewise.
28678         * modules/unistr/u16-stpncpy: Likewise.
28679         * modules/unistr/u16-strcat: Likewise.
28680         * modules/unistr/u16-strchr: Likewise.
28681         * modules/unistr/u16-strcmp: Likewise.
28682         * modules/unistr/u16-strcoll: Likewise.
28683         * modules/unistr/u16-strcpy: Likewise.
28684         * modules/unistr/u16-strcspn: Likewise.
28685         * modules/unistr/u16-strdup: Likewise.
28686         * modules/unistr/u16-strlen: Likewise.
28687         * modules/unistr/u16-strmblen: Likewise.
28688         * modules/unistr/u16-strmbtouc: Likewise.
28689         * modules/unistr/u16-strncat: Likewise.
28690         * modules/unistr/u16-strncmp: Likewise.
28691         * modules/unistr/u16-strncpy: Likewise.
28692         * modules/unistr/u16-strnlen: Likewise.
28693         * modules/unistr/u16-strpbrk: Likewise.
28694         * modules/unistr/u16-strrchr: Likewise.
28695         * modules/unistr/u16-strspn: Likewise.
28696         * modules/unistr/u16-strstr: Likewise.
28697         * modules/unistr/u16-strtok: Likewise.
28698         * modules/unistr/u16-to-u32: Likewise.
28699         * modules/unistr/u16-to-u8: Likewise.
28700         * modules/unistr/u16-uctomb: Likewise.
28701         * modules/unistr/u32-check: Likewise.
28702         * modules/unistr/u32-chr: Likewise.
28703         * modules/unistr/u32-cmp: Likewise.
28704         * modules/unistr/u32-cmp2: Likewise.
28705         * modules/unistr/u32-cpy: Likewise.
28706         * modules/unistr/u32-cpy-alloc: Likewise.
28707         * modules/unistr/u32-endswith: Likewise.
28708         * modules/unistr/u32-mblen: Likewise.
28709         * modules/unistr/u32-mbsnlen: Likewise.
28710         * modules/unistr/u32-mbtouc: Likewise.
28711         * modules/unistr/u32-mbtouc-unsafe: Likewise.
28712         * modules/unistr/u32-mbtoucr: Likewise.
28713         * modules/unistr/u32-move: Likewise.
28714         * modules/unistr/u32-next: Likewise.
28715         * modules/unistr/u32-prev: Likewise.
28716         * modules/unistr/u32-set: Likewise.
28717         * modules/unistr/u32-startswith: Likewise.
28718         * modules/unistr/u32-stpcpy: Likewise.
28719         * modules/unistr/u32-stpncpy: Likewise.
28720         * modules/unistr/u32-strcat: Likewise.
28721         * modules/unistr/u32-strchr: Likewise.
28722         * modules/unistr/u32-strcmp: Likewise.
28723         * modules/unistr/u32-strcoll: Likewise.
28724         * modules/unistr/u32-strcpy: Likewise.
28725         * modules/unistr/u32-strcspn: Likewise.
28726         * modules/unistr/u32-strdup: Likewise.
28727         * modules/unistr/u32-strlen: Likewise.
28728         * modules/unistr/u32-strmblen: Likewise.
28729         * modules/unistr/u32-strmbtouc: Likewise.
28730         * modules/unistr/u32-strncat: Likewise.
28731         * modules/unistr/u32-strncmp: Likewise.
28732         * modules/unistr/u32-strncpy: Likewise.
28733         * modules/unistr/u32-strnlen: Likewise.
28734         * modules/unistr/u32-strpbrk: Likewise.
28735         * modules/unistr/u32-strrchr: Likewise.
28736         * modules/unistr/u32-strspn: Likewise.
28737         * modules/unistr/u32-strstr: Likewise.
28738         * modules/unistr/u32-strtok: Likewise.
28739         * modules/unistr/u32-to-u16: Likewise.
28740         * modules/unistr/u32-to-u8: Likewise.
28741         * modules/unistr/u32-uctomb: Likewise.
28742         * modules/uniwbrk/u8-wordbreaks: Likewise.
28743         * modules/uniwbrk/u16-wordbreaks: Likewise.
28744         * modules/uniwbrk/u32-wordbreaks: Likewise.
28745         * modules/uniwbrk/ulc-wordbreaks: Likewise.
28746         * modules/uniwbrk/wordbreak-property: Likewise.
28747         * modules/uniwidth/u8-strwidth: Likewise.
28748         * modules/uniwidth/u8-width: Likewise.
28749         * modules/uniwidth/u16-strwidth: Likewise.
28750         * modules/uniwidth/u16-width: Likewise.
28751         * modules/uniwidth/u32-strwidth: Likewise.
28752         * modules/uniwidth/u32-width: Likewise.
28753         * modules/uniwidth/width: Likewise.
28754         * modules/unicase/cased-tests (Makefile.am): Link all test programs
28755         with $(LIBUNISTRING).
28756         * modules/unicase/ignorable-tests: Likewise.
28757         * modules/unicase/locale-language-tests: Likewise.
28758         * modules/unicase/tolower-tests: Likewise.
28759         * modules/unicase/totitle-tests: Likewise.
28760         * modules/unicase/toupper-tests: Likewise.
28761         * modules/unicase/u8-casecmp-tests: Likewise.
28762         * modules/unicase/u8-casecoll-tests: Likewise.
28763         * modules/unicase/u8-casefold-tests: Likewise.
28764         * modules/unicase/u8-is-cased-tests: Likewise.
28765         * modules/unicase/u8-is-casefolded-tests: Likewise.
28766         * modules/unicase/u8-is-lowercase-tests: Likewise.
28767         * modules/unicase/u8-is-titlecase-tests: Likewise.
28768         * modules/unicase/u8-is-uppercase-tests: Likewise.
28769         * modules/unicase/u8-tolower-tests: Likewise.
28770         * modules/unicase/u8-totitle-tests: Likewise.
28771         * modules/unicase/u8-toupper-tests: Likewise.
28772         * modules/unicase/u16-casecmp-tests: Likewise.
28773         * modules/unicase/u16-casecoll-tests: Likewise.
28774         * modules/unicase/u16-casefold-tests: Likewise.
28775         * modules/unicase/u16-is-cased-tests: Likewise.
28776         * modules/unicase/u16-is-casefolded-tests: Likewise.
28777         * modules/unicase/u16-is-lowercase-tests: Likewise.
28778         * modules/unicase/u16-is-titlecase-tests: Likewise.
28779         * modules/unicase/u16-is-uppercase-tests: Likewise.
28780         * modules/unicase/u16-tolower-tests: Likewise.
28781         * modules/unicase/u16-totitle-tests: Likewise.
28782         * modules/unicase/u16-toupper-tests: Likewise.
28783         * modules/unicase/u32-casecmp-tests: Likewise.
28784         * modules/unicase/u32-casecoll-tests: Likewise.
28785         * modules/unicase/u32-casefold-tests: Likewise.
28786         * modules/unicase/u32-is-cased-tests: Likewise.
28787         * modules/unicase/u32-is-casefolded-tests: Likewise.
28788         * modules/unicase/u32-is-lowercase-tests: Likewise.
28789         * modules/unicase/u32-is-titlecase-tests: Likewise.
28790         * modules/unicase/u32-is-uppercase-tests: Likewise.
28791         * modules/unicase/u32-tolower-tests: Likewise.
28792         * modules/unicase/u32-totitle-tests: Likewise.
28793         * modules/unicase/u32-toupper-tests: Likewise.
28794         * modules/unicase/ulc-casecmp-tests: Likewise.
28795         * modules/unicase/ulc-casecoll-tests: Likewise.
28796         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
28797         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
28798         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
28799         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
28800         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
28801         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
28802         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
28803         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
28804         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
28805         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
28806         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
28807         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
28808         * modules/unictype/bidicategory-byname-tests: Likewise.
28809         * modules/unictype/bidicategory-name-tests: Likewise.
28810         * modules/unictype/bidicategory-of-tests: Likewise.
28811         * modules/unictype/bidicategory-test-tests: Likewise.
28812         * modules/unictype/block-list-tests: Likewise.
28813         * modules/unictype/block-of-tests: Likewise.
28814         * modules/unictype/block-test-tests: Likewise.
28815         * modules/unictype/category-C-tests: Likewise.
28816         * modules/unictype/category-Cc-tests: Likewise.
28817         * modules/unictype/category-Cf-tests: Likewise.
28818         * modules/unictype/category-Cn-tests: Likewise.
28819         * modules/unictype/category-Co-tests: Likewise.
28820         * modules/unictype/category-Cs-tests: Likewise.
28821         * modules/unictype/category-L-tests: Likewise.
28822         * modules/unictype/category-Ll-tests: Likewise.
28823         * modules/unictype/category-Lm-tests: Likewise.
28824         * modules/unictype/category-Lo-tests: Likewise.
28825         * modules/unictype/category-Lt-tests: Likewise.
28826         * modules/unictype/category-Lu-tests: Likewise.
28827         * modules/unictype/category-M-tests: Likewise.
28828         * modules/unictype/category-Mc-tests: Likewise.
28829         * modules/unictype/category-Me-tests: Likewise.
28830         * modules/unictype/category-Mn-tests: Likewise.
28831         * modules/unictype/category-N-tests: Likewise.
28832         * modules/unictype/category-Nd-tests: Likewise.
28833         * modules/unictype/category-Nl-tests: Likewise.
28834         * modules/unictype/category-No-tests: Likewise.
28835         * modules/unictype/category-P-tests: Likewise.
28836         * modules/unictype/category-Pc-tests: Likewise.
28837         * modules/unictype/category-Pd-tests: Likewise.
28838         * modules/unictype/category-Pe-tests: Likewise.
28839         * modules/unictype/category-Pf-tests: Likewise.
28840         * modules/unictype/category-Pi-tests: Likewise.
28841         * modules/unictype/category-Po-tests: Likewise.
28842         * modules/unictype/category-Ps-tests: Likewise.
28843         * modules/unictype/category-S-tests: Likewise.
28844         * modules/unictype/category-Sc-tests: Likewise.
28845         * modules/unictype/category-Sk-tests: Likewise.
28846         * modules/unictype/category-Sm-tests: Likewise.
28847         * modules/unictype/category-So-tests: Likewise.
28848         * modules/unictype/category-Z-tests: Likewise.
28849         * modules/unictype/category-Zl-tests: Likewise.
28850         * modules/unictype/category-Zp-tests: Likewise.
28851         * modules/unictype/category-Zs-tests: Likewise.
28852         * modules/unictype/category-and-not-tests: Likewise.
28853         * modules/unictype/category-and-tests: Likewise.
28854         * modules/unictype/category-byname-tests: Likewise.
28855         * modules/unictype/category-name-tests: Likewise.
28856         * modules/unictype/category-none-tests: Likewise.
28857         * modules/unictype/category-of-tests: Likewise.
28858         * modules/unictype/category-or-tests: Likewise.
28859         * modules/unictype/category-test-withtable-tests: Likewise.
28860         * modules/unictype/combining-class-tests: Likewise.
28861         * modules/unictype/ctype-alnum-tests: Likewise.
28862         * modules/unictype/ctype-alpha-tests: Likewise.
28863         * modules/unictype/ctype-blank-tests: Likewise.
28864         * modules/unictype/ctype-cntrl-tests: Likewise.
28865         * modules/unictype/ctype-digit-tests: Likewise.
28866         * modules/unictype/ctype-graph-tests: Likewise.
28867         * modules/unictype/ctype-lower-tests: Likewise.
28868         * modules/unictype/ctype-print-tests: Likewise.
28869         * modules/unictype/ctype-punct-tests: Likewise.
28870         * modules/unictype/ctype-space-tests: Likewise.
28871         * modules/unictype/ctype-upper-tests: Likewise.
28872         * modules/unictype/ctype-xdigit-tests: Likewise.
28873         * modules/unictype/decimal-digit-tests: Likewise.
28874         * modules/unictype/digit-tests: Likewise.
28875         * modules/unictype/mirror-tests: Likewise.
28876         * modules/unictype/numeric-tests: Likewise.
28877         * modules/unictype/property-alphabetic-tests: Likewise.
28878         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
28879         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
28880         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
28881         * modules/unictype/property-bidi-block-separator-tests: Likewise.
28882         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
28883         * modules/unictype/property-bidi-common-separator-tests: Likewise.
28884         * modules/unictype/property-bidi-control-tests: Likewise.
28885         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
28886         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
28887         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
28888         * modules/unictype/property-bidi-european-digit-tests: Likewise.
28889         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
28890         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
28891         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
28892         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
28893         * modules/unictype/property-bidi-pdf-tests: Likewise.
28894         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
28895         * modules/unictype/property-bidi-whitespace-tests: Likewise.
28896         * modules/unictype/property-byname-tests: Likewise.
28897         * modules/unictype/property-combining-tests: Likewise.
28898         * modules/unictype/property-composite-tests: Likewise.
28899         * modules/unictype/property-currency-symbol-tests: Likewise.
28900         * modules/unictype/property-dash-tests: Likewise.
28901         * modules/unictype/property-decimal-digit-tests: Likewise.
28902         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
28903         * modules/unictype/property-deprecated-tests: Likewise.
28904         * modules/unictype/property-diacritic-tests: Likewise.
28905         * modules/unictype/property-extender-tests: Likewise.
28906         * modules/unictype/property-format-control-tests: Likewise.
28907         * modules/unictype/property-grapheme-base-tests: Likewise.
28908         * modules/unictype/property-grapheme-extend-tests: Likewise.
28909         * modules/unictype/property-grapheme-link-tests: Likewise.
28910         * modules/unictype/property-hex-digit-tests: Likewise.
28911         * modules/unictype/property-hyphen-tests: Likewise.
28912         * modules/unictype/property-id-continue-tests: Likewise.
28913         * modules/unictype/property-id-start-tests: Likewise.
28914         * modules/unictype/property-ideographic-tests: Likewise.
28915         * modules/unictype/property-ids-binary-operator-tests: Likewise.
28916         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
28917         * modules/unictype/property-ignorable-control-tests: Likewise.
28918         * modules/unictype/property-iso-control-tests: Likewise.
28919         * modules/unictype/property-join-control-tests: Likewise.
28920         * modules/unictype/property-left-of-pair-tests: Likewise.
28921         * modules/unictype/property-line-separator-tests: Likewise.
28922         * modules/unictype/property-logical-order-exception-tests: Likewise.
28923         * modules/unictype/property-lowercase-tests: Likewise.
28924         * modules/unictype/property-math-tests: Likewise.
28925         * modules/unictype/property-non-break-tests: Likewise.
28926         * modules/unictype/property-not-a-character-tests: Likewise.
28927         * modules/unictype/property-numeric-tests: Likewise.
28928         * modules/unictype/property-other-alphabetic-tests: Likewise.
28929         * modules/unictype/property-other-default-ignorable-code-point-tests:
28930         Likewise.
28931         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
28932         * modules/unictype/property-other-id-continue-tests: Likewise.
28933         * modules/unictype/property-other-id-start-tests: Likewise.
28934         * modules/unictype/property-other-lowercase-tests: Likewise.
28935         * modules/unictype/property-other-math-tests: Likewise.
28936         * modules/unictype/property-other-uppercase-tests: Likewise.
28937         * modules/unictype/property-paired-punctuation-tests: Likewise.
28938         * modules/unictype/property-paragraph-separator-tests: Likewise.
28939         * modules/unictype/property-pattern-syntax-tests: Likewise.
28940         * modules/unictype/property-pattern-white-space-tests: Likewise.
28941         * modules/unictype/property-private-use-tests: Likewise.
28942         * modules/unictype/property-punctuation-tests: Likewise.
28943         * modules/unictype/property-quotation-mark-tests: Likewise.
28944         * modules/unictype/property-radical-tests: Likewise.
28945         * modules/unictype/property-sentence-terminal-tests: Likewise.
28946         * modules/unictype/property-soft-dotted-tests: Likewise.
28947         * modules/unictype/property-space-tests: Likewise.
28948         * modules/unictype/property-terminal-punctuation-tests: Likewise.
28949         * modules/unictype/property-test-tests: Likewise.
28950         * modules/unictype/property-titlecase-tests: Likewise.
28951         * modules/unictype/property-unassigned-code-value-tests: Likewise.
28952         * modules/unictype/property-unified-ideograph-tests: Likewise.
28953         * modules/unictype/property-uppercase-tests: Likewise.
28954         * modules/unictype/property-variation-selector-tests: Likewise.
28955         * modules/unictype/property-white-space-tests: Likewise.
28956         * modules/unictype/property-xid-continue-tests: Likewise.
28957         * modules/unictype/property-xid-start-tests: Likewise.
28958         * modules/unictype/property-zero-width-tests: Likewise.
28959         * modules/unictype/scripts-tests: Likewise.
28960         * modules/unictype/syntax-c-ident-tests: Likewise.
28961         * modules/unictype/syntax-c-whitespace-tests: Likewise.
28962         * modules/unictype/syntax-java-ident-tests: Likewise.
28963         * modules/unictype/syntax-java-whitespace-tests: Likewise.
28964         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
28965         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
28966         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
28967         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
28968         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
28969         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
28970         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
28971         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
28972         * modules/uniname/uniname-tests: Likewise.
28973         * modules/uninorm/canonical-decomposition-tests: Likewise.
28974         * modules/uninorm/compat-decomposition-tests: Likewise.
28975         * modules/uninorm/composition-tests: Likewise.
28976         * modules/uninorm/decomposing-form-tests: Likewise.
28977         * modules/uninorm/decomposition-tests: Likewise.
28978         * modules/uninorm/filter-tests: Likewise.
28979         * modules/uninorm/nfc-tests: Likewise.
28980         * modules/uninorm/nfd-tests: Likewise.
28981         * modules/uninorm/nfkc-tests: Likewise.
28982         * modules/uninorm/nfkd-tests: Likewise.
28983         * modules/uninorm/u8-normcmp-tests: Likewise.
28984         * modules/uninorm/u8-normcoll-tests: Likewise.
28985         * modules/uninorm/u16-normcmp-tests: Likewise.
28986         * modules/uninorm/u16-normcoll-tests: Likewise.
28987         * modules/uninorm/u32-normcmp-tests: Likewise.
28988         * modules/uninorm/u32-normcoll-tests: Likewise.
28989         * modules/unistdio/u8-asnprintf-tests: Likewise.
28990         * modules/unistdio/u8-vasnprintf-tests: Likewise.
28991         * modules/unistdio/u8-vasprintf-tests: Likewise.
28992         * modules/unistdio/u8-vsnprintf-tests: Likewise.
28993         * modules/unistdio/u8-vsprintf-tests: Likewise.
28994         * modules/unistdio/u16-asnprintf-tests: Likewise.
28995         * modules/unistdio/u16-vasnprintf-tests: Likewise.
28996         * modules/unistdio/u16-vasprintf-tests: Likewise.
28997         * modules/unistdio/u16-vsnprintf-tests: Likewise.
28998         * modules/unistdio/u16-vsprintf-tests: Likewise.
28999         * modules/unistdio/u32-asnprintf-tests: Likewise.
29000         * modules/unistdio/u32-vasnprintf-tests: Likewise.
29001         * modules/unistdio/u32-vasprintf-tests: Likewise.
29002         * modules/unistdio/u32-vsnprintf-tests: Likewise.
29003         * modules/unistdio/u32-vsprintf-tests: Likewise.
29004         * modules/unistdio/ulc-asnprintf-tests: Likewise.
29005         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
29006         * modules/unistdio/ulc-vasprintf-tests: Likewise.
29007         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
29008         * modules/unistdio/ulc-vsprintf-tests: Likewise.
29009         * modules/unistr/u8-check-tests: Likewise.
29010         * modules/unistr/u8-chr-tests: Likewise.
29011         * modules/unistr/u8-cmp-tests: Likewise.
29012         * modules/unistr/u8-cmp2-tests: Likewise.
29013         * modules/unistr/u8-cpy-alloc-tests: Likewise.
29014         * modules/unistr/u8-cpy-tests: Likewise.
29015         * modules/unistr/u8-mblen-tests: Likewise.
29016         * modules/unistr/u8-mbsnlen-tests: Likewise.
29017         * modules/unistr/u8-mbtouc-tests: Likewise.
29018         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
29019         * modules/unistr/u8-mbtoucr-tests: Likewise.
29020         * modules/unistr/u8-move-tests: Likewise.
29021         * modules/unistr/u8-next-tests: Likewise.
29022         * modules/unistr/u8-prev-tests: Likewise.
29023         * modules/unistr/u8-set-tests: Likewise.
29024         * modules/unistr/u8-stpcpy-tests: Likewise.
29025         * modules/unistr/u8-stpncpy-tests: Likewise.
29026         * modules/unistr/u8-strcat-tests: Likewise.
29027         * modules/unistr/u8-strcmp-tests: Likewise.
29028         * modules/unistr/u8-strcoll-tests: Likewise.
29029         * modules/unistr/u8-strcpy-tests: Likewise.
29030         * modules/unistr/u8-strdup-tests: Likewise.
29031         * modules/unistr/u8-strlen-tests: Likewise.
29032         * modules/unistr/u8-strmblen-tests: Likewise.
29033         * modules/unistr/u8-strmbtouc-tests: Likewise.
29034         * modules/unistr/u8-strncat-tests: Likewise.
29035         * modules/unistr/u8-strncmp-tests: Likewise.
29036         * modules/unistr/u8-strncpy-tests: Likewise.
29037         * modules/unistr/u8-strnlen-tests: Likewise.
29038         * modules/unistr/u8-to-u16-tests: Likewise.
29039         * modules/unistr/u8-to-u32-tests: Likewise.
29040         * modules/unistr/u8-uctomb-tests: Likewise.
29041         * modules/unistr/u16-check-tests: Likewise.
29042         * modules/unistr/u16-chr-tests: Likewise.
29043         * modules/unistr/u16-cmp-tests: Likewise.
29044         * modules/unistr/u16-cmp2-tests: Likewise.
29045         * modules/unistr/u16-cpy-alloc-tests: Likewise.
29046         * modules/unistr/u16-cpy-tests: Likewise.
29047         * modules/unistr/u16-mblen-tests: Likewise.
29048         * modules/unistr/u16-mbsnlen-tests: Likewise.
29049         * modules/unistr/u16-mbtouc-tests: Likewise.
29050         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
29051         * modules/unistr/u16-mbtoucr-tests: Likewise.
29052         * modules/unistr/u16-move-tests: Likewise.
29053         * modules/unistr/u16-next-tests: Likewise.
29054         * modules/unistr/u16-prev-tests: Likewise.
29055         * modules/unistr/u16-set-tests: Likewise.
29056         * modules/unistr/u16-stpcpy-tests: Likewise.
29057         * modules/unistr/u16-stpncpy-tests: Likewise.
29058         * modules/unistr/u16-strcat-tests: Likewise.
29059         * modules/unistr/u16-strcmp-tests: Likewise.
29060         * modules/unistr/u16-strcoll-tests: Likewise.
29061         * modules/unistr/u16-strcpy-tests: Likewise.
29062         * modules/unistr/u16-strdup-tests: Likewise.
29063         * modules/unistr/u16-strlen-tests: Likewise.
29064         * modules/unistr/u16-strmblen-tests: Likewise.
29065         * modules/unistr/u16-strmbtouc-tests: Likewise.
29066         * modules/unistr/u16-strncat-tests: Likewise.
29067         * modules/unistr/u16-strncmp-tests: Likewise.
29068         * modules/unistr/u16-strncpy-tests: Likewise.
29069         * modules/unistr/u16-strnlen-tests: Likewise.
29070         * modules/unistr/u16-to-u32-tests: Likewise.
29071         * modules/unistr/u16-to-u8-tests: Likewise.
29072         * modules/unistr/u16-uctomb-tests: Likewise.
29073         * modules/unistr/u32-check-tests: Likewise.
29074         * modules/unistr/u32-chr-tests: Likewise.
29075         * modules/unistr/u32-cmp-tests: Likewise.
29076         * modules/unistr/u32-cmp2-tests: Likewise.
29077         * modules/unistr/u32-cpy-alloc-tests: Likewise.
29078         * modules/unistr/u32-cpy-tests: Likewise.
29079         * modules/unistr/u32-mblen-tests: Likewise.
29080         * modules/unistr/u32-mbsnlen-tests: Likewise.
29081         * modules/unistr/u32-mbtouc-tests: Likewise.
29082         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
29083         * modules/unistr/u32-mbtoucr-tests: Likewise.
29084         * modules/unistr/u32-move-tests: Likewise.
29085         * modules/unistr/u32-next-tests: Likewise.
29086         * modules/unistr/u32-prev-tests: Likewise.
29087         * modules/unistr/u32-set-tests: Likewise.
29088         * modules/unistr/u32-stpcpy-tests: Likewise.
29089         * modules/unistr/u32-stpncpy-tests: Likewise.
29090         * modules/unistr/u32-strcat-tests: Likewise.
29091         * modules/unistr/u32-strcmp-tests: Likewise.
29092         * modules/unistr/u32-strcoll-tests: Likewise.
29093         * modules/unistr/u32-strcpy-tests: Likewise.
29094         * modules/unistr/u32-strdup-tests: Likewise.
29095         * modules/unistr/u32-strlen-tests: Likewise.
29096         * modules/unistr/u32-strmblen-tests: Likewise.
29097         * modules/unistr/u32-strmbtouc-tests: Likewise.
29098         * modules/unistr/u32-strncat-tests: Likewise.
29099         * modules/unistr/u32-strncmp-tests: Likewise.
29100         * modules/unistr/u32-strncpy-tests: Likewise.
29101         * modules/unistr/u32-strnlen-tests: Likewise.
29102         * modules/unistr/u32-to-u16-tests: Likewise.
29103         * modules/unistr/u32-to-u8-tests: Likewise.
29104         * modules/unistr/u32-uctomb-tests: Likewise.
29105         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
29106         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
29107         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
29108         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
29109         * modules/uniwidth/u8-strwidth-tests: Likewise.
29110         * modules/uniwidth/u8-width-tests: Likewise.
29111         * modules/uniwidth/u16-strwidth-tests: Likewise.
29112         * modules/uniwidth/u16-width-tests: Likewise.
29113         * modules/uniwidth/u32-strwidth-tests: Likewise.
29114         * modules/uniwidth/u32-width-tests: Likewise.
29115         * modules/uniwidth/width-tests: Likewise.
29116
29117 2010-05-18  Richard Jones  <rjones@redhat.com>
29118
29119         doc: users.txt: list hivex
29120         * users.txt: Add hivex.
29121
29122 2010-05-18  Richard Jones  <rjones@redhat.com>
29123
29124         doc: users.txt: list febootstrap
29125         * users.txt: Add febootstrap.
29126
29127 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
29128
29129         bootstrap: fix an error when gnulib is not used as a git submodule
29130         * build-aux/bootstrap (gnulib_path): If its length is zero then
29131         assign "gnulib" to it.
29132         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
29133
29134 2010-05-16  Bruno Haible  <bruno@clisp.org>
29135
29136         Avoid autoconf warnings about AM_ICONV.
29137         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
29138         2.64.
29139
29140 2010-05-16  Bruno Haible  <bruno@clisp.org>
29141
29142         absolute-header: Make the macro usable in more situations.
29143         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
29144         from gl_ABSOLUTE_HEADER.
29145         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
29146
29147 2010-05-16  James Youngman  <jay@gnu.org>
29148
29149         doc: update users.txt
29150         * users.txt: Add CSSC.
29151
29152 2010-05-16  Jim Meyering  <meyering@redhat.com>
29153
29154         init.sh: fix an error in the previous change; add more comments
29155         * tests/init.sh: Compare exit code in loop against 9, not 2.
29156         Patch by Bruno Haible.
29157         Make the two tests more similar by adding an empty "then" clause.
29158         Add comments.
29159
29160         init.sh: avoid unnecessary shell re-exec
29161         * tests/init.sh: Improve the re-exec-required check to first test the
29162         current shell.  If it passes the test, do not search for a shell that
29163         does pass, and do not re-exec.  This test is particularly contorted to
29164         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
29165         of $(...) evokes a syntax error and causes immediate shell exit with
29166         status 2.  Bruno Haible reported that the re-exec made it impossible
29167         to single-step through any init.sh-using script.
29168
29169 2010-05-16  Bruno Haible  <bruno@clisp.org>
29170
29171         Fix collision between gnulib's and libintl's printf replacements.
29172         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
29173         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
29174         (printf): When using GNU C, map the __printf__ function to rpl_printf
29175         via __asm__. When not using GNU C, define rpl_printf instead of
29176         __printf__.
29177         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
29178         commit.
29179         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
29180         commit.
29181         * m4/asm-underscore.m4: New file.
29182         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
29183         * modules/stdio (Files): Add m4/asm-underscore.m4.
29184         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
29185         Reported by Ben Pfaff.
29186
29187 2010-05-16  Bruno Haible  <bruno@clisp.org>
29188
29189         verify: Avoid skipping the test on openSUSE 11.0.
29190         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
29191
29192 2010-05-13  Bruno Haible  <bruno@clisp.org>
29193
29194         Avoid useless warnings from G++.
29195         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
29196         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
29197         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
29198
29199 2010-05-11  Jim Meyering  <meyering@redhat.com>
29200
29201         maint.mk: tweak preceding change
29202         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
29203         regexps tighter by anchoring at EOL, and make the new group "shy"
29204         for slightly decreased overhead.
29205
29206 2010-05-11  Eric Blake  <eblake@redhat.com>
29207
29208         maint.mk: gnulib doesn't guarantee NSIG
29209         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
29210
29211 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
29212
29213         test-pwrite.c: Remove unused variable declaration.
29214         * tests/test-pwrite.c (main): Remove read_buf declaration.
29215
29216         Remove useless test-pwrite.sh file.
29217         * tests/test-pwrite.sh: Delete file.
29218         * modules/pwrite-tests: Remove references.
29219         Reported by Bruno Haible.
29220
29221 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
29222
29223         init.sh: fix a typo
29224         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
29225
29226 2010-05-10  Jim Meyering  <meyering@redhat.com>
29227
29228         maint.mk: avoid using a temporary file in the always-defined-macros check
29229         * top/maint.mk (.re-defmac): Remove rule.
29230         (gl_trap_): Remove definition.
29231         (sc_prohibit_always-defined_macros): Rewrite not to create and
29232         depend on a temporary file.  Instead, depend on GNU grep's ability
29233         to read a list of regular expressions from stdin when given "-f -".
29234
29235 2010-05-09  Bruno Haible  <bruno@clisp.org>
29236
29237         Update to GNU gettext 0.18, part 1.
29238         * m4/gettext.m4: Update to GNU gettext 0.18.
29239         * m4/intl.m4: Likewise.
29240         * m4/po.m4: Likewise.
29241         * modules/gettext (Files): Add m4/fcntl-o.m4.
29242         (configure.ac): Require gettext infrastructure from version 0.18.
29243
29244 2010-05-09  Jim Meyering  <meyering@redhat.com>
29245
29246         init.sh: enable MALLOC_PERTURB_
29247         * tests/init.sh: Enable glibc's malloc-perturbing option.
29248
29249         maint.mk: improve sc_cross_check_PATH_usage_in_tests
29250         With my recent change in init.sh from the two-line form:
29251             -#   : ${srcdir=.}
29252             -#   . "$srcdir/init.sh"; path_prepend_ .
29253             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
29254         I noticed that using the one-line form would cause this test
29255         to fail with a false-positive, or to stop working altogether,
29256         depending on whether help-version changed or all the tests did.
29257         * top/maint.mk (_hv_regex): Remove this definition.
29258         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
29259         (_hv_regex_strong): Use a stronger regex to check for conformance.
29260         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
29261         Give a separate diagnostic for lack of conforming use.
29262
29263         maint.mk: prohibit definition of symbols defined by gnulib
29264         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
29265         definition of symbols defined by gnulib.
29266
29267 2010-05-09  Bruno Haible  <bruno@clisp.org>
29268
29269         acl: Avoid test failure on Cygwin-hosted mingw.
29270         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
29271
29272 2010-05-09  Bruno Haible  <bruno@clisp.org>
29273
29274         error: Use system's fcntl function.
29275         * lib/error.c (fcntl): Undefine.
29276
29277 2010-05-09  Jim Meyering  <meyering@redhat.com>
29278
29279         verify: adjust formatting to be more consistent
29280         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
29281         argument-list '('s, and after one comma.
29282
29283 2010-05-09  Bruno Haible  <bruno@clisp.org>
29284
29285         error: More reliable output on mingw.
29286         * lib/error.c: Include <windows.h>.
29287         (is_open): New function.
29288         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
29289         defined.
29290
29291 2010-05-09  Bruno Haible  <bruno@clisp.org>
29292
29293         vasnprintf: Fix syntax errors in libintl build on mingw.
29294         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
29295         pad_ourselves and prec_ourselves after use.
29296
29297 2010-05-08  Bruno Haible  <bruno@clisp.org>
29298
29299         * lib/config.charset: Update comments for Cygwin 1.7.
29300         * lib/localcharset.c: Likewise.
29301
29302 2010-05-07  Jim Meyering  <meyering@redhat.com>
29303
29304         init.sh: improve comments
29305         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
29306         . "${srcdir=.}/init.sh"; path_prepend_ .
29307         Add a note about path_prepend_ and the alternative of using
29308         TESTS_ENVIRONMENT.
29309
29310 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
29311
29312         exclude: Unescape hashed patterns in wildcard mode.
29313         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
29314         to the hash list.
29315         * tests/test-exclude8.sh: New test case.
29316         * modules/exclude-tests: Add new test.
29317
29318 2010-05-05  Eric Blake  <eblake@redhat.com>
29319
29320         verify: automate tests
29321         * modules/verify-tests: New module.
29322         * tests/test-verify.sh: New file.
29323         * tests/test-verify.c: Guard each negative test with a unique id.
29324         Also avoid warning about unused left hand of comma expressions.
29325
29326 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
29327
29328         Further improvements to verify.h, suggested by Eric Blake.
29329         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
29330         the GL_* versions, to avoid collision with OpenGL.
29331         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
29332         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
29333         than testing merely whether it's defined.
29334
29335         Modify verify.h to pacify gcc -Wredundant_decls.
29336         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
29337         These use the prefix "GL_" since they're likely to be useful elsewhere.
29338         We may need to break them out into a different .h file.
29339         (__COUNTER__): Define to 0 if the compiler doesn't support it.
29340         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
29341         of verify_function__.
29342
29343 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
29344
29345         Tests for module pwrite.
29346         * modules/pwrite-tests: New file.
29347         * tests/test-pwrite.sh: New file.
29348         * tests/test-pwrite.c: New file.
29349
29350         New module pwrite.
29351         * lib/unistd.in.h (pwrite): New declaration.
29352         * lib/pwrite.c: New file, from glibc with modifications.
29353         * m4/pwrite.m4: New file.
29354         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
29355         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
29356         REPLACE_PWRITE.
29357         * modules/pwrite: New file.
29358         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
29359         REPLACE_PWRITE.
29360         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
29361         * doc/posix-functions/pwrite.texi: Mention the new module.
29362
29363 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
29364
29365         pread: Update documentation.
29366         * doc/posix-functions/pread.texi: Mention the 'pread' module.
29367
29368 2010-05-04  Eric Blake  <eblake@redhat.com>
29369
29370         docs: update cygwin progress
29371         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
29372         this bug.
29373         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
29374         Added in cygwin 1.7.2.
29375         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
29376         Likewise.
29377         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
29378         Likewise.
29379         * doc/glibc-functions/dup3.texi (dup3): Likewise.
29380         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
29381         * doc/glibc-functions/accept4.texi (accept4): Likewise.
29382         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
29383         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
29384         Mention nproc module.
29385         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
29386         bug in cygwin 1.7.5 addition.
29387         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
29388         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
29389         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
29390         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
29391         1.7.5.
29392         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
29393         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
29394         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
29395         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
29396         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
29397         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
29398         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
29399         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
29400         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
29401         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
29402         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
29403         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
29404         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
29405         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
29406         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
29407         Likewise.
29408         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
29409         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
29410         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
29411         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
29412         Likewise.
29413         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
29414         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
29415         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
29416         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
29417         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
29418         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
29419         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
29420         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
29421         Likewise.
29422         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
29423         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
29424         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
29425         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
29426         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
29427         Likewise.
29428         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
29429         Likewise.
29430         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
29431         Likewise.
29432         * doc/glibc-functions/xdrrec_endofrecord.texi
29433         (xdrrec_endofrecord): Likewise.
29434         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
29435         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
29436         Likewise.
29437         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
29438         Likewise.
29439
29440 2010-05-04  Jim Meyering  <meyering@redhat.com>
29441
29442         gendocs.sh: make its "-s FILE" option more useful
29443         * build-aux/gendocs.sh: When honoring the -s FILE option, update
29444         $PACKAGE to reflect the probably-different basename of "FILE".
29445
29446 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
29447
29448         bootstrap: don't ignore download_po_files failure
29449         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
29450         failure.
29451
29452 2010-05-03  Jim Meyering  <meyering@redhat.com>
29453
29454         maint.mk: allow to pass options to gendocs.sh
29455         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
29456         (gendocs_options_): New overridable variable.
29457
29458         gnu-web-doc-update: don't ignore configure or build failure
29459         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
29460
29461         announce-gen: backslash-escape '@'s in --help output
29462         * build-aux/announce-gen: Fix syntax errors.
29463
29464         maint.mk, announce-gen: allow project-specific announcement mail headers
29465         * top/maint.mk (translation_project_): Define default.
29466         (announcement_Cc_, announcement_mail_headers_): Likewise.
29467         (announcement): Invoke announce-gen with new --mail-headers option.
29468         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
29469
29470         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
29471         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
29472         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
29473         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
29474         line in the "err2" output file when running "make check" in verbose
29475         mode (i.e., with set -x enabled).
29476
29477 2010-05-03  Bruno Haible  <bruno@clisp.org>
29478
29479         wctob: Fix for weird platforms.
29480         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
29481         argument value.
29482
29483 2010-05-03  Jim Meyering  <meyering@redhat.com>
29484
29485         maint.mk: prohibit unwarranted use of <strings.h>
29486         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
29487         strings.h in a file that does not also use strcasecmp, strncasecmp,
29488         ffs or ffsll.
29489
29490         maint.mk: remove obsolete comments
29491         * top/maint.mk: Remove stale, commented-out rules.
29492
29493 2010-05-02  Bruno Haible  <bruno@clisp.org>
29494
29495         wcwidth: Declare also when it's aliased.
29496         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
29497         macro.
29498
29499 2010-05-02  Bruno Haible  <bruno@clisp.org>
29500
29501         Fix regression from 2010-04-25.
29502         * gnulib-tool (func_modules_transitive_closure): Check the status of
29503         all modules, not only of the tests that are of the form foo-tests where
29504         foo is a module.
29505
29506 2010-05-02  Bruno Haible  <bruno@clisp.org>
29507
29508         wctob: Work around nasty Cygwin 1.7.2 bug.
29509         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
29510         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
29511
29512 2010-05-01  Bruno Haible  <bruno@clisp.org>
29513
29514         fpurge: Sharper test.
29515         * tests/test-fpurge.c (main): Add one more ftell check.
29516         * modules/fpurge-tests (Depends-on): Add ftell.
29517         Suggested by Eric Blake.
29518
29519 2010-05-01  Bruno Haible  <bruno@clisp.org>
29520
29521         ftello: Another test.
29522         * tests/test-ftello3.c: New file.
29523         * modules/ftello-tests (Files): Add it.
29524         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
29525         MOSTLYCLEANFILES.
29526
29527         ftell: Another test.
29528         * tests/test-ftell3.c: New file.
29529         * modules/ftell-tests (Files): Add it.
29530         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
29531         MOSTLYCLEANFILES.
29532
29533 2010-05-01  Bruno Haible  <bruno@clisp.org>
29534
29535         ftell, ftello: Work around Solaris bug.
29536         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
29537         * lib/ftello.c: Include stdio-impl.h.
29538         (ftello): On Solaris, when _IOWRT is set, compute the result without
29539         looking at _IOREAD.
29540         * modules/ftello (Files): Add lib/stdio-impl.h.
29541         * doc/posix-functions/ftell.texi: Mention Solaris bug.
29542         * doc/posix-functions/ftello.texi: Likewise.
29543         Reported by Eric Blake.
29544
29545 2010-05-01  Bruno Haible  <bruno@clisp.org>
29546
29547         freading: Adapt to special meaning of _IOREAD flag on Solaris.
29548         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
29549         the _IOWRT flag is also set.
29550
29551 2010-05-01  Bruno Haible  <bruno@clisp.org>
29552
29553         Fix doc about a HP-UX stdio bug.
29554         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
29555         * doc/posix-functions/ftello.texi: Likewise.
29556
29557 2010-05-01  Bruno Haible  <bruno@clisp.org>
29558
29559         lseek test: Fix failure on Solaris.
29560         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
29561         output.
29562
29563 2010-04-30  Jim Meyering  <meyering@redhat.com>
29564
29565         bootstrap: don't ignore failure to generate po*/Makevars
29566         * build-aux/bootstrap (with_gettext): Don't ignore failure
29567         to create po/Makevars or runtime-po/Makevars.
29568
29569 2010-04-29  Eric Blake  <eblake@redhat.com>
29570
29571         headers: relax license to LGPLv2+
29572         * modules/fcntl-h (License): Relax license.
29573         * modules/getopt-posix (License): Likewise.
29574         * modules/locale (License): Likewise.
29575         * modules/math (License): Likewise.
29576         * modules/pty (License): Likewise.
29577         * modules/sched (License): Likewise.
29578         * modules/search (License): Likewise.
29579         * modules/spawn (License): Likewise.
29580         * modules/stdarg (License): Likewise.
29581         * modules/sysexits (License): Likewise.
29582
29583 2010-04-29  Jim Meyering  <meyering@redhat.com>
29584
29585         inttypes: relax license to LGPLv2+
29586         * modules/inttypes (License): Relax license.
29587
29588 2010-04-29  Simon Josefsson  <simon@josefsson.org>
29589
29590         * top/maint.mk (indent): Run twice to produce idempotent results.
29591
29592 2010-04-28  Bruno Haible  <bruno@clisp.org>
29593
29594         getdate: Generate getdate.c in the source directory.
29595         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
29596         MOSTLYCLEANFILES.
29597         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
29598
29599 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
29600
29601         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
29602         is not declared as a const *; avoid warnings in that case.
29603
29604 2010-04-28  Eric Blake  <eblake@redhat.com>
29605
29606         canonicalize-lgpl: avoid compiler warning
29607         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
29608         declaration' / 'extraneous semicolon' warning with some compilers.
29609         Reported by Andreas Gruenbacher.
29610
29611 2010-04-28  Jim Meyering  <meyering@redhat.com>
29612
29613         init.sh: ensure a more reliable exit status when exiting via trap
29614         * tests/init.sh (setup_): Don't rely on $? in signal handler.
29615         Inspired by patches from Dmitry V. Levin.
29616         Also trap on signal 3 (SIGQUIT).
29617
29618 2010-04-27  Bruno Haible  <bruno@clisp.org>
29619
29620         Update doc about utimes().
29621         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
29622         'utimens' module.
29623         Reported by Andreas Gruenbacher <agruen@suse.de>.
29624
29625 2010-04-27  Eric Blake  <eblake@redhat.com>
29626
29627         full-read, full-write: relax license
29628         * modules/full-read (License): Drop to LGPLv2+.
29629         * modules/full-write (License): Likewise.
29630         * modules/safe-read (License): Likewise.
29631         * modules/safe-write (License): Likewise.
29632
29633         pthread: mention library for linking
29634         * modules/pthread (Link): Mention $(LIB_PTHREAD).
29635
29636 2010-04-27  Jim Meyering  <meyering@redhat.com>
29637
29638         maint.mk: fix a bug introduced in last change
29639         * top/maint.mk (gl_assured_headers_): Now that all names are on
29640         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
29641         is not anchored to end of word, it should be adequate.
29642
29643         maint.mk: avoid side-effect in latest syntax-check
29644         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
29645         to run commands via $(shell...), and hence to incur cost only when
29646         the new rule is actually run.
29647
29648         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
29649         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
29650         and use that to create a regexp used to detect all #if HAVE_..._H uses.
29651         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
29652         (gl_assured_headers_, az_, AZ_): Define.
29653         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
29654
29655 2010-04-26  Jim Meyering  <jim@meyering.net>
29656             Bruno Haible  <bruno@clisp.org>
29657
29658         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
29659         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
29660         Prompted by an exchange with Gilles Espinasse.
29661
29662 2010-04-26  Jim Meyering  <meyering@redhat.com>
29663
29664         git-version-gen: aesthetic tweak
29665         * build-aux/git-version-gen: Use "$nl" rather than a literal,
29666         so that the command remains on a single line.
29667
29668 2010-04-26  Eric Blake  <eblake@redhat.com>
29669
29670         git-version-gen: allow use on EBCDIC hosts
29671         * build-aux/git-version-gen (dirty): Use literal rather than tying
29672         ourselves to ascii.
29673         Reported by Steve Goetze.
29674
29675 2010-04-25  Bruno Haible  <bruno@clisp.org>
29676
29677         netdb: Add support for GNULIB_POSIXCHECK.
29678         * lib/netdb.in.h: Include warn-on-use.h.
29679         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
29680         functions are used when GNULIB_POSIXCHECK is defined and the
29681         getaddrinfo module is not in use.
29682         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
29683         freeaddrinfo, gai_strerror, getnameinfo are declared.
29684         * modules/netdb (Depends-on): Add warn-on-use.
29685         (Makefile.am): Include warn-on-use.h in netdb.h.
29686
29687 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
29688
29689         build: avoid "make check" failure without .git/ directory
29690         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
29691         there is no .git/ directory.
29692
29693 2010-04-25  Bruno Haible  <bruno@clisp.org>
29694
29695         ptsname: Fix misuse of ttyname_r.
29696         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
29697         of errno.
29698
29699 2010-04-25  Bruno Haible  <bruno@clisp.org>
29700
29701         ttyname_r: Make it work on Solaris 10.
29702         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
29703         if the system function has the POSIX declaration. Test whether the
29704         function fails if the buffer is less than 128 bytes large.
29705         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
29706         system's ttyname_r function. Provide a reasonably large buffer.
29707         * modules/ttyname_r (Depends-on): Add extensions.
29708         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
29709
29710 2010-04-25  Bruno Haible  <bruno@clisp.org>
29711
29712         Use the 'extensions' module for some more functions on Solaris.
29713         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
29714         module.
29715         * doc/posix-functions/ctime_r.texi: Likewise.
29716         * doc/posix-functions/getgrgid_r.texi: Likewise.
29717         * doc/posix-functions/getgrnam_r.texi: Likewise.
29718         * doc/posix-functions/getpwnam_r.texi: Likewise.
29719         * doc/posix-functions/getpwuid_r.texi: Likewise.
29720         * doc/posix-functions/readdir_r.texi: Likewise.
29721         * doc/posix-functions/sigwait.texi: Likewise.
29722         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
29723         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
29724
29725 2010-04-25  Bruno Haible  <bruno@clisp.org>
29726
29727         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
29728         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
29729         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
29730         * lib/ttyname_r.c: Include <limits.h>.
29731         (ttyname_r): Define using the system's ttyname_r function, if it exists
29732         and not on Solaris.
29733         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
29734         set.
29735         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
29736         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
29737         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
29738         Reported by Simon Josefsson.
29739
29740 2010-04-25  Bruno Haible  <bruno@clisp.org>
29741
29742         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
29743         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
29744         * doc/posix-functions/ctime_r.texi: Likewise.
29745         * doc/posix-functions/getgrgid_r.texi: Likewise.
29746         * doc/posix-functions/getgrnam_r.texi: Likewise.
29747         * doc/posix-functions/getlogin_r.texi: Likewise.
29748         * doc/posix-functions/getpwnam_r.texi: Likewise.
29749         * doc/posix-functions/getpwuid_r.texi: Likewise.
29750         * doc/posix-functions/readdir_r.texi: Likewise.
29751         * doc/posix-functions/sigwait.texi: Likewise.
29752         * doc/posix-functions/ttyname_r.texi: Likewise.
29753         Reported by Simon Josefsson.
29754
29755 2010-04-25  Bruno Haible  <bruno@clisp.org>
29756
29757         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
29758         * gnulib-tool (func_usage): Document that --with-*-tests options apply
29759         also to --create-testdir.
29760         (func_acceptable): Don't consider the status of *-tests modules here.
29761         (func_modules_transitive_closure): Consider it here, before including a
29762         test module.
29763         (func_import, func_create_testdir): Set inc_all_direct_tests,
29764         inc_all_indirect_tests.
29765         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
29766         --create-testdir and --create-megatestdir.
29767
29768 2010-04-25  Bruno Haible  <bruno@clisp.org>
29769
29770         gnulib-tool: Add --without-*-tests options.
29771         * gnulib-tool (func_usage): Document the --without-*-tests options.
29772         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
29773         excl_unportable_tests): New variables.
29774         Fail if they are specified with --import or --update.
29775         (func_acceptable): Respect the excl_*_tests variables.
29776         (func_import): Set the excl_*_tests variables to empty.
29777
29778 2010-04-25  Simon Josefsson  <simon@josefsson.org>
29779             Bruno Haible  <bruno@clisp.org>
29780
29781         Work around a MacOS X 10.4 bug with openpty.
29782         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
29783         * tests/test-openpty.c (main): Close the master side explicitly.
29784
29785 2010-04-25  Bruno Haible  <bruno@clisp.org>
29786
29787         strnlen: Fix a C++ test error on MacOS X and Solaris.
29788         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
29789         the function is not declared.
29790         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
29791         Simon Josefsson.
29792
29793 2010-04-24  Bruno Haible  <bruno@clisp.org>
29794
29795         Avoid a gcc warning.
29796         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
29797         of correct type for %08lx directive.
29798         Reported by Eric Blake.
29799
29800 2010-04-24  Bruno Haible  <bruno@clisp.org>
29801
29802         vasnprintf: Correct errno value in case of out-of-memory.
29803         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
29804         or sprintf. Use the errno value from SNPRINTF or sprintf.
29805         Reported by Ian Beckwith <ianb@erislabs.net>.
29806
29807 2010-04-24  Bruno Haible  <bruno@clisp.org>
29808
29809         ansi-c++-opt: Find correct compiler when cross-compiling.
29810         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
29811         AC_CHECK_PROGS.
29812         Reported by Simon Josefsson.
29813
29814 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
29815
29816         vc-list-files: Add support for subversion
29817         * build-aux/vc-list-files: Use "svn list" to generate the list of
29818         files controlled by subversion.
29819
29820 2010-04-23  Jim Meyering  <meyering@redhat.com>
29821
29822         vc-list-files tests: convert to use init.sh
29823         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
29824         path_prepend_.
29825         Use Exit, not exit.
29826         Use skip_ rather than open coding it.
29827         Remove trap set-up and compare definitions.
29828         * tests/test-vc-list-files-git.sh: Likewise.
29829         * modules/vc-list-files-tests (Files): Add tests/init.sh.
29830
29831 2010-04-22  Simon Josefsson  <simon@josefsson.org>
29832
29833         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
29834         backup files.
29835
29836 2010-04-21  Simon Josefsson  <simon@josefsson.org>
29837
29838         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
29839
29840 2010-04-20  Eric Blake  <eblake@redhat.com>
29841
29842         tests: be robust to ignored SIGPIPE
29843         * tests/test-select-in.sh: Consume all output.
29844         * tests/test-lseek.sh: Check correct exit status, while avoiding
29845         EPIPE.
29846
29847 2010-04-20  Simon Josefsson  <simon@josefsson.org>
29848             Bruno Haible  <bruno@clisp.org>
29849
29850         visibility: Don't use -fvisibility if it leads to a warning.
29851         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
29852         yes, don't pretend that visibility works if it leads to a warning.
29853         Reported by Mike Gran <spk121@yahoo.com>.
29854
29855 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
29856
29857         * build-aux/bootstrap: Use "git -h" for testing for supported options
29858         instead of "git --help".  The short-form option only shows a summary,
29859         and doesn't layout the full man page.  Grep for the full option name
29860         in the summary, too.
29861
29862 2010-04-19  Bruno Haible  <bruno@clisp.org>
29863
29864         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
29865         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
29866         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
29867         mention of RELOCATABLE_STRIP.
29868         Reported by Sylvain Beucler <beuc@beuc.net>.
29869
29870 2010-04-19  Bruno Haible  <bruno@clisp.org>
29871
29872         * lib/diffseq.h: Fix typo in comment.
29873         Reported by Eric Blake.
29874
29875 2010-04-19  Bruno Haible  <bruno@clisp.org>
29876
29877         ioctl: Move autoconf macro to a .m4 file.
29878         * m4/ioctl.m4: New file, extracted from modules/ioctl.
29879         * modules/ioctl (Files): Add it.
29880         (configure.ac): Simply invoke gl_FUNC_IOCTL.
29881         Reported by Ian Beckwith <ianb@erislabs.net>.
29882
29883 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
29884             Bruno Haible  <bruno@clisp.org>
29885
29886         diffseq: Accommodate use-case with abstract arrays.
29887         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
29888         is not defined.
29889         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
29890         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
29891
29892 2010-04-18  Bruno Haible  <bruno@clisp.org>
29893
29894         * doc/posix-headers/stdbool.texi: More precise wording.
29895
29896 2010-04-17  Jim Meyering  <meyering@redhat.com>
29897
29898         maint.mk: use gnu-style indentation in an embedded perl script
29899         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
29900         Rename variable: s/two/last_two_bytes/
29901
29902 2010-04-16  Eric Blake  <eblake@redhat.com>
29903
29904         test-stdbool: skip test that fails with Solaris CC
29905         * tests/test-stdbool.c (f): Skip test that causes compilation
29906         error under buggy C++ compiler.
29907         * lib/stdbool.in.h: Document the limitation.
29908         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
29909
29910         setenv: allow compilation with C++
29911         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
29912         register keyword.
29913
29914         stdint: allow test to pass with C++
29915         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
29916
29917         getopt: allow compilation with C++
29918         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
29919         struct.
29920         * lib/getopt.c (_getopt_internal_r): Use correct type.
29921         Reported by Dagobert Michelson, via Joel E. Denny.
29922
29923 2010-04-16  Bruno Haible  <bruno@clisp.org>
29924
29925         Override netdb.h always.
29926         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
29927         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
29928         Reported by Ludovic Courtès <ludo@gnu.org>.
29929
29930 2010-04-15  Bruno Haible  <bruno@clisp.org>
29931
29932         openpty: Fix mistake from 2010-03-21.
29933         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
29934         Reported by Simon Josefsson.
29935
29936 2010-04-15  Eric Blake  <eblake@redhat.com>
29937
29938         test-forkpty: fix expected signature
29939         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
29940         Reported by Simon Josefsson.
29941
29942 2010-04-15  Jim Meyering  <meyering@redhat.com>
29943
29944         maint.mk: texinfo_suffix_re_: correct the default regexp
29945         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
29946
29947         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
29948         make it configurable via texinfo_suffix_re_.
29949
29950 2010-04-14  Eric Blake  <eblake@redhat.com>
29951
29952         strtok_r: relax license to LGPLv2+
29953         * modules/strtok_r (License): Relax license.
29954         Reported by Matthias Bolte.
29955
29956 2010-04-14  Simon Josefsson  <simon@josefsson.org>
29957
29958         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
29959         version 1.4.4 by default instead of requiring the libgcrypt
29960         version used during build.  This makes it possible to use the
29961         application with older but still binary compatible libgcrypt
29962         versions.
29963
29964 2010-04-13  Eric Blake  <eblake@redhat.com>
29965
29966         getopt-gnu: match recent glibc fixes and posix ruling
29967         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
29968         '+' handling, when requesting extensions.
29969         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
29970         'W;' handling.
29971         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
29972         * doc/posix-functions/getopt.texi (getopt): Document this.
29973         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
29974         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
29975         Likewise.
29976
29977         getopt: merge bug fixes from glibc
29978         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
29979         diagnostics.  Honor '+:' correctly.  Reject ';'.
29980
29981         getopt-posix: detect MacOS bug
29982         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
29983         optind when missing a required argument.
29984         * doc/posix-functions/getopt.texi (getopt): Document the bug.
29985         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
29986         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
29987         Likewise.
29988
29989         getopt-posix: avoid spurious failure on Solaris
29990         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
29991         an indicator that setting optind=1 is sufficient for reset.
29992
29993         getopt-posix: avoid spurious failure on FreeBSD
29994         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
29995         in POSIX mode, since the m4 test uses it.
29996
29997         gnulib-tool: silence warning on BSD sh
29998         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
29999
30000 2010-04-13  Jim Meyering  <meyering@redhat.com>
30001
30002         doc: users.txt: GNU patch now uses gnulib
30003         * users.txt: Add patch.
30004
30005 2010-04-12  Jim Meyering  <meyering@redhat.com>
30006
30007         maint.mk: generate more concise timing data for syntax-check rules
30008         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
30009         " done" from each line that reports a syntax-check test duration.
30010
30011 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
30012
30013         git-version-gen: use "git update-index..." rather than "git status"
30014         * build-aux/git-version-gen: Use git update-index --refresh, not
30015         "git status".  With some versions of git, "git status" would fail
30016         to update the index and result in an unwarranted "-dirty" suffix.
30017
30018 2010-04-11  Jim Meyering  <meyering@redhat.com>
30019
30020         openat: correct formatting (no semantic change)
30021         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
30022         Suggested by Bruno Haible.
30023
30024 2010-04-11  Bruno Haible  <bruno@clisp.org>
30025
30026         Stricter declaration checking in testdirs.
30027         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
30028         If for_tests is true, augment AM_CPPFLAGS to define
30029         GNULIB_STRICT_CHECKING.
30030         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
30031         GNULIB_STRICT_CHECKING is defined, verify that the function is
30032         declared.
30033
30034 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
30035             Bruno Haible  <bruno@clisp.org>
30036
30037         libunistring: Improve configure output.
30038         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
30039         Don't say "consider installing GNU libunistring" when checking again
30040         with libiconv.
30041
30042 2010-04-11  Bruno Haible  <bruno@clisp.org>
30043
30044         libunistring: Correct value of $LTLIBUNISTRING.
30045         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
30046         correct the value of $LTLIBUNISTRING.
30047
30048 2010-04-11  Bruno Haible  <bruno@clisp.org>
30049
30050         havelib: Add static libraries to LIBS in the right order.
30051         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
30052         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
30053
30054 2010-04-11  Bruno Haible  <bruno@clisp.org>
30055
30056         libunistring: Detect libunistring also when it depends on libiconv.
30057         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
30058         the second AC_LIB_HAVE_LINKFLAGS invocation.
30059
30060 2010-04-11  James Youngman  <jay@gnu.org>
30061
30062         close-stream: declare local scalars to be "const"
30063         * lib/close-stream.c (close_stream): Make boolean variables const
30064         to document the fact that we set but do not change them.
30065
30066 2010-04-11  Bruno Haible  <bruno@clisp.org>
30067
30068         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
30069
30070 2010-04-11  Jim Meyering  <meyering@redhat.com>
30071
30072         maint.mk: don't include dist-check.mk
30073         * top/maint.mk: Remove bogus include directive.
30074
30075         maint.mk: improve empty-line-at-EOF check
30076         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
30077         solution, rather than tail+Perl-based one.  The latter would read
30078         a few kilobytes from the end of each file, and did not handle empty
30079         files properly.
30080
30081         maint.mk: print the elapsed time for each syntax-check rule
30082         * top/maint.mk (sc_m_rules_): Save start time in a file.
30083         (sc_z_rules_): New rules: remove temp file and print elapsed time.
30084         (local-check): Interpose the .z rules
30085
30086 2010-04-11  Jim Meyering  <meyering@redhat.com>
30087
30088         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
30089         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
30090         empty file with one that ends in an empty line.
30091
30092 2010-04-10  Bruno Haible  <bruno@clisp.org>
30093
30094         mkdir: Make it work on mingw64.
30095         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
30096         * lib/mkdir.c: Update comment.
30097         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
30098
30099 2010-04-10  Bruno Haible  <bruno@clisp.org>
30100
30101         Don't override improved macro from newer autoconf.
30102         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
30103         autoconf >= 2.62.
30104         Reported by Joel E. Denny <jdenny@clemson.edu>.
30105
30106 2010-04-10  Jim Meyering  <meyering@redhat.com>
30107
30108         maint.mk: new syntax-check rule: prohibit empty lines at end of file
30109         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
30110
30111         maint.mk: correct a diagnostic
30112         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
30113         in diagnostic; now use $prohibit.
30114
30115 2010-04-10  Bruno Haible  <address@hidden>
30116
30117         fchownat: Fix a C++ test error on Solaris 8.
30118         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
30119         the function does not exist.
30120
30121 2010-04-10  Bruno Haible  <bruno@clisp.org>
30122
30123         vasnprintf: Add more tests.
30124         * tests/test-vasnprintf-posix.c: Include <errno.h>.
30125         (test_function): Test converting an invalid wide string.
30126
30127         vasnprintf: Correct handling of unconvertible wide string arguments.
30128         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
30129         VASNPRINTF.
30130         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
30131         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
30132         smaller than the expected maximum need for the directive. Set errno to
30133         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
30134         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
30135         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
30136         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
30137         * modules/vasnprintf (Files): Add m4/printf.m4.
30138         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30139
30140 2010-04-10  Bruno Haible  <bruno@clisp.org>
30141
30142         vasnprintf: Fix crash in %ls directive.
30143         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
30144         string is passed as argument to %ls, with no precision and no width.
30145         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30146
30147 2010-04-10  Bruno Haible  <bruno@clisp.org>
30148
30149         vasnprintf: Fix multiple test failures on mingw.
30150         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
30151         _snprintf, or snwprintf, not _snwprintf.
30152
30153 2010-04-10  Bruno Haible  <bruno@clisp.org>
30154
30155         write: Fix a C++ test error on mingw.
30156         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
30157
30158 2010-04-10  Bruno Haible  <bruno@clisp.org>
30159
30160         vasnprintf test: Reduce code duplication.
30161         * tests/test-vasnprintf.c (test_function): New function, extracted from
30162         test_vasnprintf.
30163         (test_vasnprintf, test_asnprintf): Invoke it.
30164
30165 2010-04-10  Bruno Haible  <bruno@clisp.org>
30166
30167         strnlen: Fix warning in C++ mode on MacOS X.
30168         * lib/string.in.h (strnlen): Use the modern idiom.
30169         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
30170         defining strnlen as a macro already in <config.h>.
30171         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30172         REPLACE_STRNLEN.
30173         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
30174         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30175
30176 2010-04-08  James Youngman  <jay@gnu.org>
30177
30178         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
30179         the example.
30180
30181 2010-04-09  Jim Meyering  <meyering@redhat.com>
30182
30183         maint.mk: print better diagnostic when there is no $(_hv_file)
30184         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
30185         announce that when $(_hv_file) (aka help-version) does not exist.
30186
30187         init.sh: run tr in the "C" locale to avoid multibyte interpretation
30188         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
30189         not try to interpret its random input bytes.  Jarno Rajahalme reported
30190         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
30191         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
30192         (mktempd_): Likewise, just in case.
30193
30194         ftruncate: add two years to projected module removal date: 2012
30195         * m4/ftruncate.m4: Adjust comments.
30196
30197         ftruncate: mark module as obsolete; even MinGW provides it, now
30198         * modules/ftruncate (Status): Obsolete.
30199         (Notice): Say that.
30200         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
30201         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
30202
30203 2010-04-08  Bruno Haible  <bruno@clisp.org>
30204
30205         Fix side effects from tests-related modules.
30206         * modules/dprintf-posix (Comment): New section.
30207         * modules/fprintf-posix (Comment): Likewise.
30208         * modules/obstack-printf-posix (Comment): Likewise.
30209         * modules/printf-posix (Comment): Likewise.
30210         * modules/snprintf-posix (Comment): Likewise.
30211         * modules/sprintf-posix (Comment): Likewise.
30212         * modules/vasnprintf-posix (Comment): Likewise.
30213         * modules/vasprintf-posix (Comment): Likewise.
30214         * modules/vdprintf-posix (Comment): Likewise.
30215         * modules/vfprintf-posix (Comment): Likewise.
30216         * modules/vprintf-posix (Comment): Likewise.
30217         * modules/vsnprintf-posix (Comment): Likewise.
30218         * modules/vsprintf-posix (Comment): Likewise.
30219         * modules/xprintf-posix (Comment): Likewise.
30220         * modules/xvasprintf-posix (Comment): Likewise.
30221         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
30222         * modules/floorf-tests (Depends-on): Likewise.
30223         * modules/round-tests (Depends-on): Likewise.
30224         * modules/roundf-tests (Depends-on): Likewise.
30225         * modules/trunc-tests (Depends-on): Likewise.
30226         * modules/truncf-tests (Depends-on): Likewise.
30227         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
30228         'fprintf-posix' module is not present.
30229         * tests/test-floorf2.c (check): Likewise.
30230         * tests/test-trunc2.c (check): Likewise.
30231         * tests/test-truncf2.c (check): Likewise.
30232         * tests/test-round2.c (equal): Likewise.
30233         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30234
30235 2010-04-07  Karl Berry  <karl@gnu.org>
30236
30237         * config/srclist.txt,
30238         * config/srclistvars.sh,
30239         * config/srclist-update: doc fixes.
30240
30241 2010-04-07  Jim Meyering  <meyering@redhat.com>
30242
30243         maint.mk: add a PATH crosschecking syntax-check rule
30244         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
30245         Useful if you use a test like the one in help-version (coreutils,
30246         diffutils, grep, gzip) that ensures $(VERSION) matches what is
30247         printed by prog --version.
30248
30249 2010-04-06  Bruno Haible  <bruno@clisp.org>
30250
30251         Fix link error on mingw.
30252         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
30253         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
30254
30255 2010-04-06  Bruno Haible  <bruno@clisp.org>
30256
30257         Assume rmdir exists.
30258         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
30259
30260 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
30261
30262         doc: update users.txt
30263         * users.txt: Add gcal.
30264
30265 2010-04-06  Jim Meyering  <meyering@redhat.com>
30266
30267         init.sh: simply unset TMPDIR rather than risking env -i
30268         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
30269         although it probably works fine on all Unix-based systems, some
30270         systems (Cygwin?) cannot tolerate a totally cleared environment.
30271         Suggestion from Eric Blake.
30272
30273 2010-04-06  Jim Meyering  <meyering@redhat.com>
30274
30275         init.sh: portability fix: use env's POSIX-specified -i option not -u
30276         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
30277         than unportable env -u.  Solaris 5.11's env lacks support for -u.
30278
30279 2010-04-05  Bruno Haible  <bruno@clisp.org>
30280
30281         btowc: Work around Cygwin 1.7.2 bug.
30282         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
30283         does not map NUL to 0.
30284         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
30285
30286 2010-04-05  Bruno Haible  <bruno@clisp.org>
30287
30288         Make the multithread modules work on Cygwin 1.7.2.
30289         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
30290         imported symbols can be declared weak, so that it returns "no" on
30291         Cygwin 1.7.2.
30292
30293 2010-04-05  Bruno Haible  <bruno@clisp.org>
30294
30295         Use the module 'strncat'.
30296         * modules/unistr/u8-strncat (Depends-on): Add strncat.
30297
30298         Tests for module 'strncat'.
30299         * modules/strncat-tests: New file.
30300         * tests/test-strncat.c: New file.
30301
30302         New module 'strncat'.
30303         * lib/string.in.h (strncat): New declaration.
30304         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
30305         * m4/strncat.m4: New file, based on m4/memchr.m4.
30306         * modules/strncat: New file.
30307         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
30308         is declared.
30309         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
30310         REPLACE_STRNCAT.
30311         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
30312         REPLACE_STRNCAT.
30313         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
30314         module.
30315         * tests/test-string-c++.cc: Check signature of strncat.
30316
30317 2010-04-05  Jim Meyering  <meyering@redhat.com>
30318
30319         xstrtoumax-tests: convert to use init.sh
30320         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
30321         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
30322         Use Exit, not exit.
30323         Remove uses of $EXEEXT and "./" to run a program in the current dir.
30324
30325         xstrtoimax-tests: convert to use init.sh
30326         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
30327         * tests/test-xstrtoimax.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 2010-04-05  Bruno Haible  <bruno@clisp.org>
30332
30333         sys_socket: Avoid #define replacements in C++ mode.
30334         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
30335         warning to the function if possible, rather than #defining the symbol
30336         to a dysfunctional alias.
30337
30338 2010-04-05  Bruno Haible  <bruno@clisp.org>
30339
30340         fseeko: Fix C++ test error on mingw.
30341         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
30342         gl_FUNC_FSEEKO.
30343         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
30344         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
30345         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
30346         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
30347
30348 2010-04-05  Bruno Haible  <bruno@clisp.org>
30349
30350         duplocale: Improve test output.
30351         * tests/test-duplocale.c (main): Print reason for skipped test.
30352
30353 2010-04-05  Bruno Haible  <bruno@clisp.org>
30354
30355         Assume rmdir exists.
30356         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
30357         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
30358
30359 2010-04-05  Bruno Haible  <bruno@clisp.org>
30360
30361         Fix link error on Solaris 8 with cc.
30362         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
30363
30364 2010-04-05  Bruno Haible  <bruno@clisp.org>
30365
30366         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
30367         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
30368
30369 2010-04-05  Bruno Haible  <bruno@clisp.org>
30370
30371         vasprintf: Update documentation.
30372         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
30373
30374 2010-04-05  Bruno Haible  <bruno@clisp.org>
30375
30376         ptsname: Improve test.
30377         * tests/test-ptsname.c (main): Also try the various master names of BSD
30378         systems.
30379
30380 2010-04-05  Bruno Haible  <bruno@clisp.org>
30381
30382         memchr: Avoid a possible C++ test error.
30383         * lib/string.in.h (memchr): Provide declaration if function is missing.
30384         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
30385         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
30386         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
30387         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
30388
30389 2010-04-05  Bruno Haible  <bruno@clisp.org>
30390
30391         strtok_r: Improve idiom.
30392         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
30393         AC_LIBOBJ is used.
30394
30395 2010-04-05  Bruno Haible  <bruno@clisp.org>
30396
30397         strdup: Improve idiom.
30398         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
30399         AC_LIBOBJ is used.
30400         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
30401         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
30402         when AC_LIBOBJ is used.
30403
30404 2010-04-05  Bruno Haible  <bruno@clisp.org>
30405
30406         mbsinit, mbrtowc, wcrtomb: Improve idioms.
30407         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
30408         don't set REPLACE_MBSINIT to 1.
30409         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
30410         don't set REPLACE_MBRTOWC to 1.
30411         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
30412         exist, don't set REPLACE_MBSRTOWCS to 1.
30413         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
30414         exist, don't set REPLACE_MBSNRTOWCS to 1.
30415         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
30416         don't set REPLACE_WCRTOMB to 1.
30417         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
30418         exist, don't set REPLACE_WCSRTOMBS to 1.
30419         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
30420         exist, don't set REPLACE_WCSNRTOMBS to 1.
30421
30422 2010-04-05  Bruno Haible  <bruno@clisp.org>
30423
30424         ldexpl: Improve idiom.
30425         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
30426         make sure to set HAVE_DECL_LDEXPL to 0.
30427
30428 2010-04-05  Jim Meyering  <meyering@redhat.com>
30429
30430         xstrtol-tests: convert to use init.sh
30431         * modules/xstrtol-tests (Files): Add tests/init.sh.
30432         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
30433         Use Exit, not exit.
30434         Remove uses of $EXEEXT and "./" to run a program in the current dir.
30435
30436         atexit-tests: convert to use init.sh
30437         * modules/atexit-tests (Files): Add tests/init.sh.
30438         * tests/test-atexit.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         init.sh: fix typo
30443         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
30444
30445         init.sh: make it easier for a test script to write to the tty, ...
30446         when using automake's parallel-tests mode.
30447         * tests/init.sh (stderr_fileno_): Define overridable variable.
30448         (warn_): New function, to use it.
30449         (fail_, skip_, framework_failure_): Use warn_.
30450
30451 2010-04-04  Bruno Haible  <bruno@clisp.org>
30452
30453         btowc: Avoid warning.
30454         * lib/btowc.c: Include <stdlib.h>.
30455         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
30456
30457 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
30458             Bruno Haible  <bruno@clisp.org>
30459
30460         wchar: Port to NetBSD 1.5.
30461         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
30462         * lib/wctype.in.h (WEOF): Likewise.
30463
30464 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
30465             Bruno Haible  <bruno@clisp.org>
30466
30467         Port extended stdio to NetBSD 1.5.
30468         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
30469         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
30470         older.
30471
30472 2010-04-04  Bruno Haible  <bruno@clisp.org>
30473
30474         string: Remove unused substitution.
30475         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
30476         HAVE_DECL_STRERROR.
30477         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
30478
30479 2010-04-04  Bruno Haible  <bruno@clisp.org>
30480
30481         strtod: Avoid a possible C++ test error.
30482         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
30483         set REPLACE_STRTOD.
30484
30485 2010-04-04  Bruno Haible  <bruno@clisp.org>
30486
30487         strerror: Update documentation.
30488         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
30489
30490 2010-04-04  Bruno Haible  <bruno@clisp.org>
30491
30492         stdio: Fix some C++ test errors on Solaris 8 with GCC.
30493         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
30494         _GL_CXXALIAS_SYS_CAST.
30495
30496 2010-04-04  Bruno Haible  <bruno@clisp.org>
30497
30498         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
30499         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
30500         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
30501         REPLACE_FREXPL to 1.
30502         * doc/posix-functions/frexpl.texi: Update documentation.
30503
30504 2010-04-04  Bruno Haible  <bruno@clisp.org>
30505
30506         math: Fix some C++ test errors on Solaris 8 and Cygwin.
30507         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
30508
30509 2010-04-04  Bruno Haible  <bruno@clisp.org>
30510
30511         Implement nanosleep for native Windows.
30512         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
30513
30514 2010-04-04  Bruno Haible  <bruno@clisp.org>
30515
30516         math: Fix some C++ test errors on Solaris 8.
30517         * lib/math.in.h (truncf, trunc): Use simpler idiom.
30518
30519 2010-04-04  Bruno Haible  <bruno@clisp.org>
30520
30521         math: Fix some C++ test errors on Cygwin.
30522         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
30523         truncl): Provide declaration if the system does not have it.
30524         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
30525         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
30526         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
30527         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
30528         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
30529         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
30530         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
30531         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
30532         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
30533         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
30534         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
30535         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
30536         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
30537         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
30538         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
30539         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
30540         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
30541         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
30542         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
30543         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
30544         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
30545         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
30546
30547 2010-04-04  Bruno Haible  <bruno@clisp.org>
30548
30549         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
30550         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
30551         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
30552         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
30553         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
30554         * m4/isinf.m4 (gl_ISINF): Likewise.
30555         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
30556
30557 2010-04-04  Bruno Haible  <bruno@clisp.org>
30558
30559         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
30560         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
30561
30562 2010-04-04  Bruno Haible  <bruno@clisp.org>
30563
30564         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
30565         * modules/tmpfile (configure.ac): Update.
30566
30567         tmpfile: Fix C++ test error on mingw.
30568         * lib/stdio.in.h (tmpfile): New declaration.
30569         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
30570         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
30571         * modules/tmpfile (Depends-on): Add stdio.
30572         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
30573         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
30574         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
30575         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
30576         REPLACE_TMPFILE.
30577         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
30578
30579 2010-04-04  Bruno Haible  <bruno@clisp.org>
30580
30581         ioctl: Fix C++ test error on mingw.
30582         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
30583         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
30584         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
30585
30586 2010-04-03  Bruno Haible  <bruno@clisp.org>
30587
30588         wcwidth: Fix C++ test error on mingw.
30589         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
30590         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
30591         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
30592
30593 2010-04-03  Bruno Haible  <bruno@clisp.org>
30594
30595         nanosleep: Fix C++ test error on mingw.
30596         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
30597         * lib/time.in.h (nanosleep): Use modern idiom.
30598         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
30599         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
30600         REPLACE_NANOSLEEP to 1.
30601         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
30602         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
30603
30604 2010-04-03  Bruno Haible  <bruno@clisp.org>
30605
30606         strptime: Fix C++ test error on mingw.
30607         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
30608         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
30609         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
30610         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
30611         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
30612         not REPLACE_STRPTIME.
30613         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
30614         REPLACE_STRPTIME.
30615
30616 2010-04-03  Bruno Haible  <bruno@clisp.org>
30617
30618         timegm: Fix C++ test error on mingw.
30619         * lib/time.in.h (timegm): Use modern idiom.
30620         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
30621         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
30622         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
30623         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
30624
30625 2010-04-03  Bruno Haible  <bruno@clisp.org>
30626
30627         timegm: Assume declaration if function exists.
30628         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
30629         if it exists. Don't clobber ac_cv_func_timegm.
30630
30631 2010-04-03  Bruno Haible  <bruno@clisp.org>
30632
30633         time_r: Fix C++ test error on mingw.
30634         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
30635         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
30636         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
30637         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
30638         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
30639
30640 2010-04-03  Bruno Haible  <bruno@clisp.org>
30641
30642         time_r: Minor updates.
30643         * modules/time_r (Description): Mention the provided functions.
30644         * lib/time_r.c: Don't include <string.h>.
30645         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
30646         * doc/posix-functions/localtime_r.texi: Likewise.
30647
30648 2010-04-03  Bruno Haible  <bruno@clisp.org>
30649
30650         time: Fix regression introduced on 2010-03-08.
30651         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
30652         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
30653
30654 2010-04-03  Jim Meyering  <meyering@redhat.com>
30655
30656         maint.mk: don't silently disable project-specific syntax-check rules
30657         * top/maint.mk (_prohibit_regexp): Define, to help people realize
30658         that they need to convert their project-specific syntax-check rules
30659         to use the new _sc_search_regexp.
30660
30661 2010-04-03  Bruno Haible  <bruno@clisp.org>
30662
30663         fchdir: Fix regression introduced on 2010-03-08.
30664         * lib/unistd.in.h (fchdir): Fix declaration.
30665         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
30666         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
30667         REPLACE_FCHDIR.
30668         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
30669         REPLACE_FCHDIR.
30670
30671 2010-04-03  Bruno Haible  <bruno@clisp.org>
30672
30673         getpagesize: Fix C++ test error on mingw.
30674         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
30675         system does not declare the function.
30676         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
30677         declared.
30678         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
30679         HAVE_DECL_GETPAGESIZE.
30680         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
30681
30682 2010-04-03  Bruno Haible  <bruno@clisp.org>
30683
30684         stdio: Make C++ tests work on mingw.
30685         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
30686         does not declare the function.
30687
30688 2010-04-03  Bruno Haible  <bruno@clisp.org>
30689
30690         ftello: Fix C++ test error on mingw.
30691         * lib/stdio.in.h (ftello): Use modern idiom.
30692         * lib/ftello.c (ftello): Renamed from rpl_ftello.
30693         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
30694         is missing and that it needs to be replaced.
30695         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
30696         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
30697         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
30698
30699 2010-04-03  Bruno Haible  <bruno@clisp.org>
30700
30701         fseeko: Fix C++ test error on mingw.
30702         * lib/stdio.in.h (fseeko): Use modern idiom.
30703         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
30704         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
30705         is missing and that it needs to be replaced.
30706         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
30707         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
30708         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
30709
30710 2010-04-03  Bruno Haible  <bruno@clisp.org>
30711
30712         mkstemp: Fix C++ test error on mingw.
30713         * lib/stdlib.in.h (mkstemp): Use modern idiom.
30714         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
30715         function is missing and that it needs to be replaced.
30716         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
30717         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
30718
30719 2010-04-03  Bruno Haible  <bruno@clisp.org>
30720
30721         stpncpy: Fix C++ test error on mingw.
30722         * lib/string.in.h (stpncpy): Use modern idiom.
30723         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
30724         function is missing and that it needs to be replaced.
30725         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30726         REPLACE_STPNCPY.
30727         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
30728
30729 2010-04-03  Bruno Haible  <bruno@clisp.org>
30730
30731         sys_stat: Fix C++ test error on mingw.
30732         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
30733         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
30734
30735 2010-04-03  Bruno Haible  <bruno@clisp.org>
30736
30737         pty: Update doc.
30738         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
30739
30740 2010-04-03  Bruno Haible  <bruno@clisp.org>
30741
30742         unistd: Fix C++ test error on mingw.
30743         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
30744
30745 2010-04-03  Bruno Haible  <bruno@clisp.org>
30746
30747         Update doc regarding mingw.
30748         * doc/glibc-functions/openpty.texi: Update regarding mingw.
30749         * doc/glibc-functions/login_tty.texi: Likewise.
30750         * doc/glibc-functions/forkpty.texi: Likewise.
30751
30752 2010-04-03  Bruno Haible  <bruno@clisp.org>
30753
30754         stdlib: Avoid compilation failure of c-strtold on mingw.
30755         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
30756
30757 2010-04-03  Bruno Haible  <bruno@clisp.org>
30758
30759         locale: Make C++ tests work on Cygwin and mingw.
30760         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
30761         cannot provide the function.
30762         Reported by Simon Josefsson.
30763
30764 2010-04-03  Bruno Haible  <bruno@clisp.org>
30765
30766         localename: Port to MacOS X 10.6.
30767         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
30768         memory layout of the locales in MacOS X 10.6 as well.
30769         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
30770
30771 2010-04-02  Bruno Haible  <bruno@clisp.org>
30772
30773         gnulib-tool: Ensure that long-running tests are executed last.
30774         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
30775         running tests after the one for the other tests.
30776
30777 2010-04-02  Bruno Haible  <bruno@clisp.org>
30778
30779         gnulib-tool: Ensure the tests in the main directory are executed first.
30780         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
30781         start with the current directory.
30782
30783 2010-04-02  Bruno Haible  <bruno@clisp.org>
30784
30785         Tests for module 'havelib', moved here from GNU gettext.
30786         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
30787         modifications.
30788         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
30789         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
30790         with modifications.
30791         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
30792         modifications.
30793         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
30794         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
30795         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
30796         with modifications.
30797         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
30798         with modifications.
30799         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
30800         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
30801         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
30802         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
30803         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
30804         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
30805         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
30806         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
30807         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
30808         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
30809         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
30810         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
30811         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
30812         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
30813         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
30814         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
30815         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
30816         with modifications.
30817         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
30818         with modifications.
30819         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
30820         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
30821         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
30822         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
30823         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
30824         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
30825         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
30826         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
30827         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
30828         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
30829         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
30830         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
30831         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
30832         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
30833         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
30834         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
30835         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
30836         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
30837         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
30838         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
30839         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
30840         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
30841         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
30842         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
30843         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
30844         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
30845         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
30846         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
30847         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
30848         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
30849         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
30850         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
30851         * tests/havelib/rpathx/rpathx.c: New file, from
30852         gettext/autoconf-lib-link.
30853         * tests/havelib/rpathx/Makefile.am: New file, from
30854         gettext/autoconf-lib-link.
30855         * tests/havelib/rpathx/configure.ac: New file, from
30856         gettext/autoconf-lib-link with modifications.
30857         * tests/havelib/rpathy/rpathy.c: New file, from
30858         gettext/autoconf-lib-link.
30859         * tests/havelib/rpathy/Makefile.am: New file, from
30860         gettext/autoconf-lib-link.
30861         * tests/havelib/rpathy/configure.ac: New file, from
30862         gettext/autoconf-lib-link with modifications.
30863         * tests/havelib/rpathz/rpathz.c: New file, from
30864         gettext/autoconf-lib-link.
30865         * tests/havelib/rpathz/Makefile.am: New file, from
30866         gettext/autoconf-lib-link.
30867         * tests/havelib/rpathz/configure.ac: New file, from
30868         gettext/autoconf-lib-link with modifications.
30869         * tests/havelib/rpathlx/usex.c: New file, from
30870         gettext/autoconf-lib-link.
30871         * tests/havelib/rpathlx/Makefile.am: New file, from
30872         gettext/autoconf-lib-link.
30873         * tests/havelib/rpathlx/configure.ac: New file, from
30874         gettext/autoconf-lib-link with modifications.
30875         * tests/havelib/rpathly/usey.c: New file, from
30876         gettext/autoconf-lib-link.
30877         * tests/havelib/rpathly/Makefile.am: New file, from
30878         gettext/autoconf-lib-link.
30879         * tests/havelib/rpathly/configure.ac: New file, from
30880         gettext/autoconf-lib-link with modifications.
30881         * tests/havelib/rpathlz/usez.c: New file, from
30882         gettext/autoconf-lib-link.
30883         * tests/havelib/rpathlz/Makefile.am: New file, from
30884         gettext/autoconf-lib-link.
30885         * tests/havelib/rpathlz/configure.ac: New file, from
30886         gettext/autoconf-lib-link with modifications.
30887         * tests/havelib/rpathlyx/usey.c: New file, from
30888         gettext/autoconf-lib-link.
30889         * tests/havelib/rpathlyx/Makefile.am: New file, from
30890         gettext/autoconf-lib-link.
30891         * tests/havelib/rpathlyx/configure.ac: New file, from
30892         gettext/autoconf-lib-link with modifications.
30893         * tests/havelib/rpathlzyx/usez.c: New file, from
30894         gettext/autoconf-lib-link.
30895         * tests/havelib/rpathlzyx/Makefile.am: New file, from
30896         gettext/autoconf-lib-link.
30897         * tests/havelib/rpathlzyx/configure.ac: New file, from
30898         gettext/autoconf-lib-link with modifications.
30899         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
30900         with modifications.
30901
30902 2010-04-02  Bruno Haible  <bruno@clisp.org>
30903
30904         gnulib-tool: Create distributed built sources also for the tests.
30905         * gnulib-tool (func_create_testdir): Also generate distributed built
30906         sources in the tests directory.
30907
30908 2010-04-02  Bruno Haible  <bruno@clisp.org>
30909
30910         gnulib-tool: Obey user's environment variables.
30911         * gnulib-tool (func_create_testdir): When creating built sources,
30912         respect the environment variables for autoconf, automake, etc. given by
30913         the user.
30914
30915 2010-04-02  Bruno Haible  <bruno@clisp.org>
30916
30917         gnulib-tool: Provide the value of --m4-base to modules.
30918         * gnulib-tool (func_import, func_create_testdir): Emit a definition
30919         of gl_m4_base.
30920
30921 2010-04-02  Eric Blake  <eblake@redhat.com>
30922
30923         maint.mk: fix some fallout
30924         * NEWS: Document the incompatible change, and its effect on cfg.mk.
30925         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
30926
30927 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
30928
30929         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
30930         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
30931         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
30932         (sc_cast_of_x_alloc_return_value): Likewise.
30933         (sc_cast_of_alloca_return_value): Likewise.
30934         (sc_space_tab): Likewise.
30935         (sc_prohibit_atoi_atof): Likewise.
30936         (sc_prohibit_magic_number_exit): Likewise.
30937         (sc_error_exit_success): Likewise.
30938         (sc_file_system): Likewise.
30939         (sc_prohibit_have_config_h): Likewise.
30940         (sc_require_config_h): Likewise.
30941         (sc_prohibit_HAVE_MBRTOWC): Likewise.
30942         (sc_obsolete_symbols): Likewise.
30943         (sc_changelog): Likewise.
30944         (sc_program_name): Likewise.
30945         (sc_the_the): Likewise.
30946         (sc_trailing_blank): Likewise.
30947         (sc_two_space_separator_in_usage): Likewise.
30948         (sc_useless_cpp_parens): Likewise.
30949         (sc_GPL_version): Likewise.
30950         (sc_GFDL_version): Likewise.
30951         (sc_texinfo_acronym): Likewise.
30952         (sc_prohibit_cvs_keyword): Likewise.
30953         (sc_prohibit_stat_st_blocks): Likewise.
30954         (sc_prohibit_S_IS_definition): Likewise.
30955         (sc_redundant_const): Likewise.
30956         (sc_makefile_TAB_only_indentation): Likewise.
30957         (sc_m4_quote_check): Likewise.
30958         (sc_makefile_path_separator_check): Likewise.
30959         (sc_copyright_check): Likewise.
30960         (sc_Wundef_boolean): Likewise.
30961         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
30962
30963         maint.mk: match 0 or more whitespace-before-function-call '('
30964         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
30965         that have zero or two-and-more spaces between the function name
30966         and the open parenthesis.
30967         (sc_error_message_warn_fatal): Likewise.
30968         (sc_error_message_uppercase): Likewise.
30969         (sc_error_message_period): Likewise.
30970
30971 2010-03-31  Eric Blake  <eblake@redhat.com>
30972
30973         maint.mk: check for [ as well as test
30974         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
30975         Based on a libvirt report by Matthias Bolte.
30976
30977         gnumakefile: don't squelch _version output
30978         * top/GNUmakefile (_version): Create one-shot dependency rather
30979         than using $(shell) when version must be regenerated.
30980         (_autoreconf): Run verbosely, by default.
30981
30982         sys_time: avoid compiler warnings
30983         * lib/sys_time.in.h (includes): Ensure gcc pragma is
30984         unconditional, fixing regression from 2010-03-29.
30985         Reported by Simon Josefsson.
30986
30987 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
30988
30989         maint.mk: s/_header_without_use/_sc_header_without_use/
30990         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
30991         (sc_prohibit_assert_without_use): Use the new name.
30992         (sc_prohibit_close_stream_without_use): Likewise.
30993         (sc_prohibit_getopt_without_use): Likewise.
30994         (sc_prohibit_quotearg_without_use): Likewise.
30995         (sc_prohibit_quote_without_use): Likewise.
30996         (sc_prohibit_long_options_without_use): Likewise.
30997         (sc_prohibit_inttostr_without_use): Likewise.
30998         (sc_prohibit_ignore_value_without_use): Likewise.
30999         (sc_prohibit_error_without_use): Likewise.
31000         (sc_prohibit_xalloc_without_use): Likewise.
31001         (sc_prohibit_hash_without_use): Likewise.
31002         (sc_prohibit_hash_pjw_without_use): Likewise.
31003         (sc_prohibit_safe_read_without_use): Likewise.
31004         (sc_prohibit_argmatch_without_use): Likewise.
31005         (sc_prohibit_canonicalize_without_use): Likewise.
31006         (sc_prohibit_root_dev_ino_without_use): Likewise.
31007         (sc_prohibit_openat_without_use): Likewise.
31008         (sc_prohibit_c_ctype_without_use): Likewise.
31009         (sc_prohibit_signal_without_use): Likewise.
31010         (sc_prohibit_intprops_without_use): Likewise.
31011
31012 2010-03-30  Eric Blake  <eblake@redhat.com>
31013
31014         maint: improve module indicators
31015         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
31016         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
31017         columns, and avoid extra macro expansion.
31018
31019         fdopendir: work around FreeBSD bug
31020         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
31021         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
31022         * modules/dirent (Makefile.am): Substitute it.
31023         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
31024         declaration.
31025         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
31026         fix.
31027         Reported by Christian Weisgerber <naddy@mips.inka.de>.
31028
31029 2010-03-29  Bruno Haible  <bruno@clisp.org>
31030
31031         Emit #pragma system_header after the inclusion guard, not before.
31032         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
31033         guard that spans the entire file, not before. This enables an
31034         optimization in GCC's preprocessor.
31035         * lib/ctype.in.h: Likewise.
31036         * lib/dirent.in.h: Likewise.
31037         * lib/errno.in.h: Likewise.
31038         * lib/float.in.h: Likewise.
31039         * lib/getopt.in.h: Likewise.
31040         * lib/iconv.in.h: Likewise.
31041         * lib/langinfo.in.h: Likewise.
31042         * lib/locale.in.h: Likewise.
31043         * lib/math.in.h: Likewise.
31044         * lib/netdb.in.h: Likewise.
31045         * lib/netinet_in.in.h: Likewise.
31046         * lib/pty.in.h: Likewise.
31047         * lib/sched.in.h: Likewise.
31048         * lib/se-selinux.in.h: Likewise.
31049         * lib/search.in.h: Likewise.
31050         * lib/spawn.in.h: Likewise.
31051         * lib/stdarg.in.h: Likewise.
31052         * lib/stdint.in.h: Likewise.
31053         * lib/string.in.h: Likewise.
31054         * lib/strings.in.h: Likewise.
31055         * lib/sys_file.in.h: Likewise.
31056         * lib/sys_ioctl.in.h: Likewise.
31057         * lib/sys_time.in.h: Likewise.
31058         * lib/sys_times.in.h: Likewise.
31059         * lib/sys_utsname.in.h: Likewise.
31060         * lib/sys_wait.in.h: Likewise.
31061         * lib/sysexits.in.h: Likewise.
31062         * lib/wctype.in.h: Likewise.
31063
31064 2010-03-28  James Youngman  <jay@gnu.org>
31065
31066         save-cwd: don't leak a file descriptor when the caller execs.
31067         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
31068         saved file descriptor.
31069         * modules/save-cwd (Depends-on): Depend on cloexec.
31070
31071 2010-03-29  Bruno Haible  <bruno@clisp.org>
31072
31073         Remove vestiges of fts-lgpl module.
31074         * lib/fts_.h: Assume GNULIB_FTS is 1.
31075         * lib/fts.c: Likewise.
31076         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
31077
31078 2010-03-28  Bruno Haible  <bruno@clisp.org>
31079
31080         Fix definition of tests witness macro.
31081         * gnulib-tool (func_import): Fix definition of witness macro.
31082
31083 2010-03-28  Bruno Haible  <bruno@clisp.org>
31084
31085         Fix ioctl's protoype on glibc systems.
31086         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
31087         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
31088         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
31089         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
31090         signature. If not, arrange to replace the ioctl function.
31091         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
31092         REPLACE_IOCTL.
31093         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
31094         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
31095         Reported by Ludovic Courtès <ludo@gnu.org>.
31096
31097 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
31098
31099         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
31100         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
31101         made it so grep -r --include=GLOB* ... did not work.
31102
31103 2010-03-26  Jim Meyering  <meyering@redhat.com>
31104             Eric Blake  <eblake@redhat.com>
31105
31106         maint.mk: prohibit use of test's -o and -a operators
31107         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
31108
31109 2010-03-28  Bruno Haible  <bruno@clisp.org>
31110
31111         Remove unused GNULIB_XYZ macro definitions.
31112         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
31113         invocation.
31114
31115 2010-03-28  Bruno Haible  <bruno@clisp.org>
31116
31117         Mark privileged tests modules.
31118         * modules/idpriv-drop-tests (Status): New section.
31119         * modules/idpriv-droptemp-tests (Status): New section.
31120
31121 2010-03-28  Bruno Haible  <bruno@clisp.org>
31122
31123         Split C++ tests into separate tests modules.
31124         * modules/dirent-c++-tests: New file, extracted from
31125         modules/dirent-tests.
31126         * modules/dirent-tests: Depend on it.
31127         * modules/fcntl-h-c++-tests: New file, extracted from
31128         modules/fcntl-h-tests.
31129         * modules/fcntl-h-tests: Depend on it.
31130         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
31131         * modules/glob-tests: Depend on it.
31132         * modules/iconv-h-c++-tests: New file, extracted from
31133         modules/iconv-h-tests.
31134         * modules/iconv-h-tests: Depend on it.
31135         * modules/langinfo-c++-tests: New file, extracted from
31136         modules/langinfo-tests.
31137         * modules/langinfo-tests: Depend on it.
31138         * modules/locale-c++-tests: New file, extracted from
31139         modules/locale-tests.
31140         * modules/locale-tests: Depend on it.
31141         * modules/math-c++-tests: New file, extracted from modules/math-tests.
31142         * modules/math-tests: Depend on it.
31143         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
31144         * modules/pty-tests: Depend on it.
31145         * modules/search-c++-tests: New file, extracted from
31146         modules/search-tests.
31147         * modules/search-tests: Depend on it.
31148         * modules/signal-c++-tests: New file, extracted from
31149         modules/signal-tests.
31150         * modules/signal-tests: Depend on it.
31151         * modules/spawn-c++-tests: New file, extracted from
31152         modules/spawn-tests.
31153         * modules/spawn-tests: Depend on it.
31154         * modules/stdio-c++-tests: New file, extracted from
31155         modules/stdio-tests.
31156         * modules/stdio-tests: Depend on it.
31157         * modules/stdlib-c++-tests: New file, extracted from
31158         modules/stdlib-tests.
31159         * modules/stdlib-tests: Depend on it.
31160         * modules/string-c++-tests: New file, extracted from
31161         modules/string-tests.
31162         * modules/string-tests: Depend on it.
31163         * modules/sys_ioctl-c++-tests: New file, extracted from
31164         modules/sys_ioctl-tests.
31165         * modules/sys_ioctl-tests: Depend on it.
31166         * modules/sys_select-c++-tests: New file, extracted from
31167         modules/sys_select-tests.
31168         * modules/sys_select-tests: Depend on it.
31169         * modules/sys_socket-c++-tests: New file, extracted from
31170         modules/sys_socket-tests.
31171         * modules/sys_socket-tests: Depend on it.
31172         * modules/sys_stat-c++-tests: New file, extracted from
31173         modules/sys_stat-tests.
31174         * modules/sys_stat-tests: Depend on it.
31175         * modules/sys_time-c++-tests: New file, extracted from
31176         modules/sys_time-tests.
31177         * modules/sys_time-tests: Depend on it.
31178         * modules/time-c++-tests: New file, extracted from modules/time-tests.
31179         * modules/time-tests: Depend on it.
31180         * modules/unistd-c++-tests: New file, extracted from
31181         modules/unistd-tests.
31182         * modules/unistd-tests: Depend on it.
31183         * modules/wchar-c++-tests: New file, extracted from
31184         modules/wchar-tests.
31185         * modules/wchar-tests: Depend on it.
31186         * modules/wctype-c++-tests: New file, extracted from
31187         modules/wctype-tests.
31188         * modules/wctype-tests: Depend on it.
31189         Reported by Simon Josefsson.
31190
31191 2010-03-28  Bruno Haible  <bruno@clisp.org>
31192
31193         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
31194         * gnulib-tool (func_exists_module): New function, extracted from
31195         func_verify_module.
31196         (func_verify_module): Use it.
31197         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
31198         'foo' only if 'foo' exists.
31199         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
31200         module.
31201
31202 2010-03-28  Bruno Haible  <bruno@clisp.org>
31203
31204         gnulib-tool: Add support for special categories of tests.
31205         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
31206         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
31207         (func_usage): Document them.
31208         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
31209         inc_unportable_tests, inc_all_tests): New variables.
31210         (func_acceptable): Consider these variables.
31211         (func_modules_transitive_closure): Make it work when the 'Status' field
31212         consists of multiple words.
31213         (func_import): Store and restore the values of inc_cxx_tests,
31214         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
31215         inc_all_tests in gnulib-comp.m4.
31216         (func_create_testdir): Set inc_all_tests to true.
31217         * doc/gnulib.texi (Extra tests modules): New section.
31218         Suggested by Jim Meyering.
31219
31220 2010-03-28  Bruno Haible  <bruno@clisp.org>
31221
31222         ansi-c++-opt: Allow turning off the C++ build by default.
31223         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
31224         gl_CXX_CHOICE_DEFAULT_NO is defined.
31225         Requested by Eric Blake.
31226
31227 2010-03-28  Bruno Haible  <bruno@clisp.org>
31228
31229         unistd: Avoid #define replacements in C++ mode.
31230         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
31231         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
31232         setsockopt, shutdown, select): In C++, attach a warning to the function
31233         if possible, rather than #defining the symbol to a dysfunctional alias.
31234         Reported by John W. Eaton <jwe@gnu.org>.
31235
31236 2010-03-28  Bruno Haible  <bruno@clisp.org>
31237
31238         Fix link errors on mingw.
31239         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
31240         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
31241         $(LIBSOCKET).
31242         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
31243         $(LIBSOCKET).
31244
31245 2010-03-28  Bruno Haible  <bruno@clisp.org>
31246             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31247
31248         lib-ignore: Determine different options for different compilers.
31249         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
31250         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
31251         Add comments.
31252         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
31253         * NEWS: Mention the change.
31254
31255 2010-03-27  Bruno Haible  <bruno@clisp.org>
31256
31257         Remove unused GNULIB_XYZ macro definitions.
31258         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
31259         * modules/fseek (configure.ac): Likewise.
31260         * modules/ioctl (configure.ac): Likewise.
31261         * modules/open (configure.ac): Likewise.
31262         * modules/stdlib-safer (configure.ac): Likewise.
31263
31264 2010-03-27  Bruno Haible  <bruno@clisp.org>
31265
31266         Add a remark about certain modules.
31267         * modules/malloc (Comment): New section.
31268         * modules/realloc (Comment): Likewise.
31269         * modules/sigpipe (Comment): Likewise.
31270
31271 2010-03-27  Bruno Haible  <bruno@clisp.org>
31272
31273         Resolve conflict between the two kinds of module indicators.
31274         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
31275         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
31276         * modules/canonicalize (configure.ac): Invoke
31277         gl_MODULE_INDICATOR_FOR_TESTS.
31278         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
31279         GNULIB_XYZ.
31280         * tests/test-dirent-c++.cc: Likewise.
31281         * tests/test-dirent-safer.c: Likewise.
31282         * tests/test-dup2.c: Likewise.
31283         * tests/test-fchdir.c: Likewise.
31284         * tests/test-fcntl-h-c++.cc: Likewise.
31285         * tests/test-getopt.c: Likewise.
31286         * tests/test-getopt.h: Likewise.
31287         * tests/test-langinfo-c++.cc: Likewise.
31288         * tests/test-locale-c++.cc: Likewise.
31289         * tests/test-math-c++.cc: Likewise.
31290         * tests/test-pty-c++.cc: Likewise.
31291         * tests/test-search-c++.cc: Likewise.
31292         * tests/test-signal-c++.cc: Likewise.
31293         * tests/test-spawn-c++.cc: Likewise.
31294         * tests/test-stdio-c++.cc: Likewise.
31295         * tests/test-stdlib-c++.cc: Likewise.
31296         * tests/test-string-c++.cc: Likewise.
31297         * tests/test-sys_ioctl-c++.cc: Likewise.
31298         * tests/test-sys_select-c++.cc: Likewise.
31299         * tests/test-sys_socket-c++.cc: Likewise.
31300         * tests/test-sys_stat-c++.cc: Likewise.
31301         * tests/test-sys_time-c++.cc: Likewise.
31302         * tests/test-time-c++.cc: Likewise.
31303         * tests/test-unistd-c++.cc: Likewise.
31304         * tests/test-wchar-c++.cc: Likewise.
31305         * tests/uninorm/test-u8-nfc.c: Likewise.
31306         * tests/uninorm/test-u8-nfd.c: Likewise.
31307         * tests/uninorm/test-u8-nfkc.c: Likewise.
31308         * tests/uninorm/test-u8-nfkd.c: Likewise.
31309         * tests/uninorm/test-u16-nfc.c: Likewise.
31310         * tests/uninorm/test-u16-nfd.c: Likewise.
31311         * tests/uninorm/test-u16-nfkc.c: Likewise.
31312         * tests/uninorm/test-u16-nfkd.c: Likewise.
31313         * tests/uninorm/test-u32-nfc.c: Likewise.
31314         * tests/uninorm/test-u32-nfc-big.c: Likewise.
31315         * tests/uninorm/test-u32-nfd.c: Likewise.
31316         * tests/uninorm/test-u32-nfd-big.c: Likewise.
31317         * tests/uninorm/test-u32-nfkc.c: Likewise.
31318         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
31319         * tests/uninorm/test-u32-nfkd.c: Likewise.
31320         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
31321         * tests/uninorm/test-u32-normalize-big.c: Likewise.
31322
31323 2010-03-27  Bruno Haible  <bruno@clisp.org>
31324
31325         Distinguish two kinds of module indicators.
31326         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
31327         gl_MODULE_INDICATOR.
31328         (gl_MODULE_INDICATOR): New macro.
31329         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
31330         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
31331         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
31332         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
31333         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
31334         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
31335         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
31336         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
31337         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
31338         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
31339         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
31340         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
31341         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
31342         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
31343         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
31344         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
31345         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
31346         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
31347         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
31348         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
31349         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
31350         * modules/cloexec (configure.ac): Likewise.
31351         * modules/getopt-gnu (configure.ac): Likewise.
31352         * modules/uninorm/u8-normalize (configure.ac): Likewise.
31353         * modules/uninorm/u16-normalize (configure.ac): Likewise.
31354         * modules/uninorm/u32-normalize (configure.ac): Likewise.
31355         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
31356
31357 2010-03-27  Bruno Haible  <bruno@clisp.org>
31358
31359         New module description field 'Comment'.
31360         * gnulib-tool: New option --extract-comment.
31361         (func_usage): Document it.
31362         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
31363         (func_get_comment): New function.
31364         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
31365
31366 2010-03-27  Bruno Haible  <bruno@clisp.org>
31367
31368         Addendum to 2010-02-07 commit.
31369         * gnulib-tool (func_usage): Document --extract-applicability option.
31370
31371 2010-03-27  Bruno Haible  <bruno@clisp.org>
31372
31373         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
31374         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
31375         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
31376         rather than link errors.
31377
31378 2010-03-27  Bruno Haible  <bruno@clisp.org>
31379
31380         Avoid side effects from tests-related modules on the compilation of lib.
31381         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
31382         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
31383         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
31384         parameter. Emit into AM_CPPFLAGS a definition of the designated C
31385         macro.
31386         (func_import): Define a witness macro. Assign it a value that depends
31387         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
31388         tests-related modules.
31389         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
31390         Reported by Jim Meyering.
31391
31392 2010-03-27  Bruno Haible  <bruno@clisp.org>
31393
31394         Factorize common .m4 code.
31395         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
31396         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
31397         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
31398         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
31399         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
31400         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
31401         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
31402         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
31403         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
31404         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
31405         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
31406         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
31407         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
31408         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
31409         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
31410         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
31411         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
31412         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
31413         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
31414         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
31415         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
31416         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
31417         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
31418         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
31419         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
31420         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
31421         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
31422         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
31423         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
31424         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
31425         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
31426         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
31427
31428 2010-03-27  Bruno Haible  <bruno@clisp.org>
31429
31430         Fix a compilation error on Cygwin with g++ >= 4.3.
31431         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
31432         if it is undefined or if we alias it to chmod.
31433         (lstat): Don't warn about the use of this function if it is undefined
31434         or if we alias it to stat.
31435         Reported by Simon Josefsson.
31436
31437 2010-03-27  Bruno Haible  <bruno@clisp.org>
31438
31439         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
31440         * modules/getlogin (configure.ac): Update.
31441
31442         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
31443         * modules/getlogin_r (configure.ac): Update.
31444
31445         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
31446         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
31447         * modules/inet_ntop (configure.ac): Update.
31448
31449         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
31450         * modules/inet_pton (configure.ac): Update.
31451
31452         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
31453         * modules/mbslen (configure.ac): Update.
31454
31455         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
31456         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
31457         * modules/forkpty (configure.ac): Update.
31458         * modules/openpty (configure.ac): Update.
31459
31460 2010-03-26  Simon Josefsson  <simon@josefsson.org>
31461
31462         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
31463         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
31464
31465 2010-03-25  Eric Blake  <eblake@redhat.com>
31466
31467         maint: use pragma consistently across replacement headers
31468         * lib/ctype.in.h (system_header): Hoist for consistent placement.
31469         * lib/dirent.in.h (system_header): Likewise.
31470         * lib/errno.in.h (system_header): Likewise.
31471         * lib/float.in.h (system_header): Likewise.
31472         * lib/getopt.in.h (system_header): Likewise.
31473         * lib/iconv.in.h (system_header): Likewise.
31474         * lib/inttypes.in.h (system_header): Likewise.
31475         * lib/langinfo.in.h (system_header): Likewise.
31476         * lib/locale.in.h (system_header): Likewise.
31477         * lib/math.in.h (system_header): Likewise.
31478         * lib/netdb.in.h (system_header): Likewise.
31479         * lib/netinet_in.in.h (system_header): Likewise.
31480         * lib/pty.in.h (system_header): Likewise.
31481         * lib/sched.in.h (system_header): Likewise.
31482         * lib/se-selinux.in.h (system_header): Likewise.
31483         * lib/search.in.h (system_header): Likewise.
31484         * lib/spawn.in.h (system_header): Likewise.
31485         * lib/stdarg.in.h (system_header): Likewise.
31486         * lib/stdint.in.h (system_header): Likewise.
31487         * lib/string.in.h (system_header): Likewise.
31488         * lib/strings.in.h (system_header): Likewise.
31489         * lib/sys_file.in.h (system_header): Likewise.
31490         * lib/sys_ioctl.in.h (system_header): Likewise.
31491         * lib/sys_socket.in.h (system_header): Likewise.
31492         * lib/sys_times.in.h (system_header): Likewise.
31493         * lib/sys_utsname.in.h (system_header): Likewise.
31494         * lib/sys_wait.in.h (system_header): Likewise.
31495         * lib/sysexits.in.h (system_header): Likewise.
31496         * lib/unistd.in.h (system_header): Likewise.
31497         * lib/wctype.in.h (system_header): Likewise.
31498
31499         arpa/inet: fix mingw compilation warning
31500         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
31501         Reported by Matthew Bolte.
31502
31503 2010-03-25  Bruno Haible  <bruno@clisp.org>
31504
31505         Avoid collision between gnulib wrapper and libintl wrapper.
31506         * lib/printf.c (printf): Don't define if a printf wrapper is already
31507         defined in intl/printf.c.
31508         Reported by Michel Boaventura <michel@michelboaventura.com>.
31509
31510 2010-03-25  Bruno Haible  <bruno@clisp.org>
31511
31512         Use ANSI C.
31513         * lib/readutmp.h (getutent): Provide ANSI C prototype.
31514
31515 2010-03-25  Bruno Haible  <bruno@clisp.org>
31516
31517         Minor formatting changes.
31518         * lib/acosl.c: Insert space before function argument list.
31519         * lib/argz.c: Likewise.
31520         * lib/asinl.c: Likewise.
31521         * lib/expl.c: Likewise.
31522         * lib/gen-uni-tables.c: Likewise.
31523         * lib/gettext.h: Likewise.
31524         * lib/glthread/lock.h: Likewise.
31525         * lib/tanl.c: Likewise.
31526         * lib/uniname/uniname.c: Likewise.
31527         * tests/test-idpriv-drop.c: Likewise.
31528         * tests/test-idpriv-droptemp.c: Likewise.
31529         * tests/test-lock.c: Likewise.
31530         * tests/test-tls.c: Likewise.
31531         * lib/argp-help.c: Insert space before function-like macro argument
31532         list.
31533         * lib/memcmp.c: Likewise.
31534         * tests/test-base64.c: Likewise.
31535         * lib/localename.c: Insert space before sizeof's argument list.
31536         * lib/safe-alloc.h: Likewise.
31537         * lib/file-set.h: Insert space before macro argument list.
31538         * tests/test-argp.c: Likewise.
31539         * lib/argp-namefrob.h: Insert space before function parameter list.
31540         * lib/getaddrinfo.c: Likewise.
31541         * lib/netdb.in.h: Likewise.
31542         * lib/parse-duration.h: Likewise.
31543         * lib/parse-duration.c: Likewise.
31544         * lib/poll.c: Likewise.
31545         * lib/select.c: Likewise.
31546         * lib/trim.h: Likewise.
31547         * tests/test-usleep.c: Likewise.
31548         * lib/ldexpl.c: Insert space before function parameter list and before
31549         function argument list.
31550         * lib/logl.c: Likewise.
31551         * lib/sqrtl.c: Likewise.
31552         * lib/trim.c: Likewise.
31553         * lib/cosl.c: Use GNU style indentation. Insert space before function
31554         argument list.
31555         * lib/sinl.c: Likewise.
31556         * lib/tsearch.c: Insert space after 'for'.
31557         Reported by Jim Meyering.
31558
31559 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
31560
31561         * maint.mk (sc_Wundef_boolean): Check for the presence of the
31562         config header before grepping, as it's not present before
31563         autoreconf/configure are run.  Reported by Simon Josefsson.
31564
31565 2010-03-23  Bruno Haible  <bruno@clisp.org>
31566
31567         pt_chown: Make it work with automake < 1.11.
31568         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
31569         Reported by Simon Josefsson.
31570
31571 2010-03-23  Bruno Haible  <bruno@clisp.org>
31572
31573         pt_chown: Don't depend on GPLed modules.
31574         * lib/pt_chown.c: Don't include idpriv.h.
31575         (main): Don't drop privileges.
31576         * modules/pt_chown (Depends-on): Remove idpriv-drop.
31577         Reported by Simon Josefsson.
31578
31579 2010-03-24  Simon Josefsson  <simon@josefsson.org>
31580
31581         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
31582         suggestions from karl@freefriends.org (Karl Berry).
31583
31584 2010-03-22  Eric Blake  <eblake@redhat.com>
31585
31586         gethostname: further tweaks
31587         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
31588         are overriding gethostname.
31589         Suggested by Bruno Haible.
31590
31591 2010-03-21  Bruno Haible  <bruno@clisp.org>
31592
31593         Fix comments.
31594         * lib/forkpty.c (rpl_forkpty): Fix comment.
31595         * lib/openpty.c (rpl_openpty): Likewise.
31596         Reported by Eric Blake.
31597
31598 2010-03-22  Eric Blake  <eblake@redhat.com>
31599
31600         gethostname: fix build on mingw
31601         * lib/unistd.in.h (includes): Work around fact that mingw
31602         <winsock2.h> re-includes <unistd.h>, by avoiding any
31603         redeclarations if we are being included by <winsock2.h>.
31604         Reported by Matthias Bolte.
31605
31606 2010-03-21  Bruno Haible  <bruno@clisp.org>
31607
31608         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
31609         * lib/forkpty.c (forkpty): New replacement function, from glibc with
31610         modifications.
31611         * lib/pty.in.h (forkpty): Update declaration. Add comments.
31612         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
31613         provide the replacement.
31614         * modules/forkpty (Depends-on): Add openpty, login_tty.
31615         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
31616         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
31617         * doc/glibc-functions/forkpty.texi: More supported platforms.
31618         * config/srclist.txt: Add forkpty.c (commented).
31619
31620 2010-03-21  Bruno Haible  <bruno@clisp.org>
31621
31622         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
31623         (Makefile.am): Verify that PTY_LIB is defined.
31624
31625         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
31626
31627 2010-03-21  Bruno Haible  <bruno@clisp.org>
31628
31629         Tests for module 'login_tty'.
31630         * modules/login_tty-tests: New file.
31631         * tests/test-login_tty.c: New file.
31632
31633         New module 'login_tty'.
31634         * lib/login_tty.c: New file.
31635         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
31636         * modules/login_tty: New file.
31637         * doc/glibc-functions/login_tty.texi: Mention the new module.
31638
31639 2010-03-21  Bruno Haible  <bruno@clisp.org>
31640
31641         login_tty: Documentation.
31642         * doc/glibc-functions/login_tty.texi: New file.
31643         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
31644
31645 2010-03-21  Bruno Haible  <bruno@clisp.org>
31646
31647         pty: Consistent macro naming.
31648         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
31649         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
31650         * modules/pty (configure.ac): Update.
31651
31652 2010-03-21  Bruno Haible  <bruno@clisp.org>
31653
31654         Tests for openpty: Make stricter.
31655         * tests/test-openpty.c (main): Add test of canonical processing and
31656         erase.
31657         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
31658
31659         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
31660         * lib/openpty.c (openpty): New replacement function.
31661         * lib/pty.in.h: Include <termios.h>.
31662         (openpty): Update declaration. Add comments.
31663         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
31664         is not declared, arrange to provide the replacement. Check for _getpty
31665         and posix_openpt.
31666         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
31667         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
31668         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
31669         * modules/pty-tests (test_pty_c___LDADD): New variable.
31670         * doc/glibc-functions/openpty.texi: More supported platforms.
31671
31672 2010-03-21  Bruno Haible  <bruno@clisp.org>
31673
31674         setenv: Tweaks.
31675         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
31676         the test program.
31677         * doc/posix-functions/setenv.texi: Update platforms list.
31678
31679 2010-03-21  Bruno Haible  <bruno@clisp.org>
31680
31681         New module 'unlockpt'.
31682         * lib/unlockpt.c: New file, from glibc with modifications.
31683         * m4/unlockpt.m4: New file.
31684         * modules/unlockpt: New file.
31685         * lib/stdlib.in.h (unlockpt): New declaration.
31686         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
31687         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
31688         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
31689         HAVE_UNLOCKPT.
31690         * doc/posix-functions/unlockpt.texi: Mention the new module.
31691         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
31692         * config/srclist.txt: Add unlockpt.c (commented).
31693
31694 2010-03-21  Jim Meyering  <meyering@redhat.com>
31695
31696         maint.mk: prohibit inclusion of "intprops.h" without use
31697         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
31698
31699 2010-03-21  Bruno Haible  <bruno@clisp.org>
31700
31701         New module 'grantpt'.
31702         * lib/grantpt.c: New file, from glibc with modifications.
31703         * m4/grantpt.m4: New file.
31704         * modules/grantpt: New file.
31705         * lib/stdlib.in.h (grantpt): New declaration.
31706         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
31707         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
31708         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
31709         HAVE_GRANTPT.
31710         * doc/posix-functions/grantpt.texi: Mention the new module.
31711         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
31712         * config/srclist.txt: Add grantpt.c (commented).
31713
31714 2010-03-21  Bruno Haible  <bruno@clisp.org>
31715
31716         New module 'pt_chown'.
31717         * lib/pt_chown.c: New file, from glibc with modifications.
31718         * lib/pty-private.h: New file, from glibc with modifications.
31719         * modules/pt_chown: New file.
31720         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
31721
31722 2010-03-21  Bruno Haible  <bruno@clisp.org>
31723
31724         Tests for module 'ptsname'.
31725         * modules/ptsname-tests: New file.
31726         * tests/test-ptsname.c: New file.
31727
31728         New module 'ptsname'.
31729         * lib/ptsname.c: New file, from glibc with modifications.
31730         * m4/ptsname.m4: New file.
31731         * modules/ptsname: New file.
31732         * lib/stdlib.in.h (ptsname): New declaration.
31733         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
31734         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
31735         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
31736         HAVE_PTSNAME.
31737         * doc/posix-functions/ptsname.texi: Mention the new module.
31738         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
31739         * config/srclist.txt: Add ptsname.c (commented).
31740
31741 2010-03-21  Bruno Haible  <bruno@clisp.org>
31742
31743         Tests for module 'ttyname_r'.
31744         * modules/ttyname_r-tests: New file.
31745         * tests/test-ttyname_r.c: New file.
31746
31747         New module 'ttyname_r'.
31748         * lib/ttyname_r.c: New file.
31749         * m4/ttyname_r.m4: New file.
31750         * modules/ttyname_r: New file.
31751         * lib/unistd.in.h (ttyname_r): New declaration.
31752         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
31753         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
31754         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
31755         HAVE_TTYNAME_R.
31756         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
31757         * doc/posix-functions/ttyname_r.texi: Mention the new module.
31758
31759 2010-03-20  Bruno Haible  <bruno@clisp.org>
31760
31761         signal: Undefine macro definitions in C++ mode.
31762         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
31763         sigfillset): Undefine macro definitions from the system header in C++
31764         mode.
31765         Reported by John W. Eaton <jwe@gnu.org>.
31766
31767 2010-03-20  Bruno Haible  <bruno@clisp.org>
31768
31769         Ensure no #include statements inside extern "C" { ... }.
31770         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
31771         contain #include statements.
31772         * lib/time.in.h: Likewise.
31773
31774 2010-03-20  Bruno Haible  <bruno@clisp.org>
31775
31776         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
31777         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
31778         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
31779         Reported by John W. Eaton <jwe@gnu.org>.
31780
31781 2010-03-20  Bruno Haible  <bruno@clisp.org>
31782
31783         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
31784         Reported by Jim Meyering.
31785
31786 2010-03-20  Bruno Haible  <bruno@clisp.org>
31787
31788         pipe: Set errno upon failure.
31789         * lib/pipe.h: Specify that when -1 is returned, errno is set.
31790         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
31791         errno value in error message.
31792
31793 2010-03-20  Bruno Haible  <bruno@clisp.org>
31794             Jim Meyering  <meyering@redhat.com>
31795
31796         lchown: Avoid "unused variable" warning.
31797         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
31798
31799 2010-03-20  Bruno Haible  <bruno@clisp.org>
31800
31801         Work around unlink() bug on MacOS X 10.5.6.
31802         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
31803         attempting to unlink a parent directory.
31804         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
31805         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
31806         activate for the replacement function.
31807         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
31808
31809 2010-03-20  Bruno Haible  <bruno@clisp.org>
31810
31811         Fix link errors on Solaris 8.
31812         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
31813         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
31814
31815 2010-03-19  Jim Meyering  <meyering@redhat.com>
31816
31817         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
31818         The _LIBC implementation of build_range_exp correctly honors the
31819         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
31820         However, the non-_LIBC implementation would ignore that syntax-bit
31821         flag and return REG_ERANGE unconditionally.
31822         This change makes it honor that flag.
31823         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
31824         Make two pointer parameters "const".
31825         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
31826         (parse_bracket_exp): Update caller.
31827
31828         regex.m4: correct the reversed range endpoint ([b-a]) test
31829         * m4/regex.m4: When requiring that [b-a] evoke failure,
31830         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
31831         test pass once again for x86-based systems.
31832
31833 2010-03-19  Bruno Haible  <bruno@clisp.org>
31834
31835         scandir: Fix link error on Solaris 8.
31836         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
31837         macros.
31838
31839 2010-03-19  Bruno Haible  <bruno@clisp.org>
31840
31841         getusershell: Fix documentation.
31842         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
31843         module.
31844         * doc/glibc-functions/setusershell.texi: Likewise.
31845
31846         getusershell: Provide declaration, missing on Solaris 9.
31847         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
31848         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
31849         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
31850         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
31851         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
31852         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
31853         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
31854         HAVE_GETUSERSHELL.
31855         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
31856
31857 2010-03-19  Bruno Haible  <bruno@clisp.org>
31858
31859         wctype: Provide iswblank function.
31860         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
31861         exists and is fine.
31862         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
31863         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
31864         * tests/test-wctype.c (main): Re-enable the iswblank tests.
31865         * doc/posix-functions/iswblank.texi: Update.
31866
31867 2010-03-19  Bruno Haible  <bruno@clisp.org>
31868
31869         Tests of module 'pty' in C++ mode.
31870         * modules/pty-tests: New file.
31871         * tests/test-pty-c++.cc: New file.
31872         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
31873
31874 2010-03-19  Eric Blake  <eblake@redhat.com>
31875
31876         logb: fix documentation
31877         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
31878         1.5 declaration bug.
31879
31880         forkpty, openpty: prefer glibc's const-safe prototype
31881         * lib/forkpty.c (rpl_forkpty): New file.
31882         * lib/openpty.c (rpl_openpty): Likewise.
31883         * modules/forkpty (Files): Distribute it.
31884         * modules/openpty (Files): Likewise.
31885         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
31886         check...
31887         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
31888         replacement for for non-const BSD signature.
31889         * modules/pty (Makefile.am): Substitute witnesses.
31890         * lib/pty.in.h (forkpty, openpty): Declare replacements.
31891         * tests/test-forkpty.c: Update signature check.
31892         * tests/test-openpty.c: Likewise.
31893         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
31894         * doc/glibc-functions/openpty.texi (openpty): Likewise.
31895
31896         forkpty, openpty: split functions into new modules
31897         * modules/pty (Makefile.am): Substitute new witnesses.
31898         (Libraries): Move library detection...
31899         * modules/forkpty: ...into new module.
31900         * modules/openpty: Another new module.
31901         * modules/pty-tests: Rename and split...
31902         * modules/forkpty-tests: ...to this...
31903         * modules/openpty-tests: ...and this.
31904         * tests/test-pty.c: Rename and split...
31905         * tests/test-forkpty.c: ...to this...
31906         * tests/test-openpty.c: ...and this.
31907         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
31908         (gl_PTY): Split library searching...
31909         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
31910         (gl_FORKPTY, gl_OPENPTY): New macros.
31911         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
31912         * NEWS: Mention the split.
31913         * MODULES.html.sh (Misc): Document the modules.
31914         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
31915         * doc/glibc-functions/openpty.texi (openpty): Likewise.
31916
31917         pty: improve replacement header
31918         * lib/pty.in.h: New file.
31919         * modules/pty (Files): Ship it.
31920         (Makefile.am): Always build replacement.
31921         * m4/pty.m4: Rename...
31922         * m4/pty_h.m4: ...to this.
31923         (gl_PTY): Modernize setting of witness macros; update check of
31924         forkpty to take proper advantage of cache.
31925         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
31926
31927         getopt: avoid compiler warning
31928         * lib/getopt.c (attribute_hidden): Remove unused macro.
31929
31930 2010-03-18  Bruno Haible  <bruno@clisp.org>
31931
31932         Fix link errors on Solaris 8.
31933         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
31934         * modules/search-tests (test_search_c___LDADD): Likewise.
31935         * modules/signal-tests (test_signal_c___LDADD): Likewise.
31936         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
31937         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
31938         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
31939         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
31940         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
31941         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
31942
31943 2010-03-18  Bruno Haible  <bruno@clisp.org>
31944
31945         Fix bug introduced on 2010-03-14.
31946         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
31947         (gl_SPAWN_H): Require it.
31948         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
31949         Reported by Simon Josefsson.
31950
31951 2010-03-18  Bruno Haible  <bruno@clisp.org>
31952
31953         Fix typo introduced on 2009-12-31.
31954         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
31955         posix_spawn_file_actions_adddup2.
31956
31957 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
31958         and Eric Blake  <eblake@redhat.com>
31959
31960         test-vc-list-files-git: make more robust
31961         * tests/test-vc-list-files-git.sh: Unset problematic environment
31962         variables.  Chain commands together.
31963
31964 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
31965
31966         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
31967         `AC_CHECK_DECL' invocation.
31968
31969 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
31970
31971         * lib/inttostr.c (inttostr): Make sure the invocation of verify
31972         appears before executable statements. Suggested by Petr Sumbera
31973         <Petr.Sumbera@Sun.COM>.
31974
31975 2010-03-14  Bruno Haible  <bruno@clisp.org>
31976
31977         * tests/test-flock.c (test_exclusive): Comment out a test that causes
31978         portability problems. Instead use a simpler test.
31979         (main): Check that invalid arguments are rejected only on Linux.
31980
31981 2010-03-14  Bruno Haible  <bruno@clisp.org>
31982
31983         Fix bug introduced on 2009-12-31.
31984         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
31985         gl_PREREQ_SYS_H_WINSOCK2 always.
31986         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
31987         SYS_SOCKET_H variable.
31988         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
31989         Update comments.
31990         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
31991         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
31992         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
31993         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
31994         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
31995
31996 2010-03-14  Bruno Haible  <bruno@clisp.org>
31997
31998         Fix values returned by sinl, cosl.
31999         * lib/trigl.h: Add specification comments.
32000         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
32001         that combines the values from the precomputed table with the values of
32002         the Chebyshev polynomials.
32003
32004 2010-03-14  Bruno Haible  <bruno@clisp.org>
32005
32006         Fix compilation error when modules 'posix_spawn[p]' are not used.
32007         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
32008         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
32009
32010 2010-03-14  Bruno Haible  <bruno@clisp.org>
32011
32012         Fix compilation error on mingw when module 'time_r' is not used.
32013         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
32014         is 1.
32015         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
32016         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
32017         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
32018         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
32019
32020 2010-03-14  Bruno Haible  <bruno@clisp.org>
32021
32022         Fix compilation error with Sun C.
32023         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
32024         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
32025         instead of GCC specific ULONG_LONG_MAX.
32026         * lib/xstrtoll.c: Likewise.
32027         * lib/xstrtoull.c: Likewise.
32028
32029 2010-03-13  Bruno Haible  <bruno@clisp.org>
32030
32031         Allow the user to disable C++ code and tests.
32032         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
32033         (gl_PROG_ANSI_CXX): Require it.
32034
32035 2010-03-13  Bruno Haible  <bruno@clisp.org>
32036
32037         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
32038         cases.
32039
32040 2010-03-13  Bruno Haible  <bruno@clisp.org>
32041
32042         Test that gnulib does not break the standard C++ headers.
32043         * tests/test-locale-c++2.cc: New file.
32044         * modules/locale-tests (Files): Add it.
32045         (Makefile.am): Compile it for test-locale-c++.
32046         * tests/test-math-c++2.cc: New file.
32047         * modules/math-tests (Files): Add it.
32048         (Makefile.am): Compile it for test-math-c++.
32049         * tests/test-signal-c++2.cc: New file.
32050         * modules/signal-tests (Files): Add it.
32051         (Makefile.am): Compile it for test-signal-c++.
32052         * tests/test-stdio-c++2.cc: New file.
32053         * modules/stdio-tests (Files): Add it.
32054         (Makefile.am): Compile it for test-stdio-c++.
32055         * tests/test-stdlib-c++2.cc: New file.
32056         * modules/stdlib-tests (Files): Add it.
32057         (Makefile.am): Compile it for test-stdlib-c++.
32058         * tests/test-string-c++2.cc: New file.
32059         * modules/string-tests (Files): Add it.
32060         (Makefile.am): Compile it for test-string-c++.
32061         * tests/test-time-c++2.cc: New file.
32062         * modules/time-tests (Files): Add it.
32063         (Makefile.am): Compile it for test-time-c++.
32064         Reported by John W. Eaton <jwe@gnu.org>.
32065
32066 2010-03-13  Bruno Haible  <bruno@clisp.org>
32067
32068         * gnulib-tool (func_usage): Clarify which options are available for
32069         --create-testdir and --create-megatestdir.
32070
32071 2010-03-13  Bruno Haible  <bruno@clisp.org>
32072
32073         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
32074         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
32075         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
32076         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
32077         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
32078         when appropriate.
32079         Reported by Jim Meyering.
32080
32081 2010-03-12  Simon Josefsson  <simon@josefsson.org>
32082
32083         * gnulib-tool (func_import): Explain origin of code.
32084
32085 2010-03-12  Bruno Haible  <bruno@clisp.org>
32086
32087         Fix problem with automake's definition of CXXLINK.
32088         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
32089         Reported by Simon Josefsson and Ludovic Courtès.
32090
32091 2010-03-12  Bruno Haible  <bruno@clisp.org>
32092
32093         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
32094         stable releases.
32095
32096 2010-03-11  Bruno Haible  <bruno@clisp.org>
32097
32098         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
32099         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
32100         whether the system provides one variant or multiple variants of the
32101         function.
32102         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
32103         C++ compilers.
32104         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
32105         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
32106         Reported by Jim Meyering.
32107
32108 2010-03-09  Simon Josefsson  <simon@josefsson.org>
32109
32110         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
32111
32112 2010-03-08  Bruno Haible  <bruno@clisp.org>
32113
32114         gnulib-tool: Add support for --libtool in --create-testdir.
32115         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
32116         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
32117
32118 2010-03-08  Eric Blake  <eblake@redhat.com>
32119
32120         gnulib-tool.texi: mention possibility of git submodule
32121         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
32122         submodules.
32123         * doc/.gitignore: Ignore another generated file.
32124
32125 2010-03-08  Karl Berry  <karl@gnu.org>
32126
32127         * doc/gnulib-tool.texi (VCS Issues): Mention third option
32128         of committing gnulib files while skipping others.
32129
32130 2010-03-07  Bruno Haible  <bruno@clisp.org>
32131
32132         Tests of module 'wctype' in C++ mode.
32133         * tests/test-wctype-c++.cc: New file.
32134         * modules/wctype-tests (Files): Add it and tests/signature.h.
32135         (Depends-on): Add ansi-c++-opt.
32136         (Makefile.am): Arrange to compile and run test-wctype-c++.
32137
32138         Tests of module 'wchar' in C++ mode.
32139         * tests/test-wchar-c++.cc: New file.
32140         * modules/wchar-tests (Files): Add it and tests/signature.h.
32141         (Depends-on): Add ansi-c++-opt.
32142         (Makefile.am): Arrange to compile and run test-wchar-c++.
32143         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
32144         gl_MODULE_INDICATOR.
32145
32146         Tests of module 'unistd' in C++ mode.
32147         * tests/test-unistd-c++.cc: New file.
32148         * modules/unistd-tests (Files): Add it and tests/signature.h.
32149         (Depends-on): Add ansi-c++-opt.
32150         (Makefile.am): Arrange to compile and run test-unistd-c++.
32151         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
32152         gl_MODULE_INDICATOR.
32153
32154         Tests of module 'time' in C++ mode.
32155         * tests/test-time-c++.cc: New file.
32156         * modules/time-tests (Files): Add it and tests/signature.h.
32157         (Depends-on): Add ansi-c++-opt.
32158         (Makefile.am): Arrange to compile and run test-time-c++.
32159         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
32160
32161         Tests of module 'sys_time' in C++ mode.
32162         * tests/test-sys_time-c++.cc: New file.
32163         * modules/sys_time-tests (Files): Add it and tests/signature.h.
32164         (Depends-on): Add ansi-c++-opt.
32165         (Makefile.am): Arrange to compile and run test-sys_time-c++.
32166         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
32167         gl_MODULE_INDICATOR.
32168
32169         Tests of module 'sys_stat' in C++ mode.
32170         * tests/test-sys_stat-c++.cc: New file.
32171         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
32172         (Depends-on): Add ansi-c++-opt.
32173         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
32174         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
32175         gl_MODULE_INDICATOR.
32176
32177         Tests of module 'sys_socket' in C++ mode.
32178         * tests/test-sys_socket-c++.cc: New file.
32179         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
32180         (Depends-on): Add ansi-c++-opt.
32181         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
32182         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
32183         gl_MODULE_INDICATOR.
32184
32185         Tests of module 'sys_select' in C++ mode.
32186         * tests/test-sys_select-c++.cc: New file.
32187         * modules/sys_select-tests (Files): Add it and tests/signature.h.
32188         (Depends-on): Add ansi-c++-opt.
32189         (Makefile.am): Arrange to compile and run test-sys_select-c++.
32190         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
32191         gl_MODULE_INDICATOR.
32192
32193         Tests of module 'sys_ioctl' in C++ mode.
32194         * tests/test-sys_ioctl-c++.cc: New file.
32195         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
32196         (Depends-on): Add ansi-c++-opt.
32197         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
32198         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
32199         gl_MODULE_INDICATOR.
32200
32201         Tests of module 'string' in C++ mode.
32202         * tests/test-string-c++.cc: New file.
32203         * modules/string-tests (Files): Add it and tests/signature.h.
32204         (Depends-on): Add ansi-c++-opt.
32205         (Makefile.am): Arrange to compile and run test-string-c++.
32206         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
32207         gl_MODULE_INDICATOR.
32208
32209         Tests of module 'stdlib' in C++ mode.
32210         * tests/test-stdlib-c++.cc: New file.
32211         * modules/stdlib-tests (Files): Add it and tests/signature.h.
32212         (Depends-on): Add ansi-c++-opt.
32213         (Makefile.am): Arrange to compile and run test-stdlib-c++.
32214         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
32215         gl_MODULE_INDICATOR.
32216
32217         Tests of module 'stdio' in C++ mode.
32218         * tests/test-stdio-c++.cc: New file.
32219         * modules/stdio-tests (Files): Add it and tests/signature.h.
32220         (Depends-on): Add ansi-c++-opt.
32221         (Makefile.am): Arrange to compile and run test-stdio-c++.
32222         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
32223         gl_MODULE_INDICATOR.
32224
32225         Tests of module 'spawn' in C++ mode.
32226         * tests/test-spawn-c++.cc: New file.
32227         * modules/spawn-tests (Files): Add it and tests/signature.h.
32228         (Depends-on): Add ansi-c++-opt.
32229         (Makefile.am): Arrange to compile and run test-spawn-c++.
32230         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
32231         gl_MODULE_INDICATOR.
32232
32233         Tests of module 'signal' in C++ mode.
32234         * tests/test-signal-c++.cc: New file.
32235         * modules/signal-tests (Files): Add it and tests/signature.h.
32236         (Depends-on): Add ansi-c++-opt.
32237         (Makefile.am): Arrange to compile and run test-signal-c++.
32238         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
32239         gl_MODULE_INDICATOR.
32240
32241         Tests of module 'search' in C++ mode.
32242         * tests/test-search-c++.cc: New file.
32243         * modules/search-tests (Files): Add it and tests/signature.h.
32244         (Depends-on): Add ansi-c++-opt.
32245         (Makefile.am): Arrange to compile and run test-search-c++.
32246         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
32247         gl_MODULE_INDICATOR.
32248
32249         Tests of module 'math' in C++ mode.
32250         * tests/test-math-c++.cc: New file.
32251         * modules/math-tests (Files): Add it and tests/signature.h.
32252         (Depends-on): Add ansi-c++-opt.
32253         (Makefile.am): Arrange to compile and run test-math-c++.
32254         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
32255
32256         Tests of module 'locale' in C++ mode.
32257         * tests/test-locale-c++.cc: New file.
32258         * modules/locale-tests (Files): Add it and tests/signature.h.
32259         (Depends-on): Add ansi-c++-opt.
32260         (Makefile.am): Arrange to compile and run test-locale-c++.
32261         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
32262         gl_MODULE_INDICATOR.
32263
32264         Tests of module 'langinfo' in C++ mode.
32265         * tests/test-langinfo-c++.cc: New file.
32266         * modules/langinfo-tests (Files): Add it and tests/signature.h.
32267         (Depends-on): Add ansi-c++-opt.
32268         (Makefile.am): Arrange to compile and run test-langinfo-c++.
32269         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
32270         gl_MODULE_INDICATOR.
32271
32272         Tests of module 'iconv-h' in C++ mode.
32273         * tests/test-iconv-h-c++.cc: New file.
32274         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
32275         (Depends-on): Add ansi-c++-opt.
32276         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
32277
32278         Tests of module 'glob' in C++ mode.
32279         * tests/test-glob-c++.cc: New file.
32280         * modules/glob-tests (Files): Add it.
32281         (Depends-on): Add ansi-c++-opt.
32282         (Makefile.am): Arrange to compile and run test-glob-c++.
32283
32284         Tests of module 'fcntl-h' in C++ mode.
32285         * tests/test-fcntl-h-c++.cc: New file.
32286         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
32287         (Depends-on): Add ansi-c++-opt.
32288         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
32289         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
32290         gl_MODULE_INDICATOR.
32291
32292         Tests of module 'dirent' in C++ mode.
32293         * tests/test-dirent-c++.cc: New file.
32294         * modules/dirent-tests (Files): Add it and tests/signature.h.
32295         (Depends-on): Add ansi-c++-opt.
32296         (Makefile.am): Arrange to compile and run test-dirent-c++.
32297         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
32298         gl_MODULE_INDICATOR.
32299
32300         New module 'ansi-c++-opt'.
32301         * modules/ansi-c++-opt: New file.
32302         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
32303
32304         Document C++ namespace mode.
32305         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
32306
32307         wctype: Avoid #define replacements in C++ mode.
32308         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
32309         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
32310         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
32311         In C++, define a namespaced alias symbol.
32312         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
32313         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
32314         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
32315         rule.
32316
32317         wchar: Avoid #define replacements in C++ mode.
32318         * lib/wchar.in.h: Include c++defs.h.
32319         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
32320         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
32321         symbol.
32322         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
32323         * modules/wchar (Depends-on): Add c++defs.
32324         (Makefile.am): Update wchar.h rule.
32325
32326         unistd: Avoid #define replacements in C++ mode.
32327         * lib/unistd.in.h: Include c++defs.h.
32328         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
32329         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
32330         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
32331         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
32332         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
32333         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
32334         symbol.
32335         (environ): Update.
32336         * modules/unistd (Depends-on): Add c++defs.
32337         (Makefile.am): Update unistd.h rule.
32338
32339         time: Avoid #define replacements in C++ mode.
32340         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
32341         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
32342         define a namespaced alias symbol.
32343         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
32344         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
32345         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
32346         * modules/time (Depends-on): Add c++defs, warn-on-use.
32347         (Makefile.am): Update time.h rule.
32348         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
32349         * modules/nanosleep (configure.ac): Likewise.
32350         * modules/strptime (configure.ac): Likewise.
32351         * modules/timegm (configure.ac): Likewise.
32352
32353         sys_time: Avoid #define replacements in C++ mode.
32354         * lib/sys_time.in.h: Include c++defs.h.
32355         (gettimeofday): In C++, define a namespaced alias symbol.
32356         * modules/sys_time (Depends-on): Add c++defs.
32357         (Makefile.am): Update sys/time.h rule.
32358
32359         sys_stat: Avoid #define replacements in C++ mode.
32360         * lib/sys_stat.in.h: Include c++defs.h.
32361         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
32362         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
32363         namespaced alias symbol.
32364         In C++, define a namespaced alias symbol.
32365         * modules/sys_stat (Depends-on): Add c++defs.
32366         (Makefile.am): Update sys/stat.h rule.
32367
32368         sys_socket: Avoid #define replacements in C++ mode.
32369         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
32370         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
32371         definitions also when the system has a <sys/socket.h>.
32372         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
32373         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
32374         In C++, define a namespaced alias symbol.
32375         * modules/sys_socket (Depends-on): Add c++defs.
32376         (Makefile.am): Update sys/socket.h rule.
32377
32378         sys_select: Avoid #define replacements in C++ mode.
32379         * lib/sys_select.in.h: Include c++defs.h. Enable the function
32380         definitions also when the system has a <sys/select.h>.
32381         (select): In C++, define a namespaced alias symbol.
32382         * modules/sys_select (Depends-on): Add c++defs.
32383         (Makefile.am): Update sys/select.h rule.
32384
32385         sys_ioctl: Avoid #define replacements in C++ mode.
32386         * lib/sys_ioctl.in.h: Include c++defs.h.
32387         (ioctl): In C++, define a namespaced alias symbol.
32388         * modules/sys_ioctl (Depends-on): Add c++defs.
32389         (Makefile.am): Update sys/ioctl.h rule.
32390
32391         string: Avoid #define replacements in C++ mode.
32392         * lib/string.in.h: Include c++defs.h.
32393         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
32394         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
32395         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
32396         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
32397         strsignal, strverscmp): In C++, define a namespaced alias symbol.
32398         * modules/string (Depends-on): Add c++defs.
32399         (Makefile.am): Update string.h rule.
32400
32401         stdlib: Avoid #define replacements in C++ mode.
32402         * lib/stdlib.in.h: Include c++defs.h.
32403         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
32404         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
32405         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
32406         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
32407         symbol.
32408         * modules/stdlib (Depends-on): Add c++defs.
32409         (Makefile.am): Update stdlib.h rule.
32410
32411         stdio: Avoid #define replacements in C++ mode.
32412         * lib/stdio.in.h: Include c++defs.h.
32413         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
32414         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
32415         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
32416         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
32417         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
32418         namespaced alias symbol.
32419         * modules/stdio (Depends-on): Add c++defs.
32420         (Makefile.am): Update stdio.h rule.
32421
32422         spawn: Avoid #define replacements in C++ mode.
32423         * lib/spawn.in.h: Include c++defs.h.
32424         (posix_spawn, posix_spawnp, posix_spawnattr_init,
32425         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
32426         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
32427         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
32428         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
32429         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
32430         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
32431         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
32432         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
32433         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
32434         In C++, define a namespaced alias symbol.
32435         * modules/spawn (Depends-on): Add c++defs.
32436         (Makefile.am): Update spawn.h rule.
32437
32438         signal: Avoid #define replacements in C++ mode.
32439         * lib/signal.in.h: Include c++defs.h.
32440         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
32441         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
32442         namespaced alias symbol.
32443         * modules/signal (Depends-on): Add c++defs.
32444         (Makefile.am): Update signal.h rule.
32445
32446         search: Avoid #define replacements in C++ mode.
32447         * lib/search.in.h: Include c++defs.h.
32448         (_gl_search_compar_fn, _gl_search_action_fn): New types.
32449         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
32450         symbol.
32451         * modules/search (Depends-on): Add c++defs.
32452         (Makefile.am): Update search.h rule.
32453
32454         math: Avoid #define replacements in C++ mode.
32455         * lib/math.in.h: Include c++defs.h.
32456         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
32457         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
32458         trunc, truncl): In C++, define a namespaced alias symbol.
32459         * modules/math (Depends-on): Add c++defs.
32460         (Makefile.am): Update math.h rule.
32461
32462         locale: Avoid #define replacements in C++ mode.
32463         * lib/locale.in.h: Include c++defs.h.
32464         (duplocale): In C++, define a namespaced alias symbol.
32465         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
32466         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
32467         * modules/locale (Depends-on): Add c++defs.
32468         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
32469
32470         langinfo: Avoid #define replacements in C++ mode.
32471         * lib/langinfo.in.h: Include c++defs.h.
32472         (nl_langinfo): In C++, define a namespaced alias symbol.
32473         * modules/langinfo (Depends-on): Add c++defs.
32474         (Makefile.am): Update langinfo.h rule.
32475
32476         iconv-h: Avoid #define replacements in C++ mode.
32477         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
32478         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
32479         symbol.
32480         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
32481         whenever iconv is present.
32482         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
32483         (Makefile.am): Update iconv.h rule.
32484
32485         glob: Avoid #define replacements in C++ mode.
32486         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
32487         (_gl_glob_errfunc_fn): New type.
32488         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
32489         symbol.
32490         * modules/glob (Depends-on): Add c++defs, warn-on-use.
32491         (Makefile.am): Update glob.h rule.
32492
32493         fcntl-h: Avoid #define replacements in C++ mode.
32494         * lib/fcntl.in.h: Include c++defs.h.
32495         (fcntl, open, openat): In C++, define a namespaced alias symbol.
32496         * modules/fcntl-h (Depends-on): Add c++defs.
32497         (Makefile.am): Update fcntl.h rule.
32498
32499         dirent: Avoid #define replacements in C++ mode.
32500         * lib/dirent.in.h: Include c++defs.h.
32501         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
32502         namespaced alias symbol.
32503         (dirfd): Update declaration.
32504         * modules/dirent (Depends-on): Add c++defs.
32505         (Makefile.am): Update dirent.h rule.
32506
32507         ctype: Make it usable in C++ code.
32508         * lib/ctype.in.h: Include c++defs.h.
32509         (isblank): Declare as extern "C".
32510         * modules/ctype (Depends-on): Add c++defs.
32511         (Makefile.am): Update ctype.h rule.
32512
32513         New module 'c++defs'.
32514         * modules/c++defs: New file.
32515         * build-aux/c++defs.h: New file.
32516         Reported by John W. Eaton <jwe@gnu.org>.
32517
32518 2010-03-07  Bruno Haible  <bruno@clisp.org>
32519
32520         logb: Provide missing declaration for Cygwin.
32521         * lib/math.in.h (logb): New declaration.
32522         * m4/logb.m4: New file.
32523         * modules/logb (Files): Add m4/logb.m4.
32524         (Depends-on): Add math.
32525         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
32526         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
32527         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
32528         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
32529         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
32530
32531 2010-03-07  Bruno Haible  <bruno@clisp.org>
32532
32533         Fix test-cond link error.
32534         * tests/test-cond.c: Include <stdio.h>.
32535
32536 2010-03-07  Bruno Haible  <bruno@clisp.org>
32537
32538         Fix test-dirent-safer link error.
32539         * modules/dirent-safer-tests (Makefile.am): Define
32540         test_dirent_safer_LDADD.
32541
32542 2010-03-07  Bruno Haible  <bruno@clisp.org>
32543
32544         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
32545         among default module list.
32546
32547 2010-03-07  Bruno Haible  <bruno@clisp.org>
32548
32549         Fix link error on platforms with GNU libiconv.
32550         * modules/unistr/u8-strcoll-tests (Makefile): Define
32551         test_u8_strcoll_LDADD.
32552         * modules/unistr/u16-strcoll-tests (Makefile): Define
32553         test_u16_strcoll_LDADD.
32554         * modules/unistr/u32-strcoll-tests (Makefile): Define
32555         test_u32_strcoll_LDADD.
32556
32557 2010-03-07  Bruno Haible  <bruno@clisp.org>
32558
32559         Use POSIX declarations for socket functions.
32560         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
32561         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
32562         rpl_sendto): Change declaration to match POSIX.
32563         * lib/connect.c (rpl_connect): Likewise.
32564         * lib/accept.c (rpl_accept): Likewise.
32565         * lib/bind.c (rpl_bind): Likewise.
32566         * lib/getpeername.c (rpl_getpeername): Likewise.
32567         * lib/getsockname.c (rpl_getsockname): Likewise.
32568         * lib/recv.c (rpl_recv): Likewise.
32569         * lib/send.c (rpl_send): Likewise.
32570         * lib/recvfrom.c (rpl_recvfrom): Likewise.
32571         * lib/sendto.c (rpl_sendto): Likewise.
32572
32573 2010-03-06  Bruno Haible  <bruno@clisp.org>
32574
32575         Clarify access, euidaccess, faccessat.
32576         * doc/posix-functions/faccessat.texi: Mention security problem under
32577         "Other problems", not "Portability problems".
32578         * doc/posix-functions/access.texi: Likewise. Mention a related security
32579         problem.
32580         * doc/glibc-functions/euidaccess.texi: Mention security problems.
32581         * lib/euidaccess.c: Add comments about platforms.
32582         * lib/unistd.in.h (access, euidaccess): Add warnings.
32583
32584 2010-03-07  Bruno Haible  <bruno@clisp.org>
32585
32586         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
32587         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
32588         (POSIX_SPAWN_SETSCHEDULER): Likewise.
32589         (POSIX_SPAWN_USEVFORK): Define in a way that works when
32590         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
32591         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
32592         declare when POSIX_SPAWN_SETSCHEDULER is zero.
32593         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
32594         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
32595         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
32596         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
32597         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
32598         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
32599         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
32600         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
32601         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
32602         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
32603         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
32604         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
32605         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
32606         Likewise.
32607         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
32608         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
32609         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
32610         Likewise.
32611         * tests/test-spawn.c (main): Make it work when
32612         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
32613
32614 2010-03-07  Bruno Haible  <bruno@clisp.org>
32615
32616         Fix incorrect Makefile.am generation in German locale.
32617         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
32618         Execute sed command with character range in C locale.
32619
32620 2010-03-06  Bruno Haible  <bruno@clisp.org>
32621
32622         Tests for module 'iconv-h'.
32623         * modules/iconv-h-tests: New file.
32624         * tests/test-iconv-h.c: New file.
32625
32626         New module 'iconv-h'.
32627         * modules/iconv-h: New file.
32628         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
32629         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
32630         (configure.ac): Remove gl_ICONV_H.
32631         (Makefile.am): Remove rule for iconv.h.
32632
32633 2010-03-06  Bruno Haible  <bruno@clisp.org>
32634
32635         More consistent naming of *.m4 files.
32636         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
32637         * modules/wctype (Files): Update.
32638
32639         More consistent naming of *.m4 files.
32640         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
32641         * modules/wchar (Files): Update.
32642
32643 2010-03-06  Jim Meyering  <meyering@redhat.com>
32644
32645         euidaccess: relax license to LGPLv2+
32646         * modules/euidaccess (License): Relax to LGPLv2+.
32647
32648 2010-03-06  Bruno Haible  <bruno@clisp.org>
32649
32650         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
32651         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
32652         (Makefile.am): Augment lib_SOURCES instead.
32653
32654 2010-03-04  Jim Meyering  <meyering@redhat.com>
32655
32656         utime: remove obsolete module
32657         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
32658         unnecessary for years, and has been marked as obsolete for 10 months.
32659         * modules/utime: Remove file.
32660         * lib/utime.c: Remove file.
32661         * m4/utime.m4: Remove file.
32662         * m4/utimes-null.m4: Remove file.
32663         * doc/posix-functions/utime.texi (utime): Remove reference to
32664         the module.  Move the sole "fixed by gnulib" item into the
32665         "problems not fixed by Gnulib" list.
32666         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
32667
32668 2010-03-05  Simon Josefsson  <simon@josefsson.org>
32669
32670         * modules/exit (License): Relax license to LGPLv2+.
32671         (Status): Mark as obsolete.
32672         * NEWS: Mention deprecated 'exit' module.
32673         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
32674         of now obsolete 'exit'.
32675
32676 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32677
32678         fts-lgpl: remove unused module
32679         * modules/fts-lgpl: Remove.
32680         * MODULES.html.sh (func_all_modules): Adjust.
32681         * check-module (find_included_lib_files): Adjust.
32682         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
32683
32684 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
32685
32686         copy-acl: enhance Solaris ACL error handling
32687         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
32688         * lib/set-mode-acl.c (qset_acl): Likewise.
32689
32690 2010-03-02  Bruno Haible  <bruno@clisp.org>
32691
32692         spawn: Don't override the system defined values on FreeBSD 8.
32693         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
32694         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
32695         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
32696         if HAVE_POSIX_SPAWN is 1.
32697         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
32698
32699 2010-03-01  Bruno Haible  <bruno@clisp.org>
32700
32701         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
32702         regarding Automake.
32703
32704 2010-02-25  Bruno Haible  <bruno@clisp.org>
32705
32706         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
32707         * gnulib-tool: Define 'echo' as a function only before the ksh alias
32708         setting, not afterwards.
32709         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
32710
32711 2010-02-24  Eric Blake  <eblake@redhat.com>
32712
32713         bootstrap, git-version-gen: use timestamp
32714         * build-aux/git-version-gen (scriptversion): Force UTC.
32715         * build-aux/bootstrap (scriptversion): New variable.
32716
32717         bootstrap: allow older git
32718         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
32719         older than 1.6.4.  Requested by the libvirt project.
32720
32721 2010-02-23  Eric Blake  <eblake@redhat.com>
32722
32723         warn-on-use: work with old autoconf
32724         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
32725         AS_VAR semantics of autoconf 2.60.
32726         Reported by Bruno Haible.
32727
32728         bootstrap: improve some comments
32729         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
32730         clarification comments.
32731
32732         gettimeofday: provide correct function
32733         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
32734         when replacement is declared, otherwise provide gettimeofday.
32735         Reported by Michael Goffioul.
32736
32737 2010-02-23  Jim Meyering  <meyering@redhat.com>
32738
32739         lib-ignore: relax license to "unlimited", not LGPLv2+
32740         * modules/lib-ignore (License): Relax to "unlimited".
32741
32742 2010-02-23  Jim Meyering  <meyering@redhat.com>
32743
32744         lib-ignore: relax license to LGPLv2+
32745         * modules/lib-ignore (License): Relax to LGPLv2+.
32746
32747 2010-02-22  Eric Blake  <eblake@redhat.com>
32748
32749         lseek: avoid bash 3.2 broken pipe bug
32750         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
32751         warning from bash 3.2.
32752         Reported by Ben Pfaff, with analysis from Bruno Haible.
32753
32754         bootstrap: support non-FSF copyright holder
32755         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
32756         bootstrap.conf override of COPYRIGHT_HOLDER.
32757         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
32758
32759         bootstrap: interoperate with gettext 0.14.1
32760         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
32761
32762         bootstrap: allow for alternate submodule location
32763         * build-aux/bootstrap (gnulib_path): New variable; use instead of
32764         hardcoding submodule location.
32765         (gnulib_mk): Allow direct use of Makefile.am.
32766
32767         bootstrap: use GNULIB_SRCDIR to reduce disk usage
32768         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
32769         rather than reconfiguring where the submodule points.
32770
32771         gettimeofday: restore support for platforms that lack function
32772         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
32773         replacement if function is missing.
32774         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
32775         * modules/sys_time (Makefile.am): Substitute it.
32776         * lib/sys_time.in.h (gettimeofday): Check it.
32777         Reported by Michael Goffioul.
32778
32779 2010-02-21  Bruno Haible  <bruno@clisp.org>
32780
32781         * lib/stdio.in.h (obstack_printf): Fix typo.
32782
32783 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
32784
32785         vc-list-files: use bzr ls's -R option
32786         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
32787         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
32788
32789 2010-02-21  Jim Meyering  <meyering@redhat.com>
32790
32791         init.sh: fix EXEEXT shims to work also for names like test-prog
32792         * tests/init.sh: Re-exec a better shell, when needed.
32793         If the current shell lacks support for posix $(...), an init.sh-using
32794         test will now try to find a shell that supports that.  If EXEEXT is
32795         nonempty, we also require support for hyphen-in-alias-name and shell
32796         substitutions like ${var#glob}.  Failure to find such a shell results
32797         in a skipped test.
32798
32799 2010-02-21  Bruno Haible  <bruno@clisp.org>
32800
32801         Really work around around "broken pipe" error message from bash 3.2.
32802         * gnulib-tool (func_reset_sigpipe): Remove function.
32803         (echo): In bash 3.2, define to a function that uses printf.
32804         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
32805
32806 2010-02-20  Bruno Haible  <bruno@clisp.org>
32807
32808         Restore support for automake 1.9.6 with autoconf 2.61.
32809         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
32810         Reported by James Youngman <jay@gnu.org>.
32811
32812 2010-02-20  Bruno Haible  <bruno@clisp.org>
32813
32814         Improve *printf warning condition.
32815         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
32816         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
32817         and the function is overridden due to SIGPIPE emulation.
32818
32819 2010-02-20  Bruno Haible  <bruno@clisp.org>
32820
32821         * lib/stdio.in.h: Tweak comments.
32822
32823 2010-02-19  Bruno Haible  <bruno@clisp.org>
32824
32825         Make it easier to find modules. New gnulib-tool option '--find'.
32826         * gnulib-tool: New option --find.
32827         (func_usage): Document it.
32828         (func_sanitize_modulelist): New function, extracted from
32829         func_all_modules.
32830         (func_all_modules): Invoke it.
32831         * doc/gnulib-tool.texi (Which modules?): New node.
32832
32833 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
32834
32835         * lib/sys_select.in.h: Provide select replacement even if
32836         sys/select.h exists on a system, for Interix.
32837
32838 2010-02-18  Jim Meyering  <meyering@redhat.com>
32839
32840         init.sh: don't use $(...) just yet
32841         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
32842         to accommodate e.g., Solaris' /bin/sh.
32843
32844 2010-02-17  Bruno Haible  <bruno@clisp.org>
32845
32846         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
32847         Reported by Ludovic Courtès <ludo@gnu.org>.
32848
32849 2010-02-16  Simon Josefsson  <simon@josefsson.org>
32850
32851         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
32852         linking with -lintl.
32853
32854 2010-02-17  Simon Josefsson  <simon@josefsson.org>
32855
32856         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
32857         if not provided by the system's netdb.h.  Reported by
32858         ludo@gnu.org (Ludovic Courtès).
32859
32860 2010-02-15  Jim Meyering  <meyering@redhat.com>
32861
32862         init.sh: improve portability and efficiency
32863         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
32864         "dummy" in a for loop.
32865         Use '!', not '^' to select the complement of a character set used
32866         in a "case" statement.
32867         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
32868         Suggestions from Eric Blake.
32869
32870         init.sh: automatically accommodate programs with the .exe suffix
32871         Automatically arrange for an invocation of "prog" to execute the
32872         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
32873         may use the simpler "prog", yet still work when built on a system
32874         that requires specifying the added suffix.
32875         Do this by constructing a function named "prog" that invokes
32876         "prog.exe" for each .exe file in selected directories.
32877         * tests/init.sh (find_exe_basenames_): New function.
32878         (create_exe_shim_functions_): New function.
32879         (path_prepend_): Use it.
32880
32881         maint.mk: mark syntax-check sc_*.m rules as .PHONY
32882         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
32883         "make -t syntax-check" doesn't create a ton of sc_*.m files.
32884
32885 2010-02-14  Jim Meyering  <meyering@redhat.com>
32886
32887         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
32888         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
32889         (sc_prohibit_hash_pjw_without_use): New rule.
32890
32891         maint.mk: allow the default upload destination dir to be overridden
32892         * top/maint.mk (upload_dest_dir_): Define with a default that
32893         preserves the status quo.
32894         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
32895         Reported by Peter Simons.
32896
32897         maint.mk: prohibit inclusion of "hash.h" without_use
32898         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
32899
32900 2010-02-10  Jim Meyering  <meyering@redhat.com>
32901
32902         maint.mk: prohibit inclusion of "ignore-value.h" without_use
32903         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
32904
32905 2010-02-09  Eric Blake  <ebb9@byu.net>
32906         and Bruno Haible  <bruno@clisp.org>
32907
32908         obstack-printf-posix: ensure declaration
32909         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
32910         extracted from gl_FUNC_OBSTACK_PRINTF.
32911         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
32912         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
32913         Likewise.
32914         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
32915         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
32916         0.
32917
32918 2010-02-08  Bruno Haible  <bruno@clisp.org>
32919
32920         gnulib-tool: Fix typo in 2010-02-07 commit.
32921         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
32922         Reported by Eric Blake.
32923
32924 2010-02-07  Bruno Haible  <bruno@clisp.org>
32925
32926         gnulib-tool: Fix up caching patches.
32927         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
32928         option --no-cache. Use associative arrays when supported by the shell.
32929         (sed_comments): New variable.
32930         (modcache): Renamed from do_cache.
32931         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
32932         abbreviate unnecessarily.
32933         (have_associative): New variable.
32934         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
32935         way also for ksh and zsh.
32936         (func_init_sed_convert_to_cache_statements): New function, extracted
32937         from func_cache_lookup_module. Add support for associative arrays.
32938         Don't set the c_MODULE_cached variable here. Ignore all lines before
32939         the first field header. Remove only the final newline, not all trailing
32940         newlines. Support empty fields correctly. Limit the use of 'eval' to
32941         assignments.
32942         (func_get_description, func_get_status, func_get_notice,
32943         func_get_applicability, func_get_filelist, func_get_dependencies,
32944         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
32945         func_get_automake_snippet, func_get_include_directive,
32946         func_get_link_directive, func_get_license, func_get_maintainer):
32947         Update documentation. List the unoptimized code first. Add support for
32948         associative arrays. Limit the use of 'eval' to assignments.
32949         (func_get_applicability): Undo stylistic pessimisations.
32950         (func_get_automake_snippet, func_get_include_directive): Reduce code
32951         duplication.
32952         (func_modules_transitive_closure, func_modules_add_dummy,
32953         func_modules_notice, func_modules_to_filelist, func_add_file,
32954         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
32955         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
32956         func_create_testdir, func_create_megatestdir): Update documentation.
32957
32958 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32959
32960         * gnulib-tool (func_cache_lookup_module): Store the module name
32961         belonging to the cache variable; error out if two different
32962         module names map to the same cache variable name.
32963
32964 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32965
32966         gnulib-tool: Make caching optional.
32967         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
32968         Update matching short versions of --no-changelog.
32969         (func_usage): Update.
32970         (sed_extract_cache_prog): Renamed from ...
32971         (sed_extract_prog): ... this; revert to old extraction script.
32972         (func_get_description, func_get_status)
32973         (func_get_notice, func_get_applicability, func_get_filelist)
32974         (func_get_dependencies, func_get_autoconf_early_snippet)
32975         (func_get_autoconf_snippet, func_get_automake_snippet)
32976         (func_get_include_directive, func_get_link_directive)
32977         (func_get_license, func_get_maintainer): If $do_cache is false,
32978         use old, non-caching extraction scripts.
32979         Suggestion by Bruno Haible.
32980
32981 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32982
32983         gnulib-tool: cache module metainformation.
32984         * gnulib-tool (sed_extract_prog): Match newline before each
32985         header, and rewrite header to a shell variable suffix.
32986         (func_cache_var, func_cache_lookup_module): New functions,
32987         to turn a module name into a cache variable prefix, and to
32988         look up and cache module metainformation.
32989         (func_get_description, func_get_status)
32990         (func_get_notice, func_get_applicability, func_get_filelist)
32991         (func_get_dependencies, func_get_autoconf_early_snippet)
32992         (func_get_autoconf_snippet, func_get_automake_snippet)
32993         (func_get_include_directive, func_get_link_directive)
32994         (func_get_license, func_get_maintainer): Use
32995         func_cache_lookup_module.
32996
32997 2010-02-07  Bruno Haible  <bruno@clisp.org>
32998
32999         fnctl: Fix missing dependency.
33000         * modules/fcntl (Depends-on): Add getdtablesize.
33001         Reported by John W. Eaton <jwe@gnu.org>.
33002
33003 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
33004
33005         Argp: fix recognition of short alias options.
33006
33007         * lib/argp-parse.c (convert_options): Fix improper use of
33008         `|' between character values.
33009         * tests/test-argp.c (group1_option): New alias option
33010         --read (-r).
33011         (group1_parser): Special handling for 'r'.
33012         (test15): New test case.
33013         (test_fun): Add test15.
33014         * tests/test-argp-2.sh: Update expected --help and --usage
33015         outputs.
33016
33017 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
33018
33019         * tests/test-argp.c: Fix indentation.
33020
33021 2010-02-04  Eric Blake  <ebb9@byu.net>
33022
33023         gettimeofday: expose type of second argument
33024         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
33025         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
33026         * tests/test-gettimeofday.c: Use it to silence warning.
33027         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
33028         the issue.
33029
33030 2010-02-03  Jim Meyering  <meyering@redhat.com>
33031
33032         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
33033         * lib/regcomp.c (TYPE_SIGNED): Define.
33034         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
33035
33036         regcomp.c: avoid a new -Wshadow warning
33037         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
33038
33039 2010-02-01  Jim Meyering  <meyering@redhat.com>
33040
33041         removing useless parentheses in cpp #define directives
33042         For motivation, see commit c0221df4, "define STREQ(a,b)
33043         consistently, removing useless parentheses"
33044         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
33045         * lib/mountlist.c (MNT_IGNORE): Likewise.
33046         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
33047
33048 2010-02-01  Eric Blake  <ebb9@byu.net>
33049
33050         sys_time: use link-warning
33051         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
33052         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
33053         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
33054         * modules/sys_time (Depends-on): Add warn-on-use.
33055         (Makefile.am): Always build replacement.
33056         (configure.ac): Update substitutions.
33057         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
33058         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
33059         bother with SYS_TIME_H.
33060         * modules/gettimeofday (configure.ac): Declare indicator.
33061         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
33062         in use.
33063
33064         closein-tests: silence compiler warning
33065         * tests/test-closein.c (main): Ignore fread result.
33066         * modules/closein-tests (Depends-on): Add ignore-value.
33067
33068         tests: silence warning about system return
33069         * tests/test-areadlink-with-size.c (main): Ignore system result.
33070         * tests/test-areadlink.c (main): Likewise.
33071         * tests/test-areadlinkat-with-size.c (main): Likewise.
33072         * tests/test-areadlinkat.c (main): Likewise.
33073         * tests/test-canonicalize-lgpl.c (main): Likewise.
33074         * tests/test-canonicalize.c (main): Likewise.
33075         * tests/test-chown.c (main): Likewise.
33076         * tests/test-fchownat.c (main): Likewise.
33077         * tests/test-fdutimensat.c (main): Likewise.
33078         * tests/test-fstatat.c (main): Likewise.
33079         * tests/test-futimens.c (main): Likewise.
33080         * tests/test-lchown.c (main): Likewise.
33081         * tests/test-link.c (main): Likewise.
33082         * tests/test-linkat.c (main): Likewise.
33083         * tests/test-lstat.c (main): Likewise.
33084         * tests/test-mkdir.c (main): Likewise.
33085         * tests/test-mkdirat.c (main): Likewise.
33086         * tests/test-mkfifo.c (main): Likewise.
33087         * tests/test-mkfifoat.c (main): Likewise.
33088         * tests/test-mknod.c (main): Likewise.
33089         * tests/test-readlink.c (main): Likewise.
33090         * tests/test-remove.c (main): Likewise.
33091         * tests/test-rename.c (main): Likewise.
33092         * tests/test-renameat.c (main): Likewise.
33093         * tests/test-rmdir.c (main): Likewise.
33094         * tests/test-symlink.c (main): Likewise.
33095         * tests/test-symlinkat.c (main): Likewise.
33096         * tests/test-unlink.c (main): Likewise.
33097         * tests/test-unlinkat.c (main): Likewise.
33098         * tests/test-utimens.c (main): Likewise.
33099         * tests/test-utimensat.c (main): Likewise.
33100         * modules/areadlink-tests (Depends-on): Add ignore-value.
33101         * modules/areadlink-with-size-tests (Depends-on): Likewise.
33102         * modules/areadlinkat-tests (Depends-on): Likewise.
33103         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
33104         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
33105         * modules/canonicalize-tests (Depends-on): Likewise.
33106         * modules/chown-tests (Depends-on): Likewise.
33107         * modules/fdutimensat-tests (Depends-on): Likewise.
33108         * modules/futimens-tests (Depends-on): Likewise.
33109         * modules/lchown-tests (Depends-on): Likewise.
33110         * modules/link-tests (Depends-on): Likewise.
33111         * modules/linkat-tests (Depends-on): Likewise.
33112         * modules/lstat-tests (Depends-on): Likewise.
33113         * modules/mkdir-tests (Depends-on): Likewise.
33114         * modules/mkfifo-tests (Depends-on): Likewise.
33115         * modules/mkfifoat-tests (Depends-on): Likewise.
33116         * modules/mknod-tests (Depends-on): Likewise.
33117         * modules/openat-tests (Depends-on): Likewise.
33118         * modules/readlink-tests (Depends-on): Likewise.
33119         * modules/remove-tests (Depends-on): Likewise.
33120         * modules/rename-tests (Depends-on): Likewise.
33121         * modules/renameat-tests (Depends-on): Likewise.
33122         * modules/rmdir-tests (Depends-on): Likewise.
33123         * modules/symlink-tests (Depends-on): Likewise.
33124         * modules/symlinkat-tests (Depends-on): Likewise.
33125         * modules/unlink-tests (Depends-on): Likewise.
33126         * modules/utimens-tests (Depends-on): Likewise.
33127         * modules/utimensat-tests (Depends-on): Likewise.
33128
33129 2010-01-31  Bruno Haible  <bruno@clisp.org>
33130
33131         Perform the same test for many <math.h> functions.
33132         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
33133         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
33134         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
33135         of gl_MATHFUNC.
33136         * modules/acos (configure.ac): Likewise.
33137         * modules/asin (configure.ac): Likewise.
33138         * modules/atan (configure.ac): Likewise.
33139         * modules/atan2 (configure.ac): Likewise.
33140         * modules/cbrt (configure.ac): Likewise.
33141         * modules/copysign (configure.ac): Likewise.
33142         * modules/cos (configure.ac): Likewise.
33143         * modules/cosh (configure.ac): Likewise.
33144         * modules/erf (configure.ac): Likewise.
33145         * modules/erfc (configure.ac): Likewise.
33146         * modules/exp (configure.ac): Likewise.
33147         * modules/fmod (configure.ac): Likewise.
33148         * modules/hypot (configure.ac): Likewise.
33149         * modules/j0 (configure.ac): Likewise.
33150         * modules/j1 (configure.ac): Likewise.
33151         * modules/jn (configure.ac): Likewise.
33152         * modules/lgamma (configure.ac): Likewise.
33153         * modules/log (configure.ac): Likewise.
33154         * modules/log10 (configure.ac): Likewise.
33155         * modules/log1p (configure.ac): Likewise.
33156         * modules/pow (configure.ac): Likewise.
33157         * modules/remainder (configure.ac): Likewise.
33158         * modules/sin (configure.ac): Likewise.
33159         * modules/sinh (configure.ac): Likewise.
33160         * modules/tan (configure.ac): Likewise.
33161         * modules/tanh (configure.ac): Likewise.
33162         * modules/y0 (configure.ac): Likewise.
33163         * modules/y1 (configure.ac): Likewise.
33164         * modules/yn (configure.ac): Likewise.
33165         Suggested by Paolo Bonzini.
33166
33167 2010-01-31  Bruno Haible  <bruno@clisp.org>
33168
33169         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
33170
33171 2010-01-31  Bruno Haible  <bruno@clisp.org>
33172
33173         Work around getdelim() bug on FreeBSD 8.0.
33174         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
33175         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
33176         not work.
33177         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
33178         is 1.
33179         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
33180         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
33181         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
33182         a non-zero size.
33183         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
33184
33185 2010-01-31  Bruno Haible  <bruno@clisp.org>
33186
33187         Work around getline() bug on FreeBSD 8.0.
33188         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
33189         and a non-zero size.
33190         * tests/test-getline.c (main): Likewise.
33191         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
33192         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
33193
33194 2010-01-28  Eric Blake  <ebb9@byu.net>
33195
33196         regex: fix build failure
33197         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
33198         platforms.
33199
33200 2010-01-28  Jim Meyering  <meyering@redhat.com>
33201
33202         regex: do not ignore memory allocation failure
33203         * lib/regex_internal.c (create_cd_newstate): Detect
33204         re_node_set_init_copy failure.   Extracted from glibc commit
33205         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
33206
33207         regex: sync more white-space changes from libc
33208         * lib/regex_internal.c: White-space only changes.
33209         * lib/regexec.c: Likewise.
33210
33211         regex: add many uses of __attribute_warn_unused_result__
33212         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
33213         * lib/regexec.c: Likewise.
33214         Extracted from a messy glibc commit.
33215
33216         regcomp.c: spelling and merge-artifact from glibc
33217         * lib/regcomp.c: Merge remainder of glibc's
33218         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
33219
33220         regcomp.c: sync white-space changes from glibc
33221         * lib/regcomp.c: Merge to accommodate white space
33222         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
33223
33224         regcomp.c: do not ignore internal return values
33225         * lib/regcomp.c: Do not ignore internal return values.
33226         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
33227         but without its white-space changes and spelling fixes.
33228
33229         regex_internal.h: define __attribute_warn_unused_result__
33230         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
33231
33232         maint: add a syntax-check rule to check for vulnerable Makefile.in
33233         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
33234
33235 2010-01-27  Jim Meyering  <meyering@redhat.com>
33236
33237         ncftpput-ftp: clean up spaces
33238         * build-aux/ncftpput-ftp: Make Copyright line consistent.
33239         Remove trailing blanks.
33240
33241 2010-01-27  Simon Josefsson  <simon@josefsson.org>
33242
33243         * build-aux/git-version-gen: Fix copyright statement.
33244         * build-aux/gnupload: Likewise.
33245         * tests/test-arcfour.c: Likewise.
33246         * tests/test-arctwo.c: Likewise.
33247         * tests/test-count-one-bits.c: Likewise.
33248         * tests/test-crc.c: Likewise.
33249         * tests/test-des.c: Likewise.
33250         * tests/test-gc-arcfour.c: Likewise.
33251         * tests/test-gc-arctwo.c: Likewise.
33252         * tests/test-gc-des.c: Likewise.
33253         * tests/test-gc-hmac-md5.c: Likewise.
33254         * tests/test-gc-hmac-sha1.c: Likewise.
33255         * tests/test-gc-md2.c: Likewise.
33256         * tests/test-gc-md4.c: Likewise.
33257         * tests/test-gc-md5.c: Likewise.
33258         * tests/test-gc-pbkdf2-sha1.c: Likewise.
33259         * tests/test-gc-rijndael.c: Likewise.
33260         * tests/test-gc-sha1.c: Likewise.
33261         * tests/test-gc.c: Likewise.
33262         * tests/test-gethostname.c: Likewise.
33263         * tests/test-gettimeofday.c: Likewise.
33264         * tests/test-hash.c: Likewise.
33265         * tests/test-hmac-md5.c: Likewise.
33266         * tests/test-hmac-sha1.c: Likewise.
33267         * tests/test-md2.c: Likewise.
33268         * tests/test-md4.c: Likewise.
33269         * tests/test-md5.c: Likewise.
33270         * tests/test-memchr.c: Likewise.
33271         * tests/test-memchr2.c: Likewise.
33272         * tests/test-memcmp.c: Likewise.
33273         * tests/test-memmem.c: Likewise.
33274         * tests/test-memrchr.c: Likewise.
33275         * tests/test-rawmemchr.c: Likewise.
33276         * tests/test-read-file.c: Likewise.
33277         * tests/test-rijndael.c: Likewise.
33278         * tests/test-sockets.c: Likewise.
33279         * tests/test-strchrnul.c: Likewise.
33280         * tests/test-strstr.c: Likewise.
33281         * tests/test-strtod.c: Likewise.
33282         * build-aux/ncftpput-ftp: Likewise.
33283
33284 2010-01-26  Eric Blake  <ebb9@byu.net>
33285
33286         ignore-value: update recommended header name
33287         * modules/ignore-value (Include): Only use <> for headers that
33288         exist in glibc.
33289
33290 2010-01-26  Jim Meyering  <meyering@redhat.com>
33291
33292         test-userspec.c: avoid compiler warnings
33293         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
33294         and "initialization discards qualifiers..." warnings.
33295         Put the first "uid" in its own scope, and make char* members "const".
33296
33297 2010-01-25  Bruno Haible  <bruno@clisp.org>
33298
33299         gnulib-tool: Make warning diagnostics consistent.
33300         * gnulib-tool (func_warning): New function.
33301         Use it everywhere where gnulib-tool produces output to stderr and it is
33302         not a fatal error.
33303
33304 2010-01-25  Bruno Haible  <bruno@clisp.org>
33305
33306         Fix test dependencies.
33307         * modules/xstrtol-tests (Depends-on): Add inttypes.
33308         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
33309
33310 2010-01-25 Pádraig Brady <P@draigBrady.com>
33311
33312         syntax-check: detect incorrect boolean macro values in config.h
33313         * modules/maintainer-makefile (configure.ac): Parameterize the location
33314         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
33315         The logic is from Eric Blake and the location indicated by Jim Meyering.
33316         Note the more natural CONFIG_HEADER name is prohibited by automake
33317         for backwards compatibility reasons.
33318         * top/maint.mk (sc_Wundef_boolean): New rule.
33319
33320 2010-01-25  Jim Meyering  <meyering@redhat.com>
33321
33322         bootstrap: detect MacOS 10.6's shasum, too
33323         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
33324         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
33325
33326 2010-01-23  Jim Meyering  <meyering@redhat.com>
33327
33328         xstrtoll: new module
33329         * modules/xstrtoll: New file.
33330         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
33331         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
33332         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
33333         ./configure fails if you use this module and lack "long long".
33334         * modules/xstrtoll-tests: New module.
33335         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
33336         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
33337         new init.sh-based test framework.
33338
33339 2010-01-24  Bruno Haible  <bruno@clisp.org>
33340
33341         Tests for module 'yn'.
33342         * modules/yn-tests: New file.
33343         * tests/test-yn.c: New file.
33344
33345         Tests for module 'y1'.
33346         * modules/y1-tests: New file.
33347         * tests/test-y1.c: New file.
33348
33349         Tests for module 'y0'.
33350         * modules/y0-tests: New file.
33351         * tests/test-y0.c: New file.
33352
33353         Tests for module 'tanh'.
33354         * modules/tanh-tests: New file.
33355         * tests/test-tanh.c: New file.
33356
33357         Tests for module 'tan'.
33358         * modules/tan-tests: New file.
33359         * tests/test-tan.c: New file.
33360
33361         Tests for module 'sqrt'.
33362         * modules/sqrt-tests: New file.
33363         * tests/test-sqrt.c: New file.
33364
33365         Tests for module 'sinh'.
33366         * modules/sinh-tests: New file.
33367         * tests/test-sinh.c: New file.
33368
33369         Tests for module 'sin'.
33370         * modules/sin-tests: New file.
33371         * tests/test-sin.c: New file.
33372
33373         Tests for module 'rint'.
33374         * modules/rint-tests: New file.
33375         * tests/test-rint.c: New file.
33376
33377         Tests for module 'remainder'.
33378         * modules/remainder-tests: New file.
33379         * tests/test-remainder.c: New file.
33380
33381         Tests for module 'pow'.
33382         * modules/pow-tests: New file.
33383         * tests/test-pow.c: New file.
33384
33385         Tests for module 'nextafter'.
33386         * modules/nextafter-tests: New file.
33387         * tests/test-nextafter.c: New file.
33388
33389         Tests for module 'modf'.
33390         * modules/modf-tests: New file.
33391         * tests/test-modf.c: New file.
33392
33393         Tests for module 'logb'.
33394         * modules/logb-tests: New file.
33395         * tests/test-logb.c: New file.
33396
33397         Tests for module 'log1p'.
33398         * modules/log1p-tests: New file.
33399         * tests/test-log1p.c: New file.
33400
33401         Tests for module 'log10'.
33402         * modules/log10-tests: New file.
33403         * tests/test-log10.c: New file.
33404
33405         Tests for module 'log'.
33406         * modules/log-tests: New file.
33407         * tests/test-log.c: New file.
33408
33409         Tests for module 'lgamma'.
33410         * modules/lgamma-tests: New file.
33411         * tests/test-lgamma.c: New file.
33412
33413         Tests for module 'ldexp'.
33414         * modules/ldexp-tests: New file.
33415         * tests/test-ldexp.c: New file.
33416
33417         Tests for module 'jn'.
33418         * modules/jn-tests: New file.
33419         * tests/test-jn.c: New file.
33420
33421         Tests for module 'j1'.
33422         * modules/j1-tests: New file.
33423         * tests/test-j1.c: New file.
33424
33425         Tests for module 'j0'.
33426         * modules/j0-tests: New file.
33427         * tests/test-j0.c: New file.
33428
33429         Tests for module 'hypot'.
33430         * modules/hypot-tests: New file.
33431         * tests/test-hypot.c: New file.
33432
33433         Tests for module 'fmod'.
33434         * modules/fmod-tests: New file.
33435         * tests/test-fmod.c: New file.
33436
33437         Tests for module 'fabs'.
33438         * modules/fabs-tests: New file.
33439         * tests/test-fabs.c: New file.
33440
33441         Tests for module 'exp'.
33442         * modules/exp-tests: New file.
33443         * tests/test-exp.c: New file.
33444
33445         Tests for module 'erfc'.
33446         * modules/erfc-tests: New file.
33447         * tests/test-erfc.c: New file.
33448
33449         Tests for module 'erf'.
33450         * modules/erf-tests: New file.
33451         * tests/test-erf.c: New file.
33452
33453         Tests for module 'cosh'.
33454         * modules/cosh-tests: New file.
33455         * tests/test-cosh.c: New file.
33456
33457         Tests for module 'cos'.
33458         * modules/cos-tests: New file.
33459         * tests/test-cos.c: New file.
33460
33461         Tests for module 'copysign'.
33462         * modules/copysign-tests: New file.
33463         * tests/test-copysign.c: New file.
33464
33465         Tests for module 'cbrt'.
33466         * modules/cbrt-tests: New file.
33467         * tests/test-cbrt.c: New file.
33468
33469         Tests for module 'atan2'.
33470         * modules/atan2-tests: New file.
33471         * tests/test-atan2.c: New file.
33472
33473         Tests for module 'atan'.
33474         * modules/atan-tests: New file.
33475         * tests/test-atan.c: New file.
33476
33477         Tests for module 'asin'.
33478         * modules/asin-tests: New file.
33479         * tests/test-asin.c: New file.
33480
33481         Tests for module 'acos'.
33482         * modules/acos-tests: New file.
33483         * tests/test-acos.c: New file.
33484
33485 2010-01-24  Bruno Haible  <bruno@clisp.org>
33486
33487         Fix tests for common <math.h> functions.
33488         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
33489         code snippet that references the function pointer, rather than merely
33490         calling the function. Substitute the FUNC_LIBM variable.
33491         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
33492         * modules/acos (configure.ac): Likewise.
33493         * modules/asin (configure.ac): Likewise.
33494         * modules/atan (configure.ac): Likewise.
33495         * modules/atan2 (configure.ac): Likewise.
33496         * modules/cbrt (configure.ac): Likewise.
33497         * modules/copysign (configure.ac): Likewise.
33498         * modules/cos (configure.ac): Likewise.
33499         * modules/cosh (configure.ac): Likewise.
33500         * modules/erf (configure.ac): Likewise.
33501         * modules/erfc (configure.ac): Likewise.
33502         * modules/exp (configure.ac): Likewise.
33503         * modules/fabs (configure.ac): Likewise.
33504         * modules/fmod (configure.ac): Likewise.
33505         * modules/hypot (configure.ac): Likewise.
33506         * modules/j0 (configure.ac): Likewise.
33507         * modules/j1 (configure.ac): Likewise.
33508         * modules/jn (configure.ac): Likewise.
33509         * modules/ldexp (configure.ac): Likewise.
33510         * modules/lgamma (configure.ac): Likewise.
33511         * modules/log (configure.ac): Likewise.
33512         * modules/log10 (configure.ac): Likewise.
33513         * modules/log1p (configure.ac): Likewise.
33514         * modules/logb (configure.ac): Likewise.
33515         * modules/modf (configure.ac): Likewise.
33516         * modules/nextafter (configure.ac): Likewise.
33517         * modules/pow (configure.ac): Likewise.
33518         * modules/remainder (configure.ac): Likewise.
33519         * modules/rint (configure.ac): Likewise.
33520         * modules/sin (configure.ac): Likewise.
33521         * modules/sinh (configure.ac): Likewise.
33522         * modules/tan (configure.ac): Likewise.
33523         * modules/tanh (configure.ac): Likewise.
33524         * modules/y0 (configure.ac): Likewise.
33525         * modules/y1 (configure.ac): Likewise.
33526         * modules/yn (configure.ac): Likewise.
33527
33528 2010-01-24  Bruno Haible  <bruno@clisp.org>
33529
33530         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
33531         * tests/test-acosl.c (x): New variable.
33532         (main): Store argument in x and fetch it from x.
33533         * tests/test-asinl.c (x): New variable.
33534         (main): Store argument in x and fetch it from x.
33535         * tests/test-atanl.c (x): New variable.
33536         (main): Store argument in x and fetch it from x.
33537         * tests/test-cosl.c (x): New variable.
33538         (main): Store argument in x and fetch it from x.
33539         * tests/test-expl.c (x): New variable.
33540         (main): Store argument in x and fetch it from x.
33541         * tests/test-logl.c (x): New variable.
33542         (main): Store argument in x and fetch it from x.
33543         * tests/test-sinl.c (x): New variable.
33544         (main): Store argument in x and fetch it from x.
33545         * tests/test-sqrtl.c (x): New variable.
33546         (main): Store argument in x and fetch it from x.
33547         * tests/test-tanl.c (x): New variable.
33548         (main): Store argument in x and fetch it from x.
33549
33550 2010-01-24  Bruno Haible  <bruno@clisp.org>
33551
33552         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
33553         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
33554         assignments to the initial TESTS_ENVIRONMENT.
33555         * doc/gnulib.texi (Unit test modules): Document it.
33556         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
33557         TESTS_ENVIRONMENT.
33558         * modules/btowc-tests (Makefile.am): Likewise.
33559         * modules/c-stack-tests (Makefile.am): Likewise.
33560         * modules/c-strcase-tests (Makefile.am): Likewise.
33561         * modules/copy-file-tests (Makefile.am): Likewise.
33562         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
33563         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
33564         * modules/mbrtowc-tests (Makefile.am): Likewise.
33565         * modules/mbscasecmp-tests (Makefile.am): Likewise.
33566         * modules/mbscasestr-tests (Makefile.am): Likewise.
33567         * modules/mbschr-tests (Makefile.am): Likewise.
33568         * modules/mbscspn-tests (Makefile.am): Likewise.
33569         * modules/mbsinit-tests (Makefile.am): Likewise.
33570         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
33571         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
33572         * modules/mbspbrk-tests (Makefile.am): Likewise.
33573         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
33574         * modules/mbsrchr-tests (Makefile.am): Likewise.
33575         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
33576         * modules/mbsspn-tests (Makefile.am): Likewise.
33577         * modules/mbsstr-tests (Makefile.am): Likewise.
33578         * modules/nl_langinfo-tests (Makefile.am): Likewise.
33579         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
33580         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
33581         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
33582         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
33583         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
33584         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
33585         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
33586         * modules/wcrtomb-tests (Makefile.am): Likewise.
33587         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
33588         * modules/wcsrtombs-tests (Makefile.am): Likewise.
33589         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
33590         assignments from TESTS_ENVIRONMENT.
33591         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
33592         augmentation.
33593         * modules/argp-version-etc-tests (Makefile.am): Likewise.
33594         * modules/atexit-tests (Makefile.am): Likewise.
33595         * modules/binary-io-tests (Makefile.am): Likewise.
33596         * modules/closein-tests (Makefile.am): Likewise.
33597         * modules/dprintf-posix-tests (Makefile.am): Likewise.
33598         * modules/exclude-tests (Makefile.am): Likewise.
33599         * modules/fflush-tests (Makefile.am): Likewise.
33600         * modules/fpending-tests (Makefile.am): Likewise.
33601         * modules/fprintf-posix-tests (Makefile.am): Likewise.
33602         * modules/freadahead-tests (Makefile.am): Likewise.
33603         * modules/freadptr-tests (Makefile.am): Likewise.
33604         * modules/freadseek-tests (Makefile.am): Likewise.
33605         * modules/fseek-tests (Makefile.am): Likewise.
33606         * modules/fseeko-tests (Makefile.am): Likewise.
33607         * modules/ftell-tests (Makefile.am): Likewise.
33608         * modules/ftello-tests (Makefile.am): Likewise.
33609         * modules/idpriv-drop-tests (Makefile.am): Likewise.
33610         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
33611         * modules/lseek-tests (Makefile.am): Likewise.
33612         * modules/parse-duration-tests (Makefile.am): Likewise.
33613         * modules/perror-tests (Makefile.am): Likewise.
33614         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
33615         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
33616         * modules/pipe-tests (Makefile.am): Likewise.
33617         * modules/pread-tests (Makefile.am): Likewise.
33618         * modules/printf-posix-tests (Makefile.am): Likewise.
33619         * modules/select-tests (Makefile.am): Likewise.
33620         * modules/sigpipe-tests (Makefile.am): Likewise.
33621         * modules/tsearch-tests (Makefile.am): Likewise.
33622         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
33623         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
33624         * modules/uniname/uniname-tests (Makefile.am): Likewise.
33625         * modules/uniwidth/width-tests (Makefile.am): Likewise.
33626         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
33627         * modules/version-etc-tests (Makefile.am): Likewise.
33628         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
33629         * modules/vprintf-posix-tests (Makefile.am): Likewise.
33630         * modules/xalloc-die-tests (Makefile.am): Likewise.
33631         * modules/xprintf-posix-tests (Makefile.am): Likewise.
33632         * modules/xstrtoimax-tests (Makefile.am): Likewise.
33633         * modules/xstrtol-tests (Makefile.am): Likewise.
33634         * modules/xstrtoumax-tests (Makefile.am): Likewise.
33635         * modules/yesno-tests (Makefile.am): Likewise.
33636         Suggested by Jim Meyering.
33637
33638 2010-01-24  Bruno Haible  <bruno@clisp.org>
33639
33640         More documentation.
33641         * doc/gnulib.texi (Writing modules): New chapter.
33642         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
33643         the new chapter.
33644
33645 2010-01-24  Jim Meyering  <meyering@redhat.com>
33646
33647         maint.mk: do not prepend "./" after filtering
33648         * top/maint.mk (_prepend_srcdir_prefix): New variable
33649         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
33650         "./" when $(srcdir) is ".".
33651
33652         define STREQ(a,b) consistently, removing useless parentheses
33653         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
33654         since the only risk is that "a" or "b" contains an unparenthesized
33655         comma, but if either did that, STREQ would have 3 or more arguments.
33656         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
33657         * lib/fts.c (STREQ): Remove unnecessary parentheses.
33658         * lib/hash-triple.c (STREQ): Likewise.
33659         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
33660         * lib/getugroups.c (STREQ): Likewise.
33661
33662 2010-01-23  Jim Meyering  <meyering@redhat.com>
33663
33664         maint.mk: fix syntax-check in a non-srcdir build directory
33665         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
33666         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
33667
33668 2010-01-22  Jim Meyering  <meyering@redhat.com>
33669
33670         userspec: add unit tests
33671         * tests/test-userspec.c: New file.
33672         * modules/userspec-tests: Likewise.
33673
33674 2010-01-21  Jim Meyering  <meyering@redhat.com>
33675
33676         maint.mk: handle source file names containing "." robustly
33677         * top/maint.mk (_dot_escaped_srcdir): Define.
33678         (VC_LIST): Use it in LHS of sed substitution.
33679
33680 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
33681
33682         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
33683         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
33684         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
33685         from a non-srcdir build.
33686
33687 2010-01-20  Eric Blake  <ebb9@byu.net>
33688
33689         warn-on-use: use instead of link-warning
33690         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
33691         * modules/unistd (Depends-on, Makefile.am): Likewise.
33692         * modules/arpa_inet (Depends-on): Replace link-warning with
33693         warn-on-use.
33694         (Makefile.am): Update rules accordingly.
33695         * modules/ctype (Depends-on, Makefile.am): Likewise.
33696         * modules/dirent (Depends-on, Makefile.am): Likewise.
33697         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
33698         * modules/inttypes (Depends-on, Makefile.am): Likewise.
33699         * modules/langinfo (Depends-on, Makefile.am): Likewise.
33700         * modules/locale (Depends-on, Makefile.am): Likewise.
33701         * modules/math (Depends-on, Makefile.am): Likewise.
33702         * modules/search (Depends-on, Makefile.am): Likewise.
33703         * modules/signal (Depends-on, Makefile.am): Likewise.
33704         * modules/spawn (Depends-on, Makefile.am): Likewise.
33705         * modules/stdlib (Depends-on, Makefile.am): Likewise.
33706         * modules/string (Depends-on, Makefile.am): Likewise.
33707         * modules/strings (Depends-on, Makefile.am): Likewise.
33708         * modules/sys_file (Depends-on, Makefile.am): Likewise.
33709         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
33710         * modules/sys_select (Depends-on, Makefile.am): Likewise.
33711         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
33712         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
33713         * modules/sys_times (Depends-on, Makefile.am): Likewise.
33714         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
33715         * modules/wchar (Depends-on, Makefile.am): Likewise.
33716         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
33717         should be poisoned.
33718         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
33719         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
33720         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
33721         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
33722         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
33723         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
33724         * m4/math_h.m4 (gl_MATH_H): Likewise.
33725         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
33726         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
33727         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
33728         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
33729         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
33730         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
33731         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
33732         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
33733         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
33734         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
33735         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
33736         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
33737         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
33738         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
33739         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
33740         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
33741         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
33742         GL_LINK_WARNING.
33743         * lib/ctype.in.h: Likewise.
33744         * lib/dirent.in.h: Likewise.
33745         * lib/fcntl.in.h: Likewise.
33746         * lib/inttypes.in.h: Likewise.
33747         * lib/langinfo.in.h: Likewise.
33748         * lib/locale.in.h: Likewise.
33749         * lib/math.in.h: Likewise.
33750         * lib/search.in.h: Likewise.
33751         * lib/signal.in.h: Likewise.
33752         * lib/spawn.in.h: Likewise.
33753         * lib/stdio.in.h: Likewise.
33754         * lib/stdlib.in.h: Likewise.
33755         * lib/string.in.h: Likewise.
33756         * lib/strings.in.h: Likewise.
33757         * lib/sys_file.in.h: Likewise.
33758         * lib/sys_ioctl.in.h: Likewise.
33759         * lib/sys_select.in.h: Likewise.
33760         * lib/sys_socket.in.h: Likewise.
33761         * lib/sys_stat.in.h: Likewise.
33762         * lib/sys_times.in.h: Likewise.
33763         * lib/sys_utsname.in.h: Likewise.
33764         * lib/unistd.in.h: Likewise.
33765         * lib/wchar.in.h: Likewise.
33766
33767 2010-01-20  Bruno Haible  <bruno@clisp.org>
33768
33769         Avoid duplicate -lm.
33770         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
33771         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
33772         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
33773         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
33774         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
33775         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
33776         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
33777         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
33778         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
33779         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
33780         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
33781         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
33782         Reported by Paolo Bonzini.
33783
33784 2010-01-19  Bruno Haible  <bruno@clisp.org>
33785
33786         langinfo, nl_langinfo: Relicense under LGPLv2+.
33787         * modules/langinfo (License): Change to LGPLv2+.
33788         * modules/nl_langinfo (License): Likewise.
33789         Patch by David Lutterkort <lutter@redhat.com>.
33790
33791 2010-01-19  Bruno Haible  <bruno@clisp.org>
33792
33793         Avoid compilation error with cc on OSF/1 5.1.
33794         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
33795         statement, not before.
33796         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33797
33798 2010-01-18  Bruno Haible  <bruno@clisp.org>
33799
33800         Avoid a link error due to the __printf__ symbol.
33801         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
33802         and 2.6.x.
33803         (__format__, __printf__): Remove definitions.
33804         * lib/argp-fmtstream.h: Likewise.
33805         * lib/argp.h: Likewise.
33806         * lib/error.h: Likewise.
33807         * lib/vasnprintf.h: Likewise.
33808         * lib/xprintf.h: Likewise.
33809         * lib/xvasprintf.h: Likewise.
33810         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33811
33812 2010-01-18  Bruno Haible  <bruno@clisp.org>
33813
33814         Tests for module 'tanl'.
33815         * modules/tanl-tests: New file.
33816         * tests/test-tanl.c: New file.
33817
33818         Tests for module 'sqrtl'.
33819         * modules/sqrtl-tests: New file.
33820         * tests/test-sqrtl.c: New file.
33821
33822         Tests for module 'sinl'.
33823         * modules/sinl-tests: New file.
33824         * tests/test-sinl.c: New file.
33825
33826         Tests for module 'logl'.
33827         * modules/logl-tests: New file.
33828         * tests/test-logl.c: New file.
33829
33830         Tests for module 'expl'.
33831         * modules/expl-tests: New file.
33832         * tests/test-expl.c: New file.
33833
33834         Tests for module 'cosl'.
33835         * modules/cosl-tests: New file.
33836         * tests/test-cosl.c: New file.
33837
33838         Tests for module 'atanl'.
33839         * modules/atanl-tests: New file.
33840         * tests/test-atanl.c: New file.
33841
33842         Tests for module 'asinl'.
33843         * modules/asinl-tests: New file.
33844         * tests/test-asinl.c: New file.
33845
33846         Tests for module 'acosl'.
33847         * modules/acosl-tests: New file.
33848         * tests/test-acosl.c: New file.
33849
33850         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
33851         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
33852         tanl): Use the standard gnulib idiom.
33853         * lib/cosl.c: Don't include trigl.c and sincosl.c.
33854         * lib/sinl.c: Likewise.
33855         * lib/tanl.c: Don't include trigl.c.
33856         (kernel_tanl): Make static.
33857         * lib/sincosl.c: Include trigl.h first.
33858         * lib/trigl.c: Likewise.
33859         * m4/acosl.m4: New file.
33860         * m4/asinl.m4: New file.
33861         * m4/atanl.m4: New file.
33862         * m4/cosl.m4: New file.
33863         * m4/expl.m4: New file.
33864         * m4/logl.m4: New file.
33865         * m4/sinl.m4: New file.
33866         * m4/sqrtl.m4: New file.
33867         * m4/tanl.m4: New file.
33868         * m4/mathl.m4: Remove file.
33869         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
33870         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
33871         Don't initialize GNULIB_MATHL.
33872         * modules/acosl: New file.
33873         * modules/asinl: New file.
33874         * modules/atanl: New file.
33875         * modules/cosl: New file.
33876         * modules/expl: New file.
33877         * modules/logl: New file.
33878         * modules/sinl: New file.
33879         * modules/sqrtl: New file.
33880         * modules/tanl: New file.
33881         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
33882         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
33883         substitute GNULIB_MATHL.
33884         * modules/mathl: Rewritten.
33885         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
33886         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
33887         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
33888         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
33889         * doc/posix-functions/expl.texi: Mention the 'expl' module.
33890         * doc/posix-functions/logl.texi: Mention the 'logl' module.
33891         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
33892         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
33893         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
33894
33895 2010-01-18  Bruno Haible  <bruno@clisp.org>
33896
33897         sqrt: Make gl_FUNC_SQRT requirable.
33898         * m4/sqrt.m4: New file.
33899         * modules/sqrt (Files): Add it.
33900         (configure.ac): Invoke gl_FUNC_SQRT.
33901
33902 2010-01-18  Bruno Haible  <bruno@clisp.org>
33903
33904         New modules for common <math.h> functions.
33905         * m4/mathfunc.m4: New file.
33906         * modules/acos: New file.
33907         * modules/asin: New file.
33908         * modules/atan: New file.
33909         * modules/atan2: New file.
33910         * modules/cbrt: New file.
33911         * modules/copysign: New file.
33912         * modules/cos: New file.
33913         * modules/cosh: New file.
33914         * modules/erf: New file.
33915         * modules/erfc: New file.
33916         * modules/exp: New file.
33917         * modules/fabs: New file.
33918         * modules/fmod: New file.
33919         * modules/hypot: New file.
33920         * modules/j0: New file.
33921         * modules/j1: New file.
33922         * modules/jn: New file.
33923         * modules/ldexp: New file.
33924         * modules/lgamma: New file.
33925         * modules/log: New file.
33926         * modules/log10: New file.
33927         * modules/log1p: New file.
33928         * modules/logb: New file.
33929         * modules/modf: New file.
33930         * modules/nextafter: New file.
33931         * modules/pow: New file.
33932         * modules/remainder: New file.
33933         * modules/rint: New file.
33934         * modules/sin: New file.
33935         * modules/sinh: New file.
33936         * modules/sqrt: New file.
33937         * modules/tan: New file.
33938         * modules/tanh: New file.
33939         * modules/y0: New file.
33940         * modules/y1: New file.
33941         * modules/yn: New file.
33942         * doc/posix-functions/acos.texi: Mention the 'acos' module.
33943         * doc/posix-functions/asin.texi: Mention the 'asin' module.
33944         * doc/posix-functions/atan.texi: Mention the 'atan' module.
33945         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
33946         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
33947         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
33948         * doc/posix-functions/cos.texi: Mention the 'cos' module.
33949         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
33950         * doc/posix-functions/erf.texi: Mention the 'erf' module.
33951         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
33952         * doc/posix-functions/exp.texi: Mention the 'exp' module.
33953         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
33954         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
33955         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
33956         * doc/posix-functions/j0.texi: Mention the 'j0' module.
33957         * doc/posix-functions/j1.texi: Mention the 'j1' module.
33958         * doc/posix-functions/jn.texi: Mention the 'jn' module.
33959         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
33960         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
33961         * doc/posix-functions/log.texi: Mention the 'log' module.
33962         * doc/posix-functions/log10.texi: Mention the 'log10' module.
33963         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
33964         * doc/posix-functions/logb.texi: Mention the 'logb' module.
33965         * doc/posix-functions/modf.texi: Mention the 'modf' module.
33966         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
33967         * doc/posix-functions/pow.texi: Mention the 'pow' module.
33968         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
33969         * doc/posix-functions/rint.texi: Mention the 'rint' module.
33970         * doc/posix-functions/sin.texi: Mention the 'sin' module.
33971         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
33972         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
33973         * doc/posix-functions/tan.texi: Mention the 'tan' module.
33974         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
33975         * doc/posix-functions/y0.texi: Mention the 'y0' module.
33976         * doc/posix-functions/y1.texi: Mention the 'y1' module.
33977         * doc/posix-functions/yn.texi: Mention the 'yn' module.
33978
33979 2010-01-18  Jim Meyering  <meyering@redhat.com>
33980
33981         ignore-value: relax license to LGPLv2+
33982         * modules/ignore-value (License): Relax to LGPLv2+.
33983
33984         getdate: don't leak when TZ contains two or more '"'s
33985         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
33986         double quote in TZ after the first one.
33987
33988         readtokens: do not leak internal token_lengths buffer
33989         * lib/readtokens.c (readtokens): Free the local, lengths,
33990         when the supplied "token_lengths" parameter is NULL.
33991
33992 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33993
33994         Fix a couple of missing LIBTHREAD link failures on AIX.
33995         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
33996         $(LIBTHREAD).
33997         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
33998
33999         Link test-poll against INET_PTON_LIB.
34000         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
34001         for inet_pton on Solaris 10.
34002
34003 2010-01-17  Bruno Haible  <bruno@clisp.org>
34004
34005         unistdio/*-sprintf: Fix typo in module description.
34006         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
34007         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
34008         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
34009         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
34010         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
34011         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
34012         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
34013         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34014
34015 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34016
34017         gnulib-tool: fix filelist for AIX, HP-UX ksh.
34018         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
34019         variables in shell case patterns, for AIX and HP-UX ksh.
34020
34021         Split large sed scripts, for HP-UX sed.
34022         * modules/stdio: Split sed scripts around 50 sed commands,
34023         to avoid HP-UX limit of 99 commands, in the near future.
34024         * modules/string: Likewise.
34025         * modules/unistd: Likewise.
34026
34027         gnulib-tool: avoid writing in the current directory.
34028         * gnulib-tool (func_emit_lib_Makefile_am)
34029         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
34030         not in the current directory, so concurrent gnulib-tool
34031         instances do not interfere.
34032
34033 2010-01-16  Jim Meyering  <meyering@redhat.com>
34034
34035         doc: update users.txt
34036         * users.txt: Add grep.
34037         (diffutils, gzip): Update URLs.
34038
34039 2010-01-12  Bruno Haible  <bruno@clisp.org>
34040
34041         posix_spawn: Avoid test failure on Cygwin.
34042         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
34043         characters.
34044         Reported by Simon Josefsson.
34045
34046 2010-01-12  Bruno Haible  <bruno@clisp.org>
34047
34048         * tests/test-cond.c (main): When skipping the test, show the reason.
34049
34050 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34051
34052         * lib/striconv.c (str_cd_iconv): Avoid if before free.
34053
34054 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34055
34056         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
34057         VC_LIST_ALWAYS_EXCLUDE_REGEX.
34058
34059 2010-01-12  Eric Blake  <ebb9@byu.net>
34060
34061         build: guarantee AS_VAR_IF
34062         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
34063         (gl_AS_VAR_IF): Move...
34064         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
34065         Reported by Simon Josefsson.
34066
34067 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34068
34069         * lib/stdio.in.h: Fix typo.
34070
34071 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34072
34073         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
34074         libgpg-error.
34075
34076 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34077
34078         * tests/test-xalloc-die.sh: Use $EXEEXT.
34079
34080 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34081             Bruno Haible  <bruno@clisp.org>
34082
34083         getlogin, getlogin_r: Avoid test failure.
34084         * tests/test-getlogin.c: Include <stdio.h>.
34085         (main): Skip the test when the function fails because stdin is not a
34086         tty.
34087         * tests/test-getlogin_r.c: Include <stdio.h>.
34088         (main): Skip the test when the function fails because stdin is not a
34089         tty.
34090
34091 2010-01-11  Eric Blake  <ebb9@byu.net>
34092
34093         tests: avoid more large file warnings
34094         * tests/test-fflush.c: Avoid warning about ftell use.
34095         * tests/test-fseek.c: Avoid warning about fseek use.
34096
34097 2010-01-10  Bruno Haible  <bruno@clisp.org>
34098
34099         nproc: Work better on Linux when /proc and /sys are not mounted.
34100         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
34101         as lower bound when, on glibc/Linux systems,
34102         sysconf (_SC_NPROCESSORS_CONF) returns 1.
34103         Suggested by Pádraig Brady <P@draigbrady.com>.
34104         Reported by Dmitry V. Levin <ldv@altlinux.org>.
34105
34106         nproc: Refactor.
34107         * lib/nproc.c (num_processors_via_affinity_mask): New function,
34108         extracted from num_processors.
34109         (num_processors): Call it.
34110
34111 2010-01-11  Jim Meyering  <meyering@redhat.com>
34112
34113         utimecmp: avoid new warning from upcoming gcc-4.5.0
34114         * lib/utimecmp.c (BILLION): Define using #define rather than an
34115         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
34116
34117 2010-01-11  Eric Blake  <ebb9@byu.net>
34118
34119         math: add portability warnings for classification macros
34120         * modules/math (Depends-on): Add warn-on-use.
34121         (Makefile.am): Provide new substitutions.
34122         * m4/math_h.m4 (gl_MATH_H): Require inline.
34123         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
34124         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
34125         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
34126         implement warnings.
34127
34128         unistd: warn on use of environ without module
34129         * modules/unistd (Depends-on): Add warn-on-use.
34130         (Makefile.am): Provide new substitutions.
34131         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
34132         * lib/unistd.in.h (environ): Wrap with a warning helper function.
34133
34134         stdio: warn on suspicious uses
34135         * modules/stdio (Depends-on): Add warn-on-use.
34136         (Makefile.am): Provide new substitutions.
34137         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
34138         fseeko.
34139         * lib/stdio.in.h (gets): Always warn on use.
34140         (fseek, ftell): Adjust when warnings are issued, and honor
34141         _GL_NO_LARGE_FILES as a way to silence the warning.
34142         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
34143         any warning about large file offsets.
34144         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
34145         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
34146         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
34147         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
34148         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
34149         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
34150         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
34151         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
34152
34153         warn-on-use: new module
34154         * modules/warn-on-use: New file.
34155         * build-aux/warn-on-use.h: Likewise.
34156         * m4/warn-on-use.m4: Likewise.
34157         * MODULES.html.sh (Support for building): Mention it.
34158
34159 2010-01-10  Bruno Haible  <bruno@clisp.org>
34160
34161         Tests for module 'unistr/u32-strdup'.
34162         * modules/unistr/u32-strdup-tests: New file.
34163         * tests/unistr/test-u32-strdup.c: New file.
34164
34165         Tests for module 'unistr/u16-strdup'.
34166         * modules/unistr/u16-strdup-tests: New file.
34167         * tests/unistr/test-u16-strdup.c: New file.
34168
34169         Tests for module 'unistr/u8-strdup'.
34170         * modules/unistr/u8-strdup-tests: New file.
34171         * tests/unistr/test-u8-strdup.c: New file.
34172         * tests/unistr/test-strdup.h: New file.
34173
34174         Tests for module 'unistr/u32-strncmp'.
34175         * modules/unistr/u32-strncmp-tests: New file.
34176         * tests/unistr/test-u32-strncmp.c: New file.
34177
34178         Tests for module 'unistr/u16-strncmp'.
34179         * modules/unistr/u16-strncmp-tests: New file.
34180         * tests/unistr/test-u16-strncmp.c: New file.
34181
34182         Tests for module 'unistr/u8-strncmp'.
34183         * modules/unistr/u8-strncmp-tests: New file.
34184         * tests/unistr/test-u8-strncmp.c: New file.
34185         * tests/unistr/test-strncmp.h: New file.
34186
34187         Tests for module 'unistr/u32-strcoll'.
34188         * modules/unistr/u32-strcoll-tests: New file.
34189         * tests/unistr/test-u32-strcoll.c: New file.
34190
34191         Tests for module 'unistr/u16-strcoll'.
34192         * modules/unistr/u16-strcoll-tests: New file.
34193         * tests/unistr/test-u16-strcoll.c: New file.
34194
34195         Tests for module 'unistr/u8-strcoll'.
34196         * modules/unistr/u8-strcoll-tests: New file.
34197         * tests/unistr/test-u8-strcoll.c: New file.
34198
34199         Tests for module 'unistr/u32-strcmp'.
34200         * modules/unistr/u32-strcmp-tests: New file.
34201         * tests/unistr/test-u32-strcmp.c: New file.
34202         * tests/unistr/test-u32-strcmp.h: New file.
34203
34204         Tests for module 'unistr/u16-strcmp'.
34205         * modules/unistr/u16-strcmp-tests: New file.
34206         * tests/unistr/test-u16-strcmp.c: New file.
34207         * tests/unistr/test-u16-strcmp.h: New file.
34208
34209         Tests for module 'unistr/u8-strcmp'.
34210         * modules/unistr/u8-strcmp-tests: New file.
34211         * tests/unistr/test-u8-strcmp.c: New file.
34212         * tests/unistr/test-u8-strcmp.h: New file.
34213         * tests/unistr/test-strcmp.h: New file.
34214
34215         Tests for module 'unistr/u32-strncat'.
34216         * modules/unistr/u32-strncat-tests: New file.
34217         * tests/unistr/test-u32-strncat.c: New file.
34218
34219         Tests for module 'unistr/u16-strncat'.
34220         * modules/unistr/u16-strncat-tests: New file.
34221         * tests/unistr/test-u16-strncat.c: New file.
34222
34223         Tests for module 'unistr/u8-strncat'.
34224         * modules/unistr/u8-strncat-tests: New file.
34225         * tests/unistr/test-u8-strncat.c: New file.
34226         * tests/unistr/test-strncat.h: New file.
34227
34228         Tests for module 'unistr/u32-strcat'.
34229         * modules/unistr/u32-strcat-tests: New file.
34230         * tests/unistr/test-u32-strcat.c: New file.
34231
34232         Tests for module 'unistr/u16-strcat'.
34233         * modules/unistr/u16-strcat-tests: New file.
34234         * tests/unistr/test-u16-strcat.c: New file.
34235
34236         Tests for module 'unistr/u8-strcat'.
34237         * modules/unistr/u8-strcat-tests: New file.
34238         * tests/unistr/test-u8-strcat.c: New file.
34239         * tests/unistr/test-strcat.h: New file.
34240
34241         Tests for module 'unistr/u32-stpncpy'.
34242         * modules/unistr/u32-stpncpy-tests: New file.
34243         * tests/unistr/test-u32-stpncpy.c: New file.
34244
34245         Tests for module 'unistr/u16-stpncpy'.
34246         * modules/unistr/u16-stpncpy-tests: New file.
34247         * tests/unistr/test-u16-stpncpy.c: New file.
34248
34249         Tests for module 'unistr/u8-stpncpy'.
34250         * modules/unistr/u8-stpncpy-tests: New file.
34251         * tests/unistr/test-u8-stpncpy.c: New file.
34252         * tests/unistr/test-stpncpy.h: New file.
34253
34254         Tests for module 'unistr/u32-strncpy'.
34255         * modules/unistr/u32-strncpy-tests: New file.
34256         * tests/unistr/test-u32-strncpy.c: New file.
34257
34258         Tests for module 'unistr/u16-strncpy'.
34259         * modules/unistr/u16-strncpy-tests: New file.
34260         * tests/unistr/test-u16-strncpy.c: New file.
34261
34262         Tests for module 'unistr/u8-strncpy'.
34263         * modules/unistr/u8-strncpy-tests: New file.
34264         * tests/unistr/test-u8-strncpy.c: New file.
34265         * tests/unistr/test-strncpy.h: New file.
34266
34267         Tests for module 'unistr/u32-stpcpy'.
34268         * modules/unistr/u32-stpcpy-tests: New file.
34269         * tests/unistr/test-u32-stpcpy.c: New file.
34270
34271         Tests for module 'unistr/u16-stpcpy'.
34272         * modules/unistr/u16-stpcpy-tests: New file.
34273         * tests/unistr/test-u16-stpcpy.c: New file.
34274
34275         Tests for module 'unistr/u8-stpcpy'.
34276         * modules/unistr/u8-stpcpy-tests: New file.
34277         * tests/unistr/test-u8-stpcpy.c: New file.
34278         * tests/unistr/test-stpcpy.h: New file.
34279
34280         Tests for module 'unistr/u32-strcpy'.
34281         * modules/unistr/u32-strcpy-tests: New file.
34282         * tests/unistr/test-u32-strcpy.c: New file.
34283
34284         Tests for module 'unistr/u16-strcpy'.
34285         * modules/unistr/u16-strcpy-tests: New file.
34286         * tests/unistr/test-u16-strcpy.c: New file.
34287
34288         Tests for module 'unistr/u8-strcpy'.
34289         * modules/unistr/u8-strcpy-tests: New file.
34290         * tests/unistr/test-u8-strcpy.c: New file.
34291         * tests/unistr/test-strcpy.h: New file.
34292
34293         Tests for module 'unistr/u32-strnlen'.
34294         * modules/unistr/u32-strnlen-tests: New file.
34295         * tests/unistr/test-u32-strnlen.c: New file.
34296
34297         Tests for module 'unistr/u16-strnlen'.
34298         * modules/unistr/u16-strnlen-tests: New file.
34299         * tests/unistr/test-u16-strnlen.c: New file.
34300
34301         Tests for module 'unistr/u8-strnlen'.
34302         * modules/unistr/u8-strnlen-tests: New file.
34303         * tests/unistr/test-u8-strnlen.c: New file.
34304         * tests/unistr/test-strnlen.h: New file.
34305
34306         Tests for module 'unistr/u32-strlen'.
34307         * modules/unistr/u32-strlen-tests: New file.
34308         * tests/unistr/test-u32-strlen.c: New file.
34309
34310         Tests for module 'unistr/u16-strlen'.
34311         * modules/unistr/u16-strlen-tests: New file.
34312         * tests/unistr/test-u16-strlen.c: New file.
34313
34314         Tests for module 'unistr/u8-strlen'.
34315         * modules/unistr/u8-strlen-tests: New file.
34316         * tests/unistr/test-u8-strlen.c: New file.
34317
34318         Tests for module 'unistr/u32-prev'.
34319         * modules/unistr/u32-prev-tests: New file.
34320         * tests/unistr/test-u32-prev.c: New file.
34321
34322         Tests for module 'unistr/u16-prev'.
34323         * modules/unistr/u16-prev-tests: New file.
34324         * tests/unistr/test-u16-prev.c: New file.
34325
34326         Tests for module 'unistr/u8-prev'.
34327         * modules/unistr/u8-prev-tests: New file.
34328         * tests/unistr/test-u8-prev.c: New file.
34329
34330         Tests for module 'unistr/u32-next'.
34331         * modules/unistr/u32-next-tests: New file.
34332         * tests/unistr/test-u32-next.c: New file.
34333
34334         Tests for module 'unistr/u16-next'.
34335         * modules/unistr/u16-next-tests: New file.
34336         * tests/unistr/test-u16-next.c: New file.
34337
34338         Tests for module 'unistr/u8-next'.
34339         * modules/unistr/u8-next-tests: New file.
34340         * tests/unistr/test-u8-next.c: New file.
34341
34342         Tests for module 'unistr/u32-strmbtouc'.
34343         * modules/unistr/u32-strmbtouc-tests: New file.
34344         * tests/unistr/test-u32-strmbtouc.c: New file.
34345
34346         Tests for module 'unistr/u16-strmbtouc'.
34347         * modules/unistr/u16-strmbtouc-tests: New file.
34348         * tests/unistr/test-u16-strmbtouc.c: New file.
34349
34350         Tests for module 'unistr/u8-strmbtouc'.
34351         * modules/unistr/u8-strmbtouc-tests: New file.
34352         * tests/unistr/test-u8-strmbtouc.c: New file.
34353
34354         Tests for module 'unistr/u32-strmblen'.
34355         * modules/unistr/u32-strmblen-tests: New file.
34356         * tests/unistr/test-u32-strmblen.c: New file.
34357
34358         Tests for module 'unistr/u16-strmblen'.
34359         * modules/unistr/u16-strmblen-tests: New file.
34360         * tests/unistr/test-u16-strmblen.c: New file.
34361
34362         Tests for module 'unistr/u8-strmblen'.
34363         * modules/unistr/u8-strmblen-tests: New file.
34364         * tests/unistr/test-u8-strmblen.c: New file.
34365
34366         Tests for module 'unistr/u32-cpy-alloc'.
34367         * modules/unistr/u32-cpy-alloc-tests: New file.
34368         * tests/unistr/test-u32-cpy-alloc.c: New file.
34369
34370         Tests for module 'unistr/u16-cpy-alloc'.
34371         * modules/unistr/u16-cpy-alloc-tests: New file.
34372         * tests/unistr/test-u16-cpy-alloc.c: New file.
34373
34374         Tests for module 'unistr/u8-cpy-alloc'.
34375         * modules/unistr/u8-cpy-alloc-tests: New file.
34376         * tests/unistr/test-u8-cpy-alloc.c: New file.
34377         * tests/unistr/test-cpy-alloc.h: New file.
34378
34379         Tests for module 'unistr/u32-mbsnlen'.
34380         * modules/unistr/u32-mbsnlen-tests: New file.
34381         * tests/unistr/test-u32-mbsnlen.c: New file.
34382
34383         Tests for module 'unistr/u16-mbsnlen'.
34384         * modules/unistr/u16-mbsnlen-tests: New file.
34385         * tests/unistr/test-u16-mbsnlen.c: New file.
34386
34387         Tests for module 'unistr/u8-mbsnlen'.
34388         * modules/unistr/u8-mbsnlen-tests: New file.
34389         * tests/unistr/test-u8-mbsnlen.c: New file.
34390
34391         Tests for module 'unistr/u32-chr'.
34392         * modules/unistr/u32-chr-tests: New file.
34393         * tests/unistr/test-u32-chr.c: New file.
34394
34395         Tests for module 'unistr/u16-chr'.
34396         * modules/unistr/u16-chr-tests: New file.
34397         * tests/unistr/test-u16-chr.c: New file.
34398
34399         Tests for module 'unistr/u8-chr'.
34400         * modules/unistr/u8-chr-tests: New file.
34401         * tests/unistr/test-u8-chr.c: New file.
34402         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
34403
34404         Tests for module 'unistr/u32-cmp2'.
34405         * modules/unistr/u32-cmp2-tests: New file.
34406         * tests/unistr/test-u32-cmp2.c: New file.
34407
34408         Tests for module 'unistr/u16-cmp2'.
34409         * modules/unistr/u16-cmp2-tests: New file.
34410         * tests/unistr/test-u16-cmp2.c: New file.
34411
34412         Tests for module 'unistr/u8-cmp2'.
34413         * modules/unistr/u8-cmp2-tests: New file.
34414         * tests/unistr/test-u8-cmp2.c: New file.
34415         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
34416
34417         Tests for module 'unistr/u32-cmp'.
34418         * modules/unistr/u32-cmp-tests: New file.
34419         * tests/unistr/test-u32-cmp.c: New file.
34420
34421         Tests for module 'unistr/u16-cmp'.
34422         * modules/unistr/u16-cmp-tests: New file.
34423         * tests/unistr/test-u16-cmp.c: New file.
34424
34425         Tests for module 'unistr/u8-cmp'.
34426         * modules/unistr/u8-cmp-tests: New file.
34427         * tests/unistr/test-u8-cmp.c: New file.
34428         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
34429
34430         Tests for module 'unistr/u32-set'.
34431         * modules/unistr/u32-set-tests: New file.
34432         * tests/unistr/test-u32-set.c: New file.
34433
34434         Tests for module 'unistr/u16-set'.
34435         * modules/unistr/u16-set-tests: New file.
34436         * tests/unistr/test-u16-set.c: New file.
34437
34438         Tests for module 'unistr/u8-set'.
34439         * modules/unistr/u8-set-tests: New file.
34440         * tests/unistr/test-u8-set.c: New file.
34441         * tests/unistr/test-set.h: New file.
34442
34443         Tests for module 'unistr/u32-move'.
34444         * modules/unistr/u32-move-tests: New file.
34445         * tests/unistr/test-u32-move.c: New file.
34446
34447         Tests for module 'unistr/u16-move'.
34448         * modules/unistr/u16-move-tests: New file.
34449         * tests/unistr/test-u16-move.c: New file.
34450
34451         Tests for module 'unistr/u8-move'.
34452         * modules/unistr/u8-move-tests: New file.
34453         * tests/unistr/test-u8-move.c: New file.
34454         * tests/unistr/test-move.h: New file.
34455
34456         Tests for module 'unistr/u32-cpy'.
34457         * modules/unistr/u32-cpy-tests: New file.
34458         * tests/unistr/test-u32-cpy.c: New file.
34459
34460         Tests for module 'unistr/u16-cpy'.
34461         * modules/unistr/u16-cpy-tests: New file.
34462         * tests/unistr/test-u16-cpy.c: New file.
34463
34464         Tests for module 'unistr/u8-cpy'.
34465         * modules/unistr/u8-cpy-tests: New file.
34466         * tests/unistr/test-u8-cpy.c: New file.
34467         * tests/unistr/test-cpy.h: New file.
34468
34469 2010-01-09  Bruno Haible  <bruno@clisp.org>
34470
34471         Tests for module 'unistr/u32-uctomb'.
34472         * modules/unistr/u32-uctomb-tests: New file.
34473         * tests/unistr/test-u32-uctomb.c: New file.
34474
34475         Tests for module 'unistr/u16-uctomb'.
34476         * modules/unistr/u16-uctomb-tests: New file.
34477         * tests/unistr/test-u16-uctomb.c: New file.
34478
34479         Tests for module 'unistr/u8-uctomb'.
34480         * modules/unistr/u8-uctomb-tests: New file.
34481         * tests/unistr/test-u8-uctomb.c: New file.
34482
34483         Tests for module 'unistr/u32-mbtoucr'.
34484         * modules/unistr/u32-mbtoucr-tests: New file.
34485         * tests/unistr/test-u32-mbtoucr.c: New file.
34486
34487         Tests for module 'unistr/u16-mbtoucr'.
34488         * modules/unistr/u16-mbtoucr-tests: New file.
34489         * tests/unistr/test-u16-mbtoucr.c: New file.
34490
34491         Tests for module 'unistr/u8-mbtoucr'.
34492         * modules/unistr/u8-mbtoucr-tests: New file.
34493         * tests/unistr/test-u8-mbtoucr.c: New file.
34494
34495         Tests for module 'unistr/u32-mbtouc'.
34496         * modules/unistr/u32-mbtouc-tests: New file.
34497         * tests/unistr/test-u32-mbtouc.c: New file.
34498
34499         Tests for module 'unistr/u16-mbtouc'.
34500         * modules/unistr/u16-mbtouc-tests: New file.
34501         * tests/unistr/test-u16-mbtouc.c: New file.
34502
34503         Tests for module 'unistr/u8-mbtouc'.
34504         * modules/unistr/u8-mbtouc-tests: New file.
34505         * tests/unistr/test-u8-mbtouc.c: New file.
34506
34507         Tests for module 'unistr/u32-mbtouc-unsafe'.
34508         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
34509         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
34510         * tests/unistr/test-u32-mbtouc.h: New file.
34511
34512         Tests for module 'unistr/u16-mbtouc-unsafe'.
34513         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
34514         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
34515         * tests/unistr/test-u16-mbtouc.h: New file.
34516
34517         Tests for module 'unistr/u8-mbtouc-unsafe'.
34518         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
34519         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
34520         * tests/unistr/test-u8-mbtouc.h: New file.
34521
34522         Tests for module 'unistr/u32-mblen'.
34523         * modules/unistr/u32-mblen-tests: New file.
34524         * tests/unistr/test-u32-mblen.c: New file.
34525
34526         Tests for module 'unistr/u16-mblen'.
34527         * modules/unistr/u16-mblen-tests: New file.
34528         * tests/unistr/test-u16-mblen.c: New file.
34529
34530         Tests for module 'unistr/u8-mblen'.
34531         * modules/unistr/u8-mblen-tests: New file.
34532         * tests/unistr/test-u8-mblen.c: New file.
34533
34534         Tests for module 'unistr/u32-to-u16'.
34535         * modules/unistr/u32-to-u16-tests: New file.
34536         * tests/unistr/test-u32-to-u16.c: New file.
34537
34538         Tests for module 'unistr/u32-to-u8'.
34539         * modules/unistr/u32-to-u8-tests: New file.
34540         * tests/unistr/test-u32-to-u8.c: New file.
34541
34542         Tests for module 'unistr/u16-to-u32'.
34543         * modules/unistr/u16-to-u32-tests: New file.
34544         * tests/unistr/test-u16-to-u32.c: New file.
34545
34546         Tests for module 'unistr/u16-to-u8'.
34547         * modules/unistr/u16-to-u8-tests: New file.
34548         * tests/unistr/test-u16-to-u8.c: New file.
34549
34550         Tests for module 'unistr/u8-to-u32'.
34551         * modules/unistr/u8-to-u32-tests: New file.
34552         * tests/unistr/test-u8-to-u32.c: New file.
34553
34554         Tests for module 'unistr/u8-to-u16'.
34555         * modules/unistr/u8-to-u16-tests: New file.
34556         * tests/unistr/test-u8-to-u16.c: New file.
34557
34558         Tests for module 'unistr/u32-check'.
34559         * modules/unistr/u32-check-tests: New file.
34560         * tests/unistr/test-u32-check.c: New file.
34561
34562         Tests for module 'unistr/u16-check'.
34563         * modules/unistr/u16-check-tests: New file.
34564         * tests/unistr/test-u16-check.c: New file.
34565
34566         Tests for module 'unistr/u8-check'.
34567         * modules/unistr/u8-check-tests: New file.
34568         * tests/unistr/test-u8-check.c: New file.
34569
34570         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
34571         (category_equals): New function.
34572         (main): Add more tests.
34573         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
34574
34575         * tests/unictype/test-bidi_byname.c (main): Add more tests.
34576
34577 2010-01-10  Bruno Haible  <bruno@clisp.org>
34578
34579         unistr/u*-strcoll: Try harder to distinguish different strings.
34580         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
34581         compare s1 and s2 to see if they are different.
34582
34583 2010-01-10  Bruno Haible  <bruno@clisp.org>
34584
34585         unistr/u*-stpncpy: Fix the return value.
34586         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
34587         description of the return value consistent with stpncpy in glibc.
34588         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
34589         written non-NUL unit.
34590
34591 2010-01-10  Bruno Haible  <bruno@clisp.org>
34592
34593         unistr/u*-next: Add missing dependencies.
34594         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
34595         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
34596         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
34597
34598 2010-01-10  Bruno Haible  <bruno@clisp.org>
34599
34600         unistr/u8-mbsnlen: Fix return value for incomplete character.
34601         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
34602         u8_mblen.
34603         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
34604         Remove unistr/u8-mblen.
34605         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
34606         u16_mblen.
34607         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
34608         Remove unistr/u16-mblen.
34609
34610 2010-01-10  Bruno Haible  <bruno@clisp.org>
34611
34612         wchar: Fix compilation error when <wchar.h> is used from coreutils.
34613         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
34614         Reported by Brian Gough <bjg@gnu.org> and
34615         Chris Clayton <chris2553@googlemail.com> via
34616         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
34617
34618 2010-01-09  Bruno Haible  <bruno@clisp.org>
34619
34620         unistr/u16-to-u32: Reject invalid input.
34621         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
34622         u16_mbtouc.
34623         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
34624         Remove unistr/u16-mbtouc.
34625
34626         unistr/u16-to-u8: Reject invalid input.
34627         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
34628         u16_mbtouc.
34629         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
34630         Remove unistr/u16-mbtouc.
34631
34632         unistr/u8-to-u32: Reject invalid input.
34633         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
34634         u8_mbtouc.
34635         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
34636         Remove unistr/u8-mbtouc.
34637
34638         unistr/u8-to-u16: Reject invalid input.
34639         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
34640         u8_mbtouc.
34641         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
34642         Remove unistr/u8-mbtouc.
34643
34644 2010-01-09  Bruno Haible  <bruno@clisp.org>
34645
34646         Tests for module 'getlogin'.
34647         * modules/getlogin-tests: New file.
34648         * tests/test-getlogin.c: New file.
34649
34650         New module 'getlogin'.
34651         * lib/unistd.in.h (getlogin): New declaration.
34652         * lib/getlogin.c: New file.
34653         * m4/getlogin.m4: New file.
34654         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
34655         HAVE_GETLOGIN.
34656         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
34657         HAVE_GETLOGIN.
34658         * modules/getlogin: New file.
34659         * doc/posix-functions/getlogin.texi: Mention the new module.
34660         Reported by John W. Eaton <jwe@gnu.org>.
34661
34662 2010-01-09  Bruno Haible  <bruno@clisp.org>
34663
34664         getlogin_r: Support for native Windows.
34665         * lib/getlogin_r.c: Include <windows.h>
34666         (getlogin_r): Implement for native Windows.
34667         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
34668         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
34669         via John W. Eaton <jwe@gnu.org>.
34670
34671 2010-01-09  Bruno Haible  <bruno@clisp.org>
34672
34673         getlogin_r: Small fixes.
34674         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
34675         succeeds.
34676         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
34677         before testing whether getlogin_r is declared. No need to set
34678         HAVE_DECL_GETLOGIN_R to 1.
34679         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
34680
34681 2010-01-09  Bruno Haible  <bruno@clisp.org>
34682
34683         * lib/unistd.in.h (getlogin_r): Add comment.
34684
34685 2010-01-09  Bruno Haible  <bruno@clisp.org>
34686
34687         Tests for module 'getlogin_r'.
34688         * modules/getlogin_r-tests: New file.
34689         * tests/test-getlogin_r.c: New file.
34690
34691 2010-01-09  Jim Meyering  <meyering@redhat.com>
34692
34693         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
34694         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
34695         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
34696
34697 2010-01-08  Simon Josefsson  <simon@josefsson.org>
34698
34699         * lib/dup2.c (rpl_dup2): Improve comment.
34700
34701 2010-01-08  Eric Blake  <ebb9@byu.net>
34702
34703         maint.mk: allow packages to add makefile @@ exceptions
34704         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
34705         (sc_makefile_check): Rename...
34706         (sc_makefile_at_at_check): ...to this, and use hook.
34707
34708         dup2: work around mingw bug
34709         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
34710         Reported by Simon Josefsson.
34711
34712 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
34713
34714         glob: Fix C++ compilation.
34715         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
34716         C++.
34717
34718 2010-01-07  Bruno Haible  <bruno@clisp.org>
34719
34720         Fix indentation of wctype.in.h, broken since 2007-01-06.
34721         * lib/wctype.in.h: Fix indentation of preprocessor directives.
34722
34723 2010-01-07  Bruno Haible  <bruno@clisp.org>
34724
34725         mbslen: Avoid collision with system function.
34726         * lib/string.in.h [MirBSD]: Include <wchar.h>.
34727         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
34728         * m4/mbslen.m4: New file.
34729         * modules/mbslen (Files): Add it.
34730         (configure.ac): Invoke gl_MBSLEN.
34731         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
34732         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
34733         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
34734         via Ian Beckwith <ianb@erislabs.net>.
34735
34736 2010-01-07  Bruno Haible  <bruno@clisp.org>
34737
34738         dirent: Document the last fix.
34739         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
34740
34741 2010-01-07  Bruno Haible  <bruno@clisp.org>
34742
34743         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
34744         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
34745         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
34746         va_list are defined.
34747         * doc/posix-headers/stdio.texi: Document the bug of missing types.
34748         Reported by Eric Blake.
34749
34750 2010-01-07  Bruno Haible  <bruno@clisp.org>
34751
34752         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
34753         * modules/xlist (Depends-on): Add 'list',
34754         * modules/xoset (Depends-on): Add 'oset'.
34755         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34756
34757 2010-01-07  Bruno Haible  <bruno@clisp.org>
34758
34759         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
34760         * doc/posix-functions/strncasecmp.texi: Likewise.
34761
34762 2010-01-07  Bruno Haible  <bruno@clisp.org>
34763
34764         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
34765
34766 2010-01-07  John W. Eaton  <jwe@octave.org>
34767
34768         wctype: allow C++ use
34769         * lib/wctype.in.h: Add extern "C" block for C++.
34770
34771 2010-01-06  Eric Blake  <ebb9@byu.net>
34772
34773         maint.mk: detect incorrect GFDL usage
34774         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
34775
34776 2010-01-06  Jim Meyering  <meyering@redhat.com>
34777         and Eric Blake  <ebb9@byu.net>
34778
34779         maint.mk: ignore multi-line copyright in NEWS
34780         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
34781
34782 2010-01-06  Eric Blake  <ebb9@byu.net>
34783
34784         select: add missing dependency
34785         * modules/select-tests (Depends-on): Move sockets dependency...
34786         * modules/select (Depends-on): ...here.
34787         Reported by Ian Beckwith.
34788
34789         doc: regenerate INSTALL
34790         * doc/INSTALL: Reflect recent autoconf update.
34791         * doc/INSTALL.ISO: Likewise.
34792         * doc/INSTALL.UTF-8: Likewise.
34793
34794         pread: fix compilation on glibc
34795         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
34796         Reported by Ralf Wildenhues.
34797
34798         dirent: fix test failure
34799         * lib/dirent.in.h (includes): Guarantee ino_t.
34800         Reported by Ralf Wildenhues.
34801
34802 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
34803
34804         linkat, renameat: avoid bad free
34805         * lib/at-func2.c (at_func2): Fix typo.
34806         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
34807
34808 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34809
34810         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
34811         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
34812         to avoid failure of symlink test later.
34813
34814 2010-01-06  Eric Blake  <ebb9@byu.net>
34815
34816         stdio, unistd: guarantee ssize_t
34817         * lib/unistd.in.h (includes): Ensure that types required by POSIX
34818         2008 are exposed when needed.
34819         * lib/stdio.in.h (includes): Likewise.
34820         Reported by Ralf Wildenhues.
34821
34822 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
34823
34824         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
34825         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
34826         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
34827
34828 2010-01-06  Jim Meyering  <meyering@redhat.com>
34829
34830         readtokens: this module *does* require xalloc.h
34831         It uses only functions that were omitted by the old syntax-check rule.
34832         * lib/readtokens.c: Include "xalloc.h" once again.
34833         * modules/readtokens (Depends-on): Add xalloc.
34834         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
34835
34836 2010-01-05  Eric Blake  <ebb9@byu.net>
34837
34838         maint: support 'make announcement' from a VPATH build
34839         * top/maint.mk (announcement): Look for correct NEWS file.
34840
34841 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
34842
34843         utimens (fdutimens): ignore a negative FD, per contract
34844         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
34845         when we have a valid file descriptor.  Otherwise, using a brand
34846         new glibc (with just-patched futimens that now fails with EBADF)
34847         would cause this function to fail with ENOSYS.
34848         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
34849         See also http://bugzilla.redhat.com/552320.
34850
34851 2010-01-05  Eric Blake  <ebb9@byu.net>
34852
34853         strcase: document what it provides
34854         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
34855         gnulib module.
34856         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
34857         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
34858
34859 2010-01-05  Jim Meyering  <meyering@redhat.com>
34860
34861         maint: remove useless inclusions of "xalloc.h"
34862         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
34863         * lib/readtokens.c: Likewise.
34864         * lib/same.c: Likewise.
34865         * modules/getloadavg (Depends-on): Remove xalloc.
34866         * modules/readtokens: Likewise.
34867         * modules/same: Likewise.
34868
34869         maint.mk: include 4 more function names in alloca.h-checking regexp
34870         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
34871         regexp.  Before, we would give a false-positive (saying alloca.h
34872         is included unnecessarily) when the only uses involved omitted symbols.
34873
34874         xalloc.h: use consistent formatting
34875         * lib/xalloc.h: Move declarations to start in the first column.
34876
34877 2010-01-05  Eric Blake  <ebb9@byu.net>
34878
34879         mkdir: avoid xalloc
34880         * lib/mkdir.c (includes): Drop unused header.
34881         Reported by John W. Eaton.
34882
34883 2010-01-04  Jim Meyering  <meyering@redhat.com>
34884
34885         nl_langinfo: avoid configure-time syntax error
34886         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
34887         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
34888         the empty string.  Don't let that provoke a shell syntax error.
34889
34890         regcomp, regexec, fnmatch: avoid array bounds read error
34891         * lib/regcomp.c (build_equiv_class): From glibc:
34892         Use only the low 24 bits of a findidx return value as an index
34893         into the weights array.  Patch by Ulrich Drepper:
34894         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
34895         * lib/regexec.c (check_node_accept_bytes): Likewise.
34896         * lib/fnmatch_loop.c (FCT): Likewise.
34897
34898         regcomp: skip collseq lookup when there are no rules
34899         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
34900         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
34901
34902         regcomp: recognize ill-formed { } expressions
34903         * lib/regcomp.c (parse_dup_op): From glibc:
34904         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
34905
34906         regcomp: fix typo in comment
34907         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
34908         s/satisfy/satisfies/.
34909
34910         regcomp: sync from glibc: remove dead store
34911         * lib/regcomp.c (duplicate_node_closure): Remove useless
34912         search_duplicated_node call and dead store.
34913
34914         regcomp: sync from glibc; always use nl_langinfo
34915         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
34916         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
34917         * modules/regex (Depends-on): Add nl_langinfo.
34918
34919 2010-01-04  Eric Blake  <ebb9@byu.net>
34920
34921         fdopendir: fix configure test
34922         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
34923
34924 2010-01-01  Bruno Haible  <bruno@clisp.org>
34925
34926         wchar: Remove unused configure check.
34927         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
34928
34929 2010-01-01  Eric Blake  <ebb9@byu.net>
34930
34931         headers: make check of system header explicit
34932         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
34933         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
34934         ourselves.
34935         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
34936         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34937         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
34938         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
34939         internals.
34940         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
34941         missing.
34942         Suggested by Bruno Haible.
34943
34944 2010-01-01  Jim Meyering  <meyering@redhat.com>
34945
34946         ChangeLog: tweak to eliminate unnecessary copyright line
34947         * ChangeLog: Remove a copyright line that was mistakenly updated
34948         by today's update-copyright run.  Reported by Eric Blake.
34949
34950         test-update-copyright: don't let envvar setting cause test failure
34951         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
34952
34953 2010-01-01  Bruno Haible  <bruno@clisp.org>
34954
34955         localename: Avoid gcc warning.
34956         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
34957         function if it is not used.
34958
34959 2010-01-01  Jim Meyering  <meyering@redhat.com>
34960
34961         update nearly all FSF copyright year lists to include 2010
34962         Use the same procedure as for 2009, outlined in
34963         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
34964
34965         version-etc: set COPYRIGHT_YEAR to 2010
34966         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
34967
34968 2009-12-31  Eric Blake  <ebb9@byu.net>
34969
34970         doc: correct availability of cygwin 1.5.x getopt
34971         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
34972         variables.
34973         * doc/posix-functions/opterr.texi (opterr): Likewise.
34974         * doc/posix-functions/optind.texi (optind): Likewise.
34975         * doc/posix-functions/optopt.texi (optopt): Likewise.
34976         * doc/posix-functions/tzname.texi (tzname): Likewise.
34977
34978         openat: update maintainer
34979         * modules/openat (Maintainer): Add myself.
34980
34981         utimens: avoid shadowing warning
34982         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
34983         buffers into one, to avoid shadowing, as well as avoiding a
34984         redundant stat.
34985         Reported by Jim Meyering.
34986
34987         test-dup2: avoid compiler warning
34988         * tests/test-dup2.c (is_inheritable): Only define if used.
34989
34990 2010-01-01  Bruno Haible  <bruno@clisp.org>
34991
34992         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
34993         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
34994         defined, use wctomb instead of wcrtomb.
34995
34996 2010-01-01  Bruno Haible  <bruno@clisp.org>
34997
34998         iconv: Reject native Solaris iconv.
34999         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
35000         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
35001
35002 2009-12-31  Bruno Haible  <bruno@clisp.org>
35003
35004         * tests/test-signal.c (main): Remove test of 'SIG'.
35005
35006 2009-12-31  Bruno Haible  <bruno@clisp.org>
35007
35008         spawn: Fix incomplete fix.
35009         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
35010         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
35011         warnings for GNULIB_POSIXCHECK again.
35012         Reported by Eric Blake.
35013
35014 2009-12-31  Bruno Haible  <bruno@clisp.org>
35015
35016         Avoid namespace pollution on glibc systems.
35017         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
35018         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
35019         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
35020         glibc systems.
35021
35022 2009-12-31  Bruno Haible  <bruno@clisp.org>
35023
35024         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
35025         (gl_REPLACE_WCHAR_H): Turn into a no-op.
35026         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
35027         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
35028         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
35029         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
35030         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
35031
35032 2009-12-31  Bruno Haible  <bruno@clisp.org>
35033
35034         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
35035         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
35036         afterwards.
35037
35038 2009-12-31  Bruno Haible  <bruno@clisp.org>
35039
35040         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
35041         SYS_UTSNAME_H.
35042
35043 2009-12-31  Bruno Haible  <bruno@clisp.org>
35044
35045         spawn: Fix misapplied patch.
35046         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
35047         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
35048         warnings for GNULIB_POSIXCHECK.
35049
35050 2009-12-31  Bruno Haible  <bruno@clisp.org>
35051
35052         times: Update after sys_times changed.
35053         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
35054         * modules/times (Files): Add it.
35055         (configure.ac): Invoke gl_FUNC_TIMES.
35056
35057 2009-12-31  Bruno Haible  <bruno@clisp.org>
35058
35059         Use AC_C_INLINE where necessary.
35060         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
35061         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
35062         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
35063         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
35064         * m4/mbfile.m4 (gl_MBFILE): Likewise.
35065         * m4/mbiter.m4 (gl_MBITER): Likewise.
35066         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
35067         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
35068         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
35069         * modules/u64 (configure.ac): Likewise.
35070
35071 2009-12-31  Bruno Haible  <bruno@clisp.org>
35072
35073         Use AC_C_INLINE instead of module 'inline' where possible.
35074         * modules/inline (Description): Clarify purpose.
35075         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
35076         * modules/count-one-bits (Depends-on): Remove inline.
35077         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
35078         * modules/openat (Depends-on): Remove inline.
35079         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
35080         instead of depending on module 'inline'.
35081         * modules/filevercmp (Depends-on, configure.ac): Likewise.
35082         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
35083         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
35084         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
35085         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
35086         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
35087         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
35088         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
35089         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
35090         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
35091         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
35092         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
35093         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
35094         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
35095         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
35096         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
35097         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
35098         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
35099         Likewise.
35100         * modules/unictype/property-ascii-hex-digit (Depends-on,
35101         configure.ac): Likewise.
35102         * modules/unictype/property-bidi-arabic-digit (Depends-on,
35103         configure.ac): Likewise.
35104         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
35105         configure.ac): Likewise.
35106         * modules/unictype/property-bidi-block-separator (Depends-on,
35107         configure.ac): Likewise.
35108         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
35109         configure.ac): Likewise.
35110         * modules/unictype/property-bidi-common-separator (Depends-on,
35111         configure.ac): Likewise.
35112         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
35113         Likewise.
35114         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
35115         configure.ac): Likewise.
35116         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
35117         configure.ac): Likewise.
35118         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
35119         configure.ac): Likewise.
35120         * modules/unictype/property-bidi-european-digit (Depends-on,
35121         configure.ac): Likewise.
35122         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
35123         configure.ac): Likewise.
35124         * modules/unictype/property-bidi-left-to-right (Depends-on,
35125         configure.ac): Likewise.
35126         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
35127         configure.ac): Likewise.
35128         * modules/unictype/property-bidi-other-neutral (Depends-on,
35129         configure.ac): Likewise.
35130         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
35131         Likewise.
35132         * modules/unictype/property-bidi-segment-separator (Depends-on,
35133         configure.ac): Likewise.
35134         * modules/unictype/property-bidi-whitespace (Depends-on,
35135         configure.ac): Likewise.
35136         * modules/unictype/property-combining (Depends-on, configure.ac):
35137         Likewise.
35138         * modules/unictype/property-composite (Depends-on, configure.ac):
35139         Likewise.
35140         * modules/unictype/property-currency-symbol (Depends-on,
35141         configure.ac): Likewise.
35142         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
35143         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
35144         Likewise.
35145         * modules/unictype/property-default-ignorable-code-point (Depends-on,
35146         configure.ac): Likewise.
35147         * modules/unictype/property-deprecated (Depends-on, configure.ac):
35148         Likewise.
35149         * modules/unictype/property-diacritic (Depends-on, configure.ac):
35150         Likewise.
35151         * modules/unictype/property-extender (Depends-on, configure.ac):
35152         Likewise.
35153         * modules/unictype/property-format-control (Depends-on, configure.ac):
35154         Likewise.
35155         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
35156         Likewise.
35157         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
35158         Likewise.
35159         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
35160         Likewise.
35161         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
35162         Likewise.
35163         * modules/unictype/property-hyphen (Depends-on, configure.ac):
35164         Likewise.
35165         * modules/unictype/property-id-continue (Depends-on, configure.ac):
35166         Likewise.
35167         * modules/unictype/property-id-start (Depends-on, configure.ac):
35168         Likewise.
35169         * modules/unictype/property-ideographic (Depends-on, configure.ac):
35170         Likewise.
35171         * modules/unictype/property-ids-binary-operator (Depends-on,
35172         configure.ac): Likewise.
35173         * modules/unictype/property-ids-trinary-operator (Depends-on,
35174         configure.ac): Likewise.
35175         * modules/unictype/property-ignorable-control (Depends-on,
35176         configure.ac): Likewise.
35177         * modules/unictype/property-iso-control (Depends-on, configure.ac):
35178         Likewise.
35179         * modules/unictype/property-join-control (Depends-on, configure.ac):
35180         Likewise.
35181         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
35182         Likewise.
35183         * modules/unictype/property-line-separator (Depends-on, configure.ac):
35184         Likewise.
35185         * modules/unictype/property-logical-order-exception (Depends-on,
35186         configure.ac): Likewise.
35187         * modules/unictype/property-lowercase (Depends-on, configure.ac):
35188         Likewise.
35189         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
35190         * modules/unictype/property-non-break (Depends-on, configure.ac):
35191         Likewise.
35192         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
35193         Likewise.
35194         * modules/unictype/property-numeric (Depends-on, configure.ac):
35195         Likewise.
35196         * modules/unictype/property-other-alphabetic (Depends-on,
35197         configure.ac): Likewise.
35198         * modules/unictype/property-other-default-ignorable-code-point
35199         (Depends-on, configure.ac): Likewise.
35200         * modules/unictype/property-other-grapheme-extend (Depends-on,
35201         configure.ac): Likewise.
35202         * modules/unictype/property-other-id-continue (Depends-on,
35203         configure.ac): Likewise.
35204         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
35205         Likewise.
35206         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
35207         Likewise.
35208         * modules/unictype/property-other-math (Depends-on, configure.ac):
35209         Likewise.
35210         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
35211         Likewise.
35212         * modules/unictype/property-paired-punctuation (Depends-on,
35213         configure.ac): Likewise.
35214         * modules/unictype/property-paragraph-separator (Depends-on,
35215         configure.ac): Likewise.
35216         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
35217         Likewise.
35218         * modules/unictype/property-pattern-white-space (Depends-on,
35219         configure.ac): Likewise.
35220         * modules/unictype/property-private-use (Depends-on, configure.ac):
35221         Likewise.
35222         * modules/unictype/property-punctuation (Depends-on, configure.ac):
35223         Likewise.
35224         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
35225         Likewise.
35226         * modules/unictype/property-radical (Depends-on, configure.ac):
35227         Likewise.
35228         * modules/unictype/property-sentence-terminal (Depends-on,
35229         configure.ac): Likewise.
35230         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
35231         Likewise.
35232         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
35233         * modules/unictype/property-terminal-punctuation (Depends-on,
35234         configure.ac): Likewise.
35235         * modules/unictype/property-titlecase (Depends-on, configure.ac):
35236         Likewise.
35237         * modules/unictype/property-unassigned-code-value (Depends-on,
35238         configure.ac): Likewise.
35239         * modules/unictype/property-unified-ideograph (Depends-on,
35240         configure.ac): Likewise.
35241         * modules/unictype/property-uppercase (Depends-on, configure.ac):
35242         Likewise.
35243         * modules/unictype/property-variation-selector (Depends-on,
35244         configure.ac): Likewise.
35245         * modules/unictype/property-white-space (Depends-on, configure.ac):
35246         Likewise.
35247         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
35248         Likewise.
35249         * modules/unictype/property-xid-start (Depends-on, configure.ac):
35250         Likewise.
35251         * modules/unictype/property-zero-width (Depends-on, configure.ac):
35252         Likewise.
35253         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
35254         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
35255         Likewise.
35256
35257 2009-12-31  Bruno Haible  <bruno@clisp.org>
35258
35259         Remove unnecessary AC_C_INLINE invocation.
35260         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
35261         since 2009-08-21.
35262
35263 2009-12-31  Jim Meyering  <meyering@redhat.com>
35264
35265         maint.mk: don't require explicit gpg_key_ID in cfg.mk
35266         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
35267         With this change, we can all remove the gpg_key_ID = ... definition
35268         from our respective cfg.mk files.
35269
35270         maint.mk: create announcement template in ~/, not in /tmp
35271         * top/maint.mk (emit_upload_commands): Adjust.
35272         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
35273         Remove temporary file, .ci-msg.
35274
35275 2009-12-31  Eric Blake  <ebb9@byu.net>
35276
35277         link-warning: always build headers with link warnings
35278         * modules/arpa_inet (Makefile.am): Always build replacement
35279         header.
35280         * modules/ctype (Makefile.am): Likewise.
35281         * modules/dirent (Makefile.am): Likewise.
35282         * modules/inttypes (Makefile.am): Likewise.
35283         * modules/langinfo (Makefile.am): Likewise.
35284         * modules/locale (Makefile.am): Likewise.
35285         * modules/spawn (Makefile.am): Likewise.
35286         * modules/sys_file (Makefile.am): Likewise.
35287         * modules/sys_ioctl (Makefile.am): Likewise.
35288         * modules/sys_select (Makefile.am): Likewise.
35289         * modules/sys_socket (Makefile.am): Likewise.
35290         * modules/sys_times (Makefile.am): Likewise.
35291         * modules/sys_utsname (Makefile.am): Likewise.
35292         * modules/sys_wait (Makefile.am): Likewise.
35293         * modules/wchar (Makefile.am): Likewise.
35294         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
35295         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
35296         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
35297         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
35298         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
35299         Likewise.
35300         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
35301         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
35302         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
35303         Likewise.
35304         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
35305         Likewise.
35306         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
35307         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
35308         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
35309         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
35310         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
35311         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
35312         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
35313         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
35314         (gl_WCHAR_H_DEFAULTS): Likewise.
35315
35316 2009-12-31  Eric Blake  <ebb9@byu.net>
35317
35318         signal, spawn: use link warnings
35319         * lib/signal.in.h (sigset_t): Make unconditional.
35320         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
35321         (sigpending, sigprocmask, sigaction): Add link warnings.
35322         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
35323         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
35324         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
35325         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
35326         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
35327         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
35328         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
35329         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
35330         (posix_spawn_file_actions_destroy)
35331         (posix_spawn_file_actions_addopen)
35332         (posix_spawn_file_actions_addclose)
35333         (posix_spawn_file_actions_adddup2): Likewise.
35334         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
35335         * tests/test-signal.c (main): Enhance test.
35336
35337         spawn: improve wrapper support
35338         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
35339         (gl_SPAWN_H_DEFAULTS): New defaults.
35340         * modules/spawn (Makefile.am): Substitute them.
35341         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
35342         Only declare if missing or broken.
35343
35344         sys_times, sys_utsname: use include_next
35345         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
35346         header.
35347         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
35348         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
35349         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
35350         * modules/sys_times (Depends-on): Add include_next.
35351         (Makefile.am): Substitute additional values.
35352         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
35353         * lib/sys_times.in.h (includes): Include native header, if
35354         available.
35355         * lib/sys_utsname.in.h (includes): Likewise.
35356         * tests/test-sys_times.c (main): Enhance test.
35357
35358         fdutimensat: revert prior patch
35359         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
35360         utimens.h.
35361         Reported by Bruno Haible.
35362
35363 2009-12-30  Eric Blake  <ebb9@byu.net>
35364
35365         sys_wait: drop link-warning dependency
35366         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
35367         link-warning efforts.
35368         * lib/sys_wait.in.h: Likewise.
35369
35370         fdutimensat: remove bogus dependency
35371         * modules/fdutimensat (Depends-on): Drop inline.
35372
35373         unistd: fix typo
35374         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
35375
35376 2009-12-30  Bruno Haible  <bruno@clisp.org>
35377
35378         Fix compilation error with Solaris cc.
35379         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
35380         * lib/unicase/u16-is-invariant.c: Likewise.
35381         * lib/unicase/u32-is-invariant.c: Likewise.
35382         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
35383
35384 2009-12-30  Bruno Haible  <bruno@clisp.org>
35385
35386         Fix test crash.
35387         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
35388         locales.
35389         Reported by Simon Josefsson <simon@josefsson.org>.
35390
35391 2009-12-30  Bruno Haible  <bruno@clisp.org>
35392
35393         Fix compilation error on most platforms.
35394         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
35395         Reported by Simon Josefsson <simon@josefsson.org>
35396         and Nelson H. F. Beebe <beebe@math.utah.edu>.
35397
35398 2009-12-30  Eric Blake  <ebb9@byu.net>
35399
35400         futimens, utimensat: work around ntfs-3g bug
35401         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
35402         a ctime bug is present, and expand workaround to cover ntfs-3g.
35403         * lib/utimens.c (fdutimens, lutimens): Likewise.
35404         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
35405         (validate_timespec): Adjust return value.
35406         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
35407         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
35408         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
35409
35410 2009-12-29  Eric Blake  <ebb9@byu.net>
35411
35412         link-warning: make usage consistent
35413         * modules/ctype (Depends-on): Add link-warning.
35414         (Makefile.am): Update rules accordingly.
35415         * modules/langinfo (Depends-on, Makefile.am): Likewise.
35416         * modules/locale (Depends-on, Makefile.am): Likewise.
35417         * modules/sys_file (Makefile.am): Likewise.
35418         * modules/getopt-posix (Makefile.am): Delete unused link warning
35419         efforts.
35420         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
35421         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
35422         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
35423         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
35424
35425         stdio: remove unused variables
35426         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
35427         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
35428         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
35429
35430         tests: test more substitute headers
35431         * modules/ctype-tests: New file.
35432         * modules/dirent-tests: Likewise.
35433         * modules/spawn-tests: Likewise.
35434         * modules/sys_file-tests: Likewise.
35435         * modules/sys_ioctl-tests: Likewise.
35436         * modules/sys_wait-tests: Likewise.
35437         * tests/test-ctype.c: Likewise.
35438         * tests/test-dirent.c: Likewise.
35439         * tests/test-spawn.c: Likewise.
35440         * tests/test-sys_file.c: Likewise.
35441         * tests/test-sys_ioctl.c: Likewise.
35442         * tests/test-sys_wait.c: Likewise.
35443         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
35444         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
35445         whether or not flock is in use.
35446
35447         tests: remove License section from module
35448         * modules/arpa_inet-tests: Remove unneeded section.
35449         * modules/byteswap-tests: Likewise.
35450         * modules/ceilf-tests: Likewise.
35451         * modules/ceill-tests: Likewise.
35452         * modules/crypto/des-tests: Likewise.
35453         * modules/crypto/gc-arcfour-tests: Likewise.
35454         * modules/crypto/gc-arctwo-tests: Likewise.
35455         * modules/crypto/gc-des-tests: Likewise.
35456         * modules/crypto/gc-hmac-md5-tests: Likewise.
35457         * modules/crypto/gc-hmac-sha1-tests: Likewise.
35458         * modules/crypto/gc-md2-tests: Likewise.
35459         * modules/crypto/gc-md4-tests: Likewise.
35460         * modules/crypto/gc-md5-tests: Likewise.
35461         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
35462         * modules/crypto/gc-rijndael-tests: Likewise.
35463         * modules/crypto/gc-sha1-tests: Likewise.
35464         * modules/crypto/gc-tests: Likewise.
35465         * modules/crypto/md2-tests: Likewise.
35466         * modules/crypto/md4-tests: Likewise.
35467         * modules/fcntl-h-tests: Likewise.
35468         * modules/floorf-tests: Likewise.
35469         * modules/floorl-tests: Likewise.
35470         * modules/frexp-nolibm-tests: Likewise.
35471         * modules/frexp-tests: Likewise.
35472         * modules/frexpl-nolibm-tests: Likewise.
35473         * modules/frexpl-tests: Likewise.
35474         * modules/getaddrinfo-tests: Likewise.
35475         * modules/inttypes-tests: Likewise.
35476         * modules/isfinite-tests: Likewise.
35477         * modules/isinf-tests: Likewise.
35478         * modules/ldexpl-tests: Likewise.
35479         * modules/locale-tests: Likewise.
35480         * modules/math-tests: Likewise.
35481         * modules/netdb-tests: Likewise.
35482         * modules/netinet_in-tests: Likewise.
35483         * modules/printf-frexp-tests: Likewise.
35484         * modules/printf-frexpl-tests: Likewise.
35485         * modules/priv-set-tests: Likewise.
35486         * modules/random_r-tests: Likewise.
35487         * modules/round-tests: Likewise.
35488         * modules/roundf-tests: Likewise.
35489         * modules/roundl-tests: Likewise.
35490         * modules/search-tests: Likewise.
35491         * modules/select-tests: Likewise.
35492         * modules/signal-tests: Likewise.
35493         * modules/stdbool-tests: Likewise.
35494         * modules/stddef-tests: Likewise.
35495         * modules/stdint-tests: Likewise.
35496         * modules/stdio-tests: Likewise.
35497         * modules/stdlib-tests: Likewise.
35498         * modules/string-tests: Likewise.
35499         * modules/strings-tests: Likewise.
35500         * modules/sys_select-tests: Likewise.
35501         * modules/sys_socket-tests: Likewise.
35502         * modules/sys_stat-tests: Likewise.
35503         * modules/sys_time-tests: Likewise.
35504         * modules/sys_utsname-tests: Likewise.
35505         * modules/sysexits-tests: Likewise.
35506         * modules/time-tests: Likewise.
35507         * modules/trunc-tests: Likewise.
35508         * modules/truncf-tests: Likewise.
35509         * modules/truncl-tests: Likewise.
35510         * modules/tsearch-tests: Likewise.
35511         * modules/unistd-tests: Likewise.
35512         * modules/wchar-tests: Likewise.
35513         * modules/wctype-tests: Likewise.
35514
35515         tests: fix license on several tests
35516         * tests/test-des.c: Update to GPLv3+.
35517         * tests/test-flock.c: Likewise.
35518         * tests/test-fsync.c: Likewise.
35519         * tests/test-futimens.h: Likewise.
35520         * tests/test-gc-arcfour.c: Likewise.
35521         * tests/test-gc-arctwo.c: Likewise.
35522         * tests/test-gc-des.c: Likewise.
35523         * tests/test-gc-hmac-md5.c: Likewise.
35524         * tests/test-gc-hmac-sha1.c: Likewise.
35525         * tests/test-gc-md2.c: Likewise.
35526         * tests/test-gc-md4.c: Likewise.
35527         * tests/test-gc-md5.c: Likewise.
35528         * tests/test-gc-pbkdf2-sha1.c: Likewise.
35529         * tests/test-gc-rijndael.c: Likewise.
35530         * tests/test-gc-sha1.c: Likewise.
35531         * tests/test-gc.c: Likewise.
35532         * tests/test-getcwd.c: Likewise.
35533         * tests/test-link.c: Likewise.
35534         * tests/test-link.h: Likewise.
35535         * tests/test-lutimens.h: Likewise.
35536         * tests/test-md2.c: Likewise.
35537         * tests/test-md4.c: Likewise.
35538         * tests/test-mkdir.h: Likewise.
35539         * tests/test-rename.c: Likewise.
35540         * tests/test-rename.h: Likewise.
35541         * tests/test-safe-alloc.c: Likewise.
35542         * tests/test-utimens-common.h: Likewise.
35543         * tests/test-utimens.h: Likewise.
35544
35545         maint: sync license texts
35546         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
35547         * doc/gpl-3.0.texi: Revert copyright year update.
35548         * doc/lgpl-3.0.texi: Likewise.
35549
35550 2009-12-29  Jim Meyering  <meyering@redhat.com>
35551
35552         update nearly all FSF copyright year lists to include 2009
35553         The files named by the following are exempted:
35554             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
35555               test -f "$dst" && { echo "$dst"; continue; }
35556               test -d "$dst" || continue
35557               echo "$dst"/$(basename "$src")
35558             done > exempt
35559             git ls-files tests/unictype >> exempt
35560         In the remaining files, convert to all-interval notation if
35561         - there is already at least one year interval like 2000-2003
35562         - the file is maintained by me
35563         - the file is in lib/uni*/, where that style already prevails
35564         Otherwise, use update-copyright's default.
35565
35566 2009-12-29  Simon Josefsson  <simon@josefsson.org>
35567         and Eric Blake  <ebb9@byu.net>
35568
35569         tests: don't require debug system() to pass
35570         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
35571         * tests/test-rmdir.h (test_rmdir_func): Likewise.
35572         * tests/test-unlink.h (test_unlink_func): Likewise.
35573         * tests/test-fstatat.c (main): ...into callers.
35574         * tests/test-lstat.c (main): Likewise.
35575         * tests/test-rmdir.c (main): Likewise.
35576         * tests/test-unlink.c (main): Likewise.
35577         * tests/test-unlinkat.c (main): Likewise.
35578         * tests/test-areadlink-with-size.c (main): Don't require a
35579         debug-only system call to pass, aiding cross-testing to mingw.
35580         * tests/test-areadlink.c (main): Likewise.
35581         * tests/test-areadlinkat-with-size.c (main): Likewise.
35582         * tests/test-areadlinkat.c (main): Likewise.
35583         * tests/test-canonicalize-lgpl.c (main): Likewise.
35584         * tests/test-canonicalize.c (main): Likewise.
35585         * tests/test-chown.c (main): Likewise.
35586         * tests/test-fchownat.c (main): Likewise.
35587         * tests/test-lchown.c (main): Likewise.
35588         * tests/test-fdutimensat.c (main): Likewise.
35589         * tests/test-futimens.c (main): Likewise.
35590         * tests/test-link.c (main): Likewise.
35591         * tests/test-linkat.c (main): Likewise.
35592         * tests/test-mkdir.c (main): Likewise.
35593         * tests/test-mkdirat.c (main): Likewise.
35594         * tests/test-mkfifo.c (main): Likewise.
35595         * tests/test-mkfifoat.c (main): Likewise.
35596         * tests/test-mknod.c (main): Likewise.
35597         * tests/test-readlink.c (main): Likewise.
35598         * tests/test-remove.c (main): Likewise.
35599         * tests/test-rename.c (main): Likewise.
35600         * tests/test-renameat.c (main): Likewise.
35601         * tests/test-symlink.c (main): Likewise.
35602         * tests/test-symlinkat.c (main): Likewise.
35603         * tests/test-utimens.c (main): Likewise.
35604         * tests/test-utimensat.c (main): Likewise.
35605
35606 2009-12-29  Simon Josefsson  <simon@josefsson.org>
35607
35608         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
35609         on $(UNUSED_PARAMETER_H) to avoid build failure.
35610
35611 2009-12-28  Jim Meyering  <meyering@redhat.com>
35612
35613         update-copyright: you may specify a max. line length other than 72
35614         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
35615
35616         maint: use consistent FSF copyright line syntax
35617         * lib/posixtm.c: Add missing comma in FSF copyright line.
35618         * lib/posixtm.h: Likewise.
35619         * lib/getugroups.c: Add missing ", Inc.".
35620
35621         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
35622         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
35623         FSF copyright line.  Remove trailing blanks.
35624
35625 2009-12-28  Eric Blake  <ebb9@byu.net>
35626
35627         test-dup2: reduce dependencies
35628         * modules/cloexec (Configure.ac): Set witness.
35629         * modules/dup2-tests (Depends-on): Drop cloexec.
35630         * tests/test-dup2.c (main): Skip portion of test if cloexec module
35631         not present.
35632         Suggested by Bruno Haible.
35633
35634 2009-12-26  Bruno Haible  <bruno@clisp.org>
35635
35636         Remove an unneeded dependency.
35637         * modules/fseterr (Depends-on): Remove dup2.
35638
35639 2009-12-26  Eric Blake  <ebb9@byu.net>
35640
35641         tests: use macros.h in more places
35642         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
35643         (ASSERT_STREAM): Provide default of stderr.
35644         * tests/test-dirent-safer.c: Include macros.h, using alternate
35645         stream for assertions.
35646         * tests/test-dup-safer.c: Likewise.
35647         * tests/test-freopen-safer.c: Likewise.
35648         * tests/test-getopt.c: Likewise.
35649         * tests/test-openat-safer.c: Likewise.
35650         * tests/test-pipe.c: Likewise.
35651         * tests/test-popen-safer.c: Likewise.
35652         * modules/dirent-safer-tests (Files): Include macros.h.
35653         * modules/unistd-safer-tests (Files): Likewise.
35654         * modules/freopen-safer-tests (Files): Likewise.
35655         * modules/getopt-posix-tests (Files): Likewise.
35656         * modules/openat-safer-tests (Files): Likewise.
35657         * modules/pipe-tests (Files): Likewise.
35658
35659 2009-12-26  Bruno Haible  <bruno@clisp.org>
35660
35661         javacomp: Portability fix.
35662         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
35663         that it also works on Solaris.
35664
35665 2009-12-26  Bruno Haible  <bruno@clisp.org>
35666
35667         localename: Fix storage allocation of gl_locale_name_thread's result.
35668         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
35669         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
35670         all platforms that have 'uselocale'.
35671         (gl_locale_name_thread_unsafe): New function, extracted from
35672         gl_locale_name_thread.
35673         (gl_locale_name_thread): Call struniq on all platforms that have
35674         'uselocale'.
35675         * tests/test-localename.c (test_locale_name_thread): Check that the
35676         resulting strings are permanently allocated.
35677         * modules/localename-tests (Depends-on): Add strdup.
35678
35679 2009-12-26  Bruno Haible  <bruno@clisp.org>
35680
35681         * tests/test-localename.c (categories): Fill in the strings.
35682
35683 2009-12-26  Jim Meyering  <meyering@redhat.com>
35684
35685         isdir: complete the removal of m4/isdir.m4
35686         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
35687
35688         isdir: clean up, since at least grep still uses it
35689         * lib/isdir.c: Include "isdir.h".
35690         (S_ISDIR): Remove now-unneeded definition.
35691         * modules/isdir (Files): Add lib/isdir.h.
35692         * lib/isdir.h: New file, with declaration.
35693         * m4/isdir.m4: Remove file -- unneeded.
35694
35695 2009-12-25  Bruno Haible  <bruno@clisp.org>
35696
35697         selinux-h: Make generated .h files standalone.
35698         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
35699         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
35700         * lib/se-selinux.in.h: Likewise.
35701         * modules/selinux-h (Depends-on): Add unused-parameter.
35702         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
35703         selinux/selinux.h and selinux/context.h.
35704         Suggested by Eric Blake.
35705
35706 2009-12-25  Bruno Haible  <bruno@clisp.org>
35707
35708         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
35709         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
35710         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
35711         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
35712         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
35713
35714 2009-12-24  Bruno Haible  <bruno@clisp.org>
35715
35716         openat: Fix warning.
35717         * lib/openat-proc.c: Include <unistd.h>.
35718
35719 2009-12-24  Bruno Haible  <bruno@clisp.org>
35720
35721         New module 'unused-parameter'.
35722         * build-aux/unused-parameter.h: New file, extracted from earlier
35723         gnulib-common.m4.
35724         * modules/unused-parameter: New file.
35725         * lib/unistr.h: Include unused-parameter.h.
35726         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
35727         _GL_UNUSED.
35728         * modules/unistr/base (Depends-on): Add unused-parameter.
35729
35730 2009-12-24  Bruno Haible  <bruno@clisp.org>
35731
35732         Add missing dependencies to 'extensions' module.
35733         * m4/extensions.m4: Add comment.
35734         * modules/accept4 (Depends-on): Add extensions.
35735         * modules/dup3 (Depends-on): Likewise.
35736         * modules/fcntl (Depends-on): Likewise.
35737         * modules/futimens (Depends-on): Likewise.
35738         * modules/mknod (Depends-on): Likewise.
35739         * modules/pipe2 (Depends-on): Likewise.
35740         * modules/stat-time (Depends-on): Likewise.
35741         * modules/strcasestr-simple (Depends-on): Likewise.
35742         * modules/strsignal (Depends-on): Likewise.
35743         * modules/utimensat (Depends-on): Likewise.
35744         * modules/localcharset (Depends-on): Likewise. Needed because of
35745         gl_FCNTL_O_FLAGS.
35746         * modules/wcrtomb (Depends-on): Likewise. Needed because of
35747         AC_TYPE_MBSTATE_T.
35748         * modules/wcsnrtombs (Depends-on): Likewise.
35749         * modules/wcsrtombs (Depends-on): Likewise.
35750
35751 2009-12-24  Bruno Haible  <bruno@clisp.org>
35752
35753         binary-io: Avoid gcc warning due to SET_BINARY.
35754         * lib/binary-io.h (SET_BINARY): Cast the result to void.
35755         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
35756
35757 2009-12-24  Bruno Haible  <bruno@clisp.org>
35758
35759         Avoid future namespace pollution on glibc systems.
35760         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
35761         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
35762         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
35763         glibc systems.
35764
35765 2009-12-24  Bruno Haible  <bruno@clisp.org>
35766
35767         Refactor common macros used in tests.
35768         * tests/macros.h: New file.
35769         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
35770         and/or <stdlib.h>, if appropriate.
35771         (ASSERT, SIZEOF): Remove macros.
35772         * tests/test-areadlink-with-size.c: Likewise.
35773         * tests/test-areadlinkat.c: Likewise.
35774         * tests/test-areadlinkat-with-size.c: Likewise.
35775         * tests/test-argmatch.c: Likewise.
35776         * tests/test-argv-iter.c: Likewise.
35777         * tests/test-array-mergesort.c: Likewise.
35778         * tests/test-array_list.c: Likewise.
35779         * tests/test-array_oset.c: Likewise.
35780         * tests/test-avltree_list.c: Likewise.
35781         * tests/test-avltree_oset.c: Likewise.
35782         * tests/test-avltreehash_list.c: Likewise.
35783         * tests/test-base64.c: Likewise.
35784         * tests/test-binary-io.c: Likewise.
35785         * tests/test-bitrotate.c: Likewise.
35786         * tests/test-btowc.c: Likewise.
35787         * tests/test-byteswap.c: Likewise.
35788         * tests/test-c-ctype.c: Likewise.
35789         * tests/test-c-stack.c: Likewise.
35790         * tests/test-c-strcasecmp.c: Likewise.
35791         * tests/test-c-strcasestr.c: Likewise.
35792         * tests/test-c-strncasecmp.c: Likewise.
35793         * tests/test-c-strstr.c: Likewise.
35794         * tests/test-canonicalize-lgpl.c: Likewise.
35795         * tests/test-canonicalize.c: Likewise.
35796         * tests/test-carray_list.c: Likewise.
35797         * tests/test-ceilf1.c: Likewise.
35798         * tests/test-ceilf2.c: Likewise.
35799         * tests/test-ceill.c: Likewise.
35800         * tests/test-chown.c: Likewise.
35801         * tests/test-cloexec.c: Likewise.
35802         * tests/test-copy-acl.c: Likewise.
35803         * tests/test-copy-file.c: Likewise.
35804         * tests/test-count-one-bits.c: Likewise.
35805         * tests/test-dprintf-posix.c: Likewise.
35806         * tests/test-dup2.c: Likewise.
35807         * tests/test-dup3.c: Likewise.
35808         * tests/test-duplocale.c: Likewise.
35809         * tests/test-fbufmode.c: Likewise.
35810         * tests/test-fchdir.c: Likewise.
35811         * tests/test-fchownat.c: Likewise.
35812         * tests/test-fcntl-safer.c: Likewise.
35813         * tests/test-fcntl.c: Likewise.
35814         * tests/test-fdopendir.c: Likewise.
35815         * tests/test-fdutimensat.c: Likewise.
35816         * tests/test-fflush2.c: Likewise.
35817         * tests/test-file-has-acl.c: Likewise.
35818         * tests/test-filevercmp.c: Likewise.
35819         * tests/test-flock.c: Likewise.
35820         * tests/test-floorf1.c: Likewise.
35821         * tests/test-floorf2.c: Likewise.
35822         * tests/test-floorl.c: Likewise.
35823         * tests/test-fnmatch.c: Likewise.
35824         * tests/test-fopen.h: Likewise.
35825         * tests/test-fpending.c: Likewise.
35826         * tests/test-fprintf-posix.c: Likewise.
35827         * tests/test-fpurge.c: Likewise.
35828         * tests/test-freadable.c: Likewise.
35829         * tests/test-freadahead.c: Likewise.
35830         * tests/test-freading.c: Likewise.
35831         * tests/test-freadptr.c: Likewise.
35832         * tests/test-freadptr2.c: Likewise.
35833         * tests/test-freadseek.c: Likewise.
35834         * tests/test-freopen.c: Likewise.
35835         * tests/test-frexp.c: Likewise.
35836         * tests/test-frexpl.c: Likewise.
35837         * tests/test-fseek.c: Likewise.
35838         * tests/test-fseeko.c: Likewise.
35839         * tests/test-fstatat.c: Likewise.
35840         * tests/test-fstrcmp.c: Likewise.
35841         * tests/test-fsync.c: Likewise.
35842         * tests/test-ftell.c: Likewise.
35843         * tests/test-ftello.c: Likewise.
35844         * tests/test-func.c: Likewise.
35845         * tests/test-futimens.c: Likewise.
35846         * tests/test-fwritable.c: Likewise.
35847         * tests/test-fwriting.c: Likewise.
35848         * tests/test-getcwd.c: Likewise.
35849         * tests/test-getdate.c: Likewise.
35850         * tests/test-getdelim.c: Likewise.
35851         * tests/test-getdtablesize.c: Likewise.
35852         * tests/test-getgroups.c: Likewise.
35853         * tests/test-getline.c: Likewise.
35854         * tests/test-getndelim2.c: Likewise.
35855         * tests/test-glob.c: Likewise.
35856         * tests/test-hash.c: Likewise.
35857         * tests/test-i-ring.c: Likewise.
35858         * tests/test-iconv-utf.c: Likewise.
35859         * tests/test-iconv.c: Likewise.
35860         * tests/test-idpriv-drop.c: Likewise.
35861         * tests/test-idpriv-droptemp.c: Likewise.
35862         * tests/test-inet_ntop.c: Likewise.
35863         * tests/test-inet_pton.c: Likewise.
35864         * tests/test-isblank.c: Likewise.
35865         * tests/test-isfinite.c: Likewise.
35866         * tests/test-isinf.c: Likewise.
35867         * tests/test-isnan.c: Likewise.
35868         * tests/test-isnand.h: Likewise.
35869         * tests/test-isnanf.h: Likewise.
35870         * tests/test-isnanl.h: Likewise.
35871         * tests/test-lchown.c: Likewise.
35872         * tests/test-ldexpl.c: Likewise.
35873         * tests/test-link.c: Likewise.
35874         * tests/test-linkat.c: Likewise.
35875         * tests/test-linked_list.c: Likewise.
35876         * tests/test-linkedhash_list.c: Likewise.
35877         * tests/test-localename.c: Likewise.
35878         * tests/test-lseek.c: Likewise.
35879         * tests/test-lstat.c: Likewise.
35880         * tests/test-mbmemcasecmp.c: Likewise.
35881         * tests/test-mbmemcasecoll.c: Likewise.
35882         * tests/test-mbrtowc.c: Likewise.
35883         * tests/test-mbscasecmp.c: Likewise.
35884         * tests/test-mbscasestr1.c: Likewise.
35885         * tests/test-mbscasestr2.c: Likewise.
35886         * tests/test-mbscasestr3.c: Likewise.
35887         * tests/test-mbscasestr4.c: Likewise.
35888         * tests/test-mbschr.c: Likewise.
35889         * tests/test-mbscspn.c: Likewise.
35890         * tests/test-mbsinit.c: Likewise.
35891         * tests/test-mbsncasecmp.c: Likewise.
35892         * tests/test-mbsnrtowcs.c: Likewise.
35893         * tests/test-mbspbrk.c: Likewise.
35894         * tests/test-mbspcasecmp.c: Likewise.
35895         * tests/test-mbsrchr.c: Likewise.
35896         * tests/test-mbsrtowcs.c: Likewise.
35897         * tests/test-mbsspn.c: Likewise.
35898         * tests/test-mbsstr1.c: Likewise.
35899         * tests/test-mbsstr2.c: Likewise.
35900         * tests/test-mbsstr3.c: Likewise.
35901         * tests/test-memchr.c: Likewise.
35902         * tests/test-memchr2.c: Likewise.
35903         * tests/test-memcmp.c: Likewise.
35904         * tests/test-memmem.c: Likewise.
35905         * tests/test-memrchr.c: Likewise.
35906         * tests/test-mkdir.c: Likewise.
35907         * tests/test-mkdirat.c: Likewise.
35908         * tests/test-mkfifo.c: Likewise.
35909         * tests/test-mkfifoat.c: Likewise.
35910         * tests/test-mknod.c: Likewise.
35911         * tests/test-nanosleep.c: Likewise.
35912         * tests/test-nl_langinfo.c: Likewise.
35913         * tests/test-obstack-printf.c: Likewise.
35914         * tests/test-open.c: Likewise.
35915         * tests/test-openat.c: Likewise.
35916         * tests/test-pipe-filter-gi1.c: Likewise.
35917         * tests/test-pipe-filter-gi2-main.c: Likewise.
35918         * tests/test-pipe-filter-ii1.c: Likewise.
35919         * tests/test-pipe-filter-ii2-main.c: Likewise.
35920         * tests/test-pipe2.c: Likewise.
35921         * tests/test-popen.h: Likewise.
35922         * tests/test-posixtm.c: Likewise.
35923         * tests/test-pread.c: Likewise.
35924         * tests/test-printf-frexp.c: Likewise.
35925         * tests/test-printf-frexpl.c: Likewise.
35926         * tests/test-printf-posix.c: Likewise.
35927         * tests/test-priv-set.c: Likewise.
35928         * tests/test-quotearg.c: Likewise.
35929         * tests/test-random_r.c: Likewise.
35930         * tests/test-rawmemchr.c: Likewise.
35931         * tests/test-rbtree_list.c: Likewise.
35932         * tests/test-rbtree_oset.c: Likewise.
35933         * tests/test-rbtreehash_list.c: Likewise.
35934         * tests/test-readlink.c: Likewise.
35935         * tests/test-remove.c: Likewise.
35936         * tests/test-rename.c: Likewise.
35937         * tests/test-renameat.c: Likewise.
35938         * tests/test-rmdir.c: Likewise.
35939         * tests/test-round1.c: Likewise.
35940         * tests/test-roundf1.c: Likewise.
35941         * tests/test-roundl.c: Likewise.
35942         * tests/test-safe-alloc.c: Likewise.
35943         * tests/test-sameacls.c: Likewise.
35944         * tests/test-set-mode-acl.c: Likewise.
35945         * tests/test-setenv.c: Likewise.
35946         * tests/test-sigaction.c: Likewise.
35947         * tests/test-signbit.c: Likewise.
35948         * tests/test-sleep.c: Likewise.
35949         * tests/test-snprintf-posix.c: Likewise.
35950         * tests/test-snprintf.c: Likewise.
35951         * tests/test-sprintf-posix.c: Likewise.
35952         * tests/test-stat-time.c: Likewise.
35953         * tests/test-stat.c: Likewise.
35954         * tests/test-strcasestr.c: Likewise.
35955         * tests/test-strchrnul.c: Likewise.
35956         * tests/test-strerror.c: Likewise.
35957         * tests/test-striconv.c: Likewise.
35958         * tests/test-striconveh.c: Likewise.
35959         * tests/test-striconveha.c: Likewise.
35960         * tests/test-strsignal.c: Likewise.
35961         * tests/test-strstr.c: Likewise.
35962         * tests/test-strtod.c: Likewise.
35963         * tests/test-strverscmp.c: Likewise.
35964         * tests/test-symlink.c: Likewise.
35965         * tests/test-symlinkat.c: Likewise.
35966         * tests/test-trunc1.c: Likewise.
35967         * tests/test-trunc2.c: Likewise.
35968         * tests/test-truncf1.c: Likewise.
35969         * tests/test-truncf2.c: Likewise.
35970         * tests/test-truncl.c: Likewise.
35971         * tests/test-uname.c: Likewise.
35972         * tests/test-unlink.c: Likewise.
35973         * tests/test-unlinkat.c: Likewise.
35974         * tests/test-unsetenv.c: Likewise.
35975         * tests/test-usleep.c: Likewise.
35976         * tests/test-utimens.c: Likewise.
35977         * tests/test-utimensat.c: Likewise.
35978         * tests/test-vasnprintf-posix.c: Likewise.
35979         * tests/test-vasnprintf-posix2.c: Likewise.
35980         * tests/test-vasnprintf.c: Likewise.
35981         * tests/test-vasprintf-posix.c: Likewise.
35982         * tests/test-vasprintf.c: Likewise.
35983         * tests/test-vdprintf-posix.c: Likewise.
35984         * tests/test-vfprintf-posix.c: Likewise.
35985         * tests/test-vprintf-posix.c: Likewise.
35986         * tests/test-vsnprintf-posix.c: Likewise.
35987         * tests/test-vsnprintf.c: Likewise.
35988         * tests/test-vsprintf-posix.c: Likewise.
35989         * tests/test-wcrtomb.c: Likewise.
35990         * tests/test-wcsnrtombs.c: Likewise.
35991         * tests/test-wcsrtombs.c: Likewise.
35992         * tests/test-wctype.c: Likewise.
35993         * tests/test-wcwidth.c: Likewise.
35994         * tests/test-xfprintf-posix.c: Likewise.
35995         * tests/test-xmemdup0.c: Likewise.
35996         * tests/test-xprintf-posix.c: Likewise.
35997         * tests/test-xvasprintf.c: Likewise.
35998         * tests/unicase/test-locale-language.c: Likewise.
35999         * tests/unicase/test-mapping-part1.h: Likewise.
36000         * tests/unicase/test-predicate-part1.h: Likewise.
36001         * tests/unicase/test-u8-casecmp.c: Likewise.
36002         * tests/unicase/test-u8-casecoll.c: Likewise.
36003         * tests/unicase/test-u8-casefold.c: Likewise.
36004         * tests/unicase/test-u8-is-cased.c: Likewise.
36005         * tests/unicase/test-u8-is-casefolded.c: Likewise.
36006         * tests/unicase/test-u8-is-lowercase.c: Likewise.
36007         * tests/unicase/test-u8-is-titlecase.c: Likewise.
36008         * tests/unicase/test-u8-is-uppercase.c: Likewise.
36009         * tests/unicase/test-u8-tolower.c: Likewise.
36010         * tests/unicase/test-u8-totitle.c: Likewise.
36011         * tests/unicase/test-u8-toupper.c: Likewise.
36012         * tests/unicase/test-u16-casecmp.c: Likewise.
36013         * tests/unicase/test-u16-casecoll.c: Likewise.
36014         * tests/unicase/test-u16-casefold.c: Likewise.
36015         * tests/unicase/test-u16-is-cased.c: Likewise.
36016         * tests/unicase/test-u16-is-casefolded.c: Likewise.
36017         * tests/unicase/test-u16-is-lowercase.c: Likewise.
36018         * tests/unicase/test-u16-is-titlecase.c: Likewise.
36019         * tests/unicase/test-u16-is-uppercase.c: Likewise.
36020         * tests/unicase/test-u16-tolower.c: Likewise.
36021         * tests/unicase/test-u16-totitle.c: Likewise.
36022         * tests/unicase/test-u16-toupper.c: Likewise.
36023         * tests/unicase/test-u32-casecmp.c: Likewise.
36024         * tests/unicase/test-u32-casecoll.c: Likewise.
36025         * tests/unicase/test-u32-casefold.c: Likewise.
36026         * tests/unicase/test-u32-is-cased.c: Likewise.
36027         * tests/unicase/test-u32-is-casefolded.c: Likewise.
36028         * tests/unicase/test-u32-is-lowercase.c: Likewise.
36029         * tests/unicase/test-u32-is-titlecase.c: Likewise.
36030         * tests/unicase/test-u32-is-uppercase.c: Likewise.
36031         * tests/unicase/test-u32-tolower.c: Likewise.
36032         * tests/unicase/test-u32-totitle.c: Likewise.
36033         * tests/unicase/test-u32-toupper.c: Likewise.
36034         * tests/unicase/test-ulc-casecmp.c: Likewise.
36035         * tests/unicase/test-ulc-casecoll.c: Likewise.
36036         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
36037         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
36038         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
36039         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
36040         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
36041         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
36042         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
36043         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
36044         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
36045         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
36046         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
36047         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
36048         * tests/unictype/test-bidi_byname.c: Likewise.
36049         * tests/unictype/test-bidi_name.c: Likewise.
36050         * tests/unictype/test-bidi_of.c: Likewise.
36051         * tests/unictype/test-bidi_test.c: Likewise.
36052         * tests/unictype/test-block_list.c: Likewise.
36053         * tests/unictype/test-block_of.c: Likewise.
36054         * tests/unictype/test-block_test.c: Likewise.
36055         * tests/unictype/test-categ_and.c: Likewise.
36056         * tests/unictype/test-categ_and_not.c: Likewise.
36057         * tests/unictype/test-categ_byname.c: Likewise.
36058         * tests/unictype/test-categ_name.c: Likewise.
36059         * tests/unictype/test-categ_none.c: Likewise.
36060         * tests/unictype/test-categ_of.c: Likewise.
36061         * tests/unictype/test-categ_or.c: Likewise.
36062         * tests/unictype/test-categ_test_withtable.c: Likewise.
36063         * tests/unictype/test-combining.c: Likewise.
36064         * tests/unictype/test-decdigit.c: Likewise.
36065         * tests/unictype/test-digit.c: Likewise.
36066         * tests/unictype/test-mirror.c: Likewise.
36067         * tests/unictype/test-numeric.c: Likewise.
36068         * tests/unictype/test-pr_byname.c: Likewise.
36069         * tests/unictype/test-pr_test.c: Likewise.
36070         * tests/unictype/test-predicate-part1.h: Likewise.
36071         * tests/unictype/test-scripts.c: Likewise.
36072         * tests/unictype/test-sy_c_ident.c: Likewise.
36073         * tests/unictype/test-sy_java_ident.c: Likewise.
36074         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
36075         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
36076         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
36077         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
36078         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
36079         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
36080         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
36081         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
36082         * tests/uninorm/test-canonical-decomposition.c: Likewise.
36083         * tests/uninorm/test-compat-decomposition.c: Likewise.
36084         * tests/uninorm/test-composition.c: Likewise.
36085         * tests/uninorm/test-decomposing-form.c: Likewise.
36086         * tests/uninorm/test-decomposition.c: Likewise.
36087         * tests/uninorm/test-u8-nfc.c: Likewise.
36088         * tests/uninorm/test-u8-nfd.c: Likewise.
36089         * tests/uninorm/test-u8-nfkc.c: Likewise.
36090         * tests/uninorm/test-u8-nfkd.c: Likewise.
36091         * tests/uninorm/test-u8-normcmp.c: Likewise.
36092         * tests/uninorm/test-u8-normcoll.c: Likewise.
36093         * tests/uninorm/test-u16-nfc.c: Likewise.
36094         * tests/uninorm/test-u16-nfd.c: Likewise.
36095         * tests/uninorm/test-u16-nfkc.c: Likewise.
36096         * tests/uninorm/test-u16-nfkd.c: Likewise.
36097         * tests/uninorm/test-u16-normcmp.c: Likewise.
36098         * tests/uninorm/test-u16-normcoll.c: Likewise.
36099         * tests/uninorm/test-u32-nfc.c: Likewise.
36100         * tests/uninorm/test-u32-nfd.c: Likewise.
36101         * tests/uninorm/test-u32-nfkc.c: Likewise.
36102         * tests/uninorm/test-u32-nfkd.c: Likewise.
36103         * tests/uninorm/test-u32-normalize-big.c: Likewise.
36104         * tests/uninorm/test-u32-normcmp.c: Likewise.
36105         * tests/uninorm/test-u32-normcoll.c: Likewise.
36106         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
36107         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
36108         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
36109         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
36110         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
36111         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
36112         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
36113         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
36114         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
36115         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
36116         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
36117         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
36118         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
36119         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
36120         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
36121         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
36122         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
36123         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
36124         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
36125         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
36126         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
36127         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
36128         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
36129         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
36130         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
36131         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
36132         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
36133         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
36134         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
36135         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
36136         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
36137         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
36138         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
36139         * tests/uniwidth/test-u8-strwidth.c: Likewise.
36140         * tests/uniwidth/test-u8-width.c: Likewise.
36141         * tests/uniwidth/test-u16-strwidth.c: Likewise.
36142         * tests/uniwidth/test-u16-width.c: Likewise.
36143         * tests/uniwidth/test-u32-strwidth.c: Likewise.
36144         * tests/uniwidth/test-u32-width.c: Likewise.
36145         * tests/uniwidth/test-uc_width.c: Likewise.
36146         * tests/uniwidth/test-uc_width2.c: Likewise.
36147         * modules/acl-tests (Files): Add tests/macros.h.
36148         * modules/areadlink-tests (Files): Likewise.
36149         * modules/areadlink-with-size-tests (Files): Likewise.
36150         * modules/areadlinkat-tests (Files): Likewise.
36151         * modules/areadlinkat-with-size-tests (Files): Likewise.
36152         * modules/argmatch-tests (Files): Likewise.
36153         * modules/argv-iter-tests (Files): Likewise.
36154         * modules/array-list-tests (Files): Likewise.
36155         * modules/array-mergesort-tests (Files): Likewise.
36156         * modules/array-oset-tests (Files): Likewise.
36157         * modules/avltree-list-tests (Files): Likewise.
36158         * modules/avltree-oset-tests (Files): Likewise.
36159         * modules/avltreehash-list-tests (Files): Likewise.
36160         * modules/base64-tests (Files): Likewise.
36161         * modules/binary-io-tests (Files): Likewise.
36162         * modules/bitrotate-tests (Files): Likewise.
36163         * modules/btowc-tests (Files): Likewise.
36164         * modules/byteswap-tests (Files): Likewise.
36165         * modules/c-ctype-tests (Files): Likewise.
36166         * modules/c-stack-tests (Files): Likewise.
36167         * modules/c-strcase-tests (Files): Likewise.
36168         * modules/c-strcasestr-tests (Files): Likewise.
36169         * modules/c-strstr-tests (Files): Likewise.
36170         * modules/canonicalize-lgpl-tests (Files): Likewise.
36171         * modules/canonicalize-tests (Files): Likewise.
36172         * modules/carray-list-tests (Files): Likewise.
36173         * modules/ceilf-tests (Files): Likewise.
36174         * modules/ceill-tests (Files): Likewise.
36175         * modules/chown-tests (Files): Likewise.
36176         * modules/cloexec-tests (Files): Likewise.
36177         * modules/copy-file-tests (Files): Likewise.
36178         * modules/count-one-bits-tests (Files): Likewise.
36179         * modules/dprintf-posix-tests (Files): Likewise.
36180         * modules/dup2-tests (Files): Likewise.
36181         * modules/dup3-tests (Files): Likewise.
36182         * modules/duplocale-tests (Files): Likewise.
36183         * modules/fbufmode-tests (Files): Likewise.
36184         * modules/fchdir-tests (Files): Likewise.
36185         * modules/fcntl-safer-tests (Files): Likewise.
36186         * modules/fcntl-tests (Files): Likewise.
36187         * modules/fdopendir-tests (Files): Likewise.
36188         * modules/fdutimensat-tests (Files): Likewise.
36189         * modules/fflush-tests (Files): Likewise.
36190         * modules/filevercmp-tests (Files): Likewise.
36191         * modules/flock-tests (Files): Likewise.
36192         * modules/floorf-tests (Files): Likewise.
36193         * modules/floorl-tests (Files): Likewise.
36194         * modules/fnmatch-tests (Files): Likewise.
36195         * modules/fopen-safer-tests (Files): Likewise.
36196         * modules/fopen-tests (Files): Likewise.
36197         * modules/fpending-tests (Files): Likewise.
36198         * modules/fprintf-posix-tests (Files): Likewise.
36199         * modules/fpurge-tests (Files): Likewise.
36200         * modules/freadable-tests (Files): Likewise.
36201         * modules/freadahead-tests (Files): Likewise.
36202         * modules/freading-tests (Files): Likewise.
36203         * modules/freadptr-tests (Files): Likewise.
36204         * modules/freadseek-tests (Files): Likewise.
36205         * modules/freopen-tests (Files): Likewise.
36206         * modules/frexp-nolibm-tests (Files): Likewise.
36207         * modules/frexp-tests (Files): Likewise.
36208         * modules/frexpl-nolibm-tests (Files): Likewise.
36209         * modules/frexpl-tests (Files): Likewise.
36210         * modules/fseek-tests (Files): Likewise.
36211         * modules/fseeko-tests (Files): Likewise.
36212         * modules/fstrcmp-tests (Files): Likewise.
36213         * modules/fsync-tests (Files): Likewise.
36214         * modules/ftell-tests (Files): Likewise.
36215         * modules/ftello-tests (Files): Likewise.
36216         * modules/func-tests (Files): Likewise.
36217         * modules/futimens-tests (Files): Likewise.
36218         * modules/fwritable-tests (Files): Likewise.
36219         * modules/fwriting-tests (Files): Likewise.
36220         * modules/getcwd-tests (Files): Likewise.
36221         * modules/getdate-tests (Files): Likewise.
36222         * modules/getdelim-tests (Files): Likewise.
36223         * modules/getdtablesize-tests (Files): Likewise.
36224         * modules/getgroups-tests (Files): Likewise.
36225         * modules/getline-tests (Files): Likewise.
36226         * modules/getndelim2-tests (Files): Likewise.
36227         * modules/glob-tests (Files): Likewise.
36228         * modules/hash-tests (Files): Likewise.
36229         * modules/i-ring-tests (Files): Likewise.
36230         * modules/iconv-tests (Files): Likewise.
36231         * modules/iconv_open-utf-tests (Files): Likewise.
36232         * modules/idpriv-drop-tests (Files): Likewise.
36233         * modules/idpriv-droptemp-tests (Files): Likewise.
36234         * modules/inet_ntop-tests (Files): Likewise.
36235         * modules/inet_pton-tests (Files): Likewise.
36236         * modules/isblank-tests (Files): Likewise.
36237         * modules/isfinite-tests (Files): Likewise.
36238         * modules/isinf-tests (Files): Likewise.
36239         * modules/isnan-tests (Files): Likewise.
36240         * modules/isnand-nolibm-tests (Files): Likewise.
36241         * modules/isnand-tests (Files): Likewise.
36242         * modules/isnanf-nolibm-tests (Files): Likewise.
36243         * modules/isnanf-tests (Files): Likewise.
36244         * modules/isnanl-nolibm-tests (Files): Likewise.
36245         * modules/isnanl-tests (Files): Likewise.
36246         * modules/lchown-tests (Files): Likewise.
36247         * modules/ldexpl-tests (Files): Likewise.
36248         * modules/link-tests (Files): Likewise.
36249         * modules/linkat-tests (Files): Likewise.
36250         * modules/linked-list-tests (Files): Likewise.
36251         * modules/linkedhash-list-tests (Files): Likewise.
36252         * modules/localename-tests (Files): Likewise.
36253         * modules/lseek-tests (Files): Likewise.
36254         * modules/lstat-tests (Files): Likewise.
36255         * modules/mbmemcasecmp-tests (Files): Likewise.
36256         * modules/mbmemcasecoll-tests (Files): Likewise.
36257         * modules/mbrtowc-tests (Files): Likewise.
36258         * modules/mbscasecmp-tests (Files): Likewise.
36259         * modules/mbscasestr-tests (Files): Likewise.
36260         * modules/mbschr-tests (Files): Likewise.
36261         * modules/mbscspn-tests (Files): Likewise.
36262         * modules/mbsinit-tests (Files): Likewise.
36263         * modules/mbsncasecmp-tests (Files): Likewise.
36264         * modules/mbsnrtowcs-tests (Files): Likewise.
36265         * modules/mbspbrk-tests (Files): Likewise.
36266         * modules/mbspcasecmp-tests (Files): Likewise.
36267         * modules/mbsrchr-tests (Files): Likewise.
36268         * modules/mbsrtowcs-tests (Files): Likewise.
36269         * modules/mbsspn-tests (Files): Likewise.
36270         * modules/mbsstr-tests (Files): Likewise.
36271         * modules/memchr-tests (Files): Likewise.
36272         * modules/memchr2-tests (Files): Likewise.
36273         * modules/memcmp-tests (Files): Likewise.
36274         * modules/memmem-tests (Files): Likewise.
36275         * modules/memrchr-tests (Files): Likewise.
36276         * modules/mkdir-tests (Files): Likewise.
36277         * modules/mkfifo-tests (Files): Likewise.
36278         * modules/mkfifoat-tests (Files): Likewise.
36279         * modules/mknod-tests (Files): Likewise.
36280         * modules/nanosleep-tests (Files): Likewise.
36281         * modules/nl_langinfo-tests (Files): Likewise.
36282         * modules/obstack-printf-tests (Files): Likewise.
36283         * modules/open-tests (Files): Likewise.
36284         * modules/openat-tests (Files): Likewise.
36285         * modules/pipe-filter-gi-tests (Files): Likewise.
36286         * modules/pipe-filter-ii-tests (Files): Likewise.
36287         * modules/pipe2-tests (Files): Likewise.
36288         * modules/popen-safer-tests (Files): Likewise.
36289         * modules/popen-tests (Files): Likewise.
36290         * modules/posixtm-tests (Files): Likewise.
36291         * modules/pread-tests (Files): Likewise.
36292         * modules/printf-frexp-tests (Files): Likewise.
36293         * modules/printf-frexpl-tests (Files): Likewise.
36294         * modules/printf-posix-tests (Files): Likewise.
36295         * modules/priv-set-tests (Files): Likewise.
36296         * modules/quotearg-tests (Files): Likewise.
36297         * modules/random_r-tests (Files): Likewise.
36298         * modules/rawmemchr-tests (Files): Likewise.
36299         * modules/rbtree-list-tests (Files): Likewise.
36300         * modules/rbtree-oset-tests (Files): Likewise.
36301         * modules/rbtreehash-list-tests (Files): Likewise.
36302         * modules/readlink-tests (Files): Likewise.
36303         * modules/remove-tests (Files): Likewise.
36304         * modules/rename-tests (Files): Likewise.
36305         * modules/renameat-tests (Files): Likewise.
36306         * modules/rmdir-tests (Files): Likewise.
36307         * modules/round-tests (Files): Likewise.
36308         * modules/roundf-tests (Files): Likewise.
36309         * modules/roundl-tests (Files): Likewise.
36310         * modules/safe-alloc-tests (Files): Likewise.
36311         * modules/setenv-tests (Files): Likewise.
36312         * modules/sigaction-tests (Files): Likewise.
36313         * modules/signbit-tests (Files): Likewise.
36314         * modules/sleep-tests (Files): Likewise.
36315         * modules/snprintf-posix-tests (Files): Likewise.
36316         * modules/snprintf-tests (Files): Likewise.
36317         * modules/sprintf-posix-tests (Files): Likewise.
36318         * modules/stat-tests (Files): Likewise.
36319         * modules/stat-time-tests (Files): Likewise.
36320         * modules/strcasestr-tests (Files): Likewise.
36321         * modules/strchrnul-tests (Files): Likewise.
36322         * modules/strerror-tests (Files): Likewise.
36323         * modules/striconv-tests (Files): Likewise.
36324         * modules/striconveh-tests (Files): Likewise.
36325         * modules/striconveha-tests (Files): Likewise.
36326         * modules/strsignal-tests (Files): Likewise.
36327         * modules/strstr-tests (Files): Likewise.
36328         * modules/strtod-tests (Files): Likewise.
36329         * modules/strverscmp-tests (Files): Likewise.
36330         * modules/symlink-tests (Files): Likewise.
36331         * modules/symlinkat-tests (Files): Likewise.
36332         * modules/trunc-tests (Files): Likewise.
36333         * modules/truncf-tests (Files): Likewise.
36334         * modules/truncl-tests (Files): Likewise.
36335         * modules/uname-tests (Files): Likewise.
36336         * modules/unicase/cased-tests (Files): Likewise.
36337         * modules/unicase/ignorable-tests (Files): Likewise.
36338         * modules/unicase/locale-language-tests (Files): Likewise.
36339         * modules/unicase/tolower-tests (Files): Likewise.
36340         * modules/unicase/totitle-tests (Files): Likewise.
36341         * modules/unicase/toupper-tests (Files): Likewise.
36342         * modules/unicase/u8-casecmp-tests (Files): Likewise.
36343         * modules/unicase/u8-casecoll-tests (Files): Likewise.
36344         * modules/unicase/u8-casefold-tests (Files): Likewise.
36345         * modules/unicase/u8-is-cased-tests (Files): Likewise.
36346         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
36347         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
36348         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
36349         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
36350         * modules/unicase/u8-tolower-tests (Files): Likewise.
36351         * modules/unicase/u8-totitle-tests (Files): Likewise.
36352         * modules/unicase/u8-toupper-tests (Files): Likewise.
36353         * modules/unicase/u16-casecmp-tests (Files): Likewise.
36354         * modules/unicase/u16-casecoll-tests (Files): Likewise.
36355         * modules/unicase/u16-casefold-tests (Files): Likewise.
36356         * modules/unicase/u16-is-cased-tests (Files): Likewise.
36357         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
36358         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
36359         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
36360         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
36361         * modules/unicase/u16-tolower-tests (Files): Likewise.
36362         * modules/unicase/u16-totitle-tests (Files): Likewise.
36363         * modules/unicase/u16-toupper-tests (Files): Likewise.
36364         * modules/unicase/u32-casecmp-tests (Files): Likewise.
36365         * modules/unicase/u32-casecoll-tests (Files): Likewise.
36366         * modules/unicase/u32-casefold-tests (Files): Likewise.
36367         * modules/unicase/u32-is-cased-tests (Files): Likewise.
36368         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
36369         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
36370         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
36371         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
36372         * modules/unicase/u32-tolower-tests (Files): Likewise.
36373         * modules/unicase/u32-totitle-tests (Files): Likewise.
36374         * modules/unicase/u32-toupper-tests (Files): Likewise.
36375         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
36376         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
36377         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
36378         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
36379         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
36380         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
36381         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
36382         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
36383         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
36384         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
36385         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
36386         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
36387         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
36388         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
36389         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
36390         * modules/unictype/bidicategory-name-tests (Files): Likewise.
36391         * modules/unictype/bidicategory-of-tests (Files): Likewise.
36392         * modules/unictype/bidicategory-test-tests (Files): Likewise.
36393         * modules/unictype/block-list-tests (Files): Likewise.
36394         * modules/unictype/block-of-tests (Files): Likewise.
36395         * modules/unictype/block-test-tests (Files): Likewise.
36396         * modules/unictype/category-C-tests (Files): Likewise.
36397         * modules/unictype/category-Cc-tests (Files): Likewise.
36398         * modules/unictype/category-Cf-tests (Files): Likewise.
36399         * modules/unictype/category-Cn-tests (Files): Likewise.
36400         * modules/unictype/category-Co-tests (Files): Likewise.
36401         * modules/unictype/category-Cs-tests (Files): Likewise.
36402         * modules/unictype/category-L-tests (Files): Likewise.
36403         * modules/unictype/category-Ll-tests (Files): Likewise.
36404         * modules/unictype/category-Lm-tests (Files): Likewise.
36405         * modules/unictype/category-Lo-tests (Files): Likewise.
36406         * modules/unictype/category-Lt-tests (Files): Likewise.
36407         * modules/unictype/category-Lu-tests (Files): Likewise.
36408         * modules/unictype/category-M-tests (Files): Likewise.
36409         * modules/unictype/category-Mc-tests (Files): Likewise.
36410         * modules/unictype/category-Me-tests (Files): Likewise.
36411         * modules/unictype/category-Mn-tests (Files): Likewise.
36412         * modules/unictype/category-N-tests (Files): Likewise.
36413         * modules/unictype/category-Nd-tests (Files): Likewise.
36414         * modules/unictype/category-Nl-tests (Files): Likewise.
36415         * modules/unictype/category-No-tests (Files): Likewise.
36416         * modules/unictype/category-P-tests (Files): Likewise.
36417         * modules/unictype/category-Pc-tests (Files): Likewise.
36418         * modules/unictype/category-Pd-tests (Files): Likewise.
36419         * modules/unictype/category-Pe-tests (Files): Likewise.
36420         * modules/unictype/category-Pf-tests (Files): Likewise.
36421         * modules/unictype/category-Pi-tests (Files): Likewise.
36422         * modules/unictype/category-Po-tests (Files): Likewise.
36423         * modules/unictype/category-Ps-tests (Files): Likewise.
36424         * modules/unictype/category-S-tests (Files): Likewise.
36425         * modules/unictype/category-Sc-tests (Files): Likewise.
36426         * modules/unictype/category-Sk-tests (Files): Likewise.
36427         * modules/unictype/category-Sm-tests (Files): Likewise.
36428         * modules/unictype/category-So-tests (Files): Likewise.
36429         * modules/unictype/category-Z-tests (Files): Likewise.
36430         * modules/unictype/category-Zl-tests (Files): Likewise.
36431         * modules/unictype/category-Zp-tests (Files): Likewise.
36432         * modules/unictype/category-Zs-tests (Files): Likewise.
36433         * modules/unictype/category-and-not-tests (Files): Likewise.
36434         * modules/unictype/category-and-tests (Files): Likewise.
36435         * modules/unictype/category-byname-tests (Files): Likewise.
36436         * modules/unictype/category-name-tests (Files): Likewise.
36437         * modules/unictype/category-none-tests (Files): Likewise.
36438         * modules/unictype/category-of-tests (Files): Likewise.
36439         * modules/unictype/category-or-tests (Files): Likewise.
36440         * modules/unictype/category-test-withtable-tests (Files): Likewise.
36441         * modules/unictype/combining-class-tests (Files): Likewise.
36442         * modules/unictype/ctype-alnum-tests (Files): Likewise.
36443         * modules/unictype/ctype-alpha-tests (Files): Likewise.
36444         * modules/unictype/ctype-blank-tests (Files): Likewise.
36445         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
36446         * modules/unictype/ctype-digit-tests (Files): Likewise.
36447         * modules/unictype/ctype-graph-tests (Files): Likewise.
36448         * modules/unictype/ctype-lower-tests (Files): Likewise.
36449         * modules/unictype/ctype-print-tests (Files): Likewise.
36450         * modules/unictype/ctype-punct-tests (Files): Likewise.
36451         * modules/unictype/ctype-space-tests (Files): Likewise.
36452         * modules/unictype/ctype-upper-tests (Files): Likewise.
36453         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
36454         * modules/unictype/decimal-digit-tests (Files): Likewise.
36455         * modules/unictype/digit-tests (Files): Likewise.
36456         * modules/unictype/mirror-tests (Files): Likewise.
36457         * modules/unictype/numeric-tests (Files): Likewise.
36458         * modules/unictype/property-alphabetic-tests (Files): Likewise.
36459         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
36460         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
36461         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
36462         Likewise.
36463         * modules/unictype/property-bidi-block-separator-tests (Files):
36464         Likewise.
36465         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
36466         Likewise.
36467         * modules/unictype/property-bidi-common-separator-tests (Files):
36468         Likewise.
36469         * modules/unictype/property-bidi-control-tests (Files): Likewise.
36470         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
36471         Likewise.
36472         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
36473         Likewise.
36474         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
36475         Likewise.
36476         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
36477         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
36478         Likewise.
36479         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
36480         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
36481         Likewise.
36482         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
36483         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
36484         * modules/unictype/property-bidi-segment-separator-tests (Files):
36485         Likewise.
36486         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
36487         * modules/unictype/property-byname-tests (Files): Likewise.
36488         * modules/unictype/property-combining-tests (Files): Likewise.
36489         * modules/unictype/property-composite-tests (Files): Likewise.
36490         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
36491         * modules/unictype/property-dash-tests (Files): Likewise.
36492         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
36493         * modules/unictype/property-default-ignorable-code-point-tests (Files):
36494         Likewise.
36495         * modules/unictype/property-deprecated-tests (Files): Likewise.
36496         * modules/unictype/property-diacritic-tests (Files): Likewise.
36497         * modules/unictype/property-extender-tests (Files): Likewise.
36498         * modules/unictype/property-format-control-tests (Files): Likewise.
36499         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
36500         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
36501         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
36502         * modules/unictype/property-hex-digit-tests (Files): Likewise.
36503         * modules/unictype/property-hyphen-tests (Files): Likewise.
36504         * modules/unictype/property-id-continue-tests (Files): Likewise.
36505         * modules/unictype/property-id-start-tests (Files): Likewise.
36506         * modules/unictype/property-ideographic-tests (Files): Likewise.
36507         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
36508         * modules/unictype/property-ids-trinary-operator-tests (Files):
36509         Likewise.
36510         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
36511         * modules/unictype/property-iso-control-tests (Files): Likewise.
36512         * modules/unictype/property-join-control-tests (Files): Likewise.
36513         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
36514         * modules/unictype/property-line-separator-tests (Files): Likewise.
36515         * modules/unictype/property-logical-order-exception-tests (Files):
36516         Likewise.
36517         * modules/unictype/property-lowercase-tests (Files): Likewise.
36518         * modules/unictype/property-math-tests (Files): Likewise.
36519         * modules/unictype/property-non-break-tests (Files): Likewise.
36520         * modules/unictype/property-not-a-character-tests (Files): Likewise.
36521         * modules/unictype/property-numeric-tests (Files): Likewise.
36522         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
36523         * modules/unictype/property-other-default-ignorable-code-point-tests
36524         (Files): Likewise.
36525         * modules/unictype/property-other-grapheme-extend-tests (Files):
36526         Likewise.
36527         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
36528         * modules/unictype/property-other-id-start-tests (Files): Likewise.
36529         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
36530         * modules/unictype/property-other-math-tests (Files): Likewise.
36531         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
36532         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
36533         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
36534         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
36535         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
36536         * modules/unictype/property-private-use-tests (Files): Likewise.
36537         * modules/unictype/property-punctuation-tests (Files): Likewise.
36538         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
36539         * modules/unictype/property-radical-tests (Files): Likewise.
36540         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
36541         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
36542         * modules/unictype/property-space-tests (Files): Likewise.
36543         * modules/unictype/property-terminal-punctuation-tests (Files):
36544         Likewise.
36545         * modules/unictype/property-test-tests (Files): Likewise.
36546         * modules/unictype/property-titlecase-tests (Files): Likewise.
36547         * modules/unictype/property-unassigned-code-value-tests (Files):
36548         Likewise.
36549         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
36550         * modules/unictype/property-uppercase-tests (Files): Likewise.
36551         * modules/unictype/property-variation-selector-tests (Files): Likewise.
36552         * modules/unictype/property-white-space-tests (Files): Likewise.
36553         * modules/unictype/property-xid-continue-tests (Files): Likewise.
36554         * modules/unictype/property-xid-start-tests (Files): Likewise.
36555         * modules/unictype/property-zero-width-tests (Files): Likewise.
36556         * modules/unictype/scripts-tests (Files): Likewise.
36557         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
36558         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
36559         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
36560         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
36561         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
36562         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
36563         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
36564         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
36565         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
36566         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
36567         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
36568         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
36569         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
36570         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
36571         * modules/uninorm/composition-tests (Files): Likewise.
36572         * modules/uninorm/decomposing-form-tests (Files): Likewise.
36573         * modules/uninorm/decomposition-tests (Files): Likewise.
36574         * modules/uninorm/filter-tests (Files): Likewise.
36575         * modules/uninorm/nfc-tests (Files): Likewise.
36576         * modules/uninorm/nfd-tests (Files): Likewise.
36577         * modules/uninorm/nfkc-tests (Files): Likewise.
36578         * modules/uninorm/nfkd-tests (Files): Likewise.
36579         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
36580         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
36581         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
36582         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
36583         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
36584         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
36585         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
36586         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
36587         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
36588         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
36589         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
36590         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
36591         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
36592         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
36593         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
36594         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
36595         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
36596         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
36597         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
36598         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
36599         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
36600         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
36601         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
36602         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
36603         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
36604         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
36605         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
36606         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
36607         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
36608         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
36609         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
36610         * modules/uniwidth/u8-width-tests (Files): Likewise.
36611         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
36612         * modules/uniwidth/u16-width-tests (Files): Likewise.
36613         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
36614         * modules/uniwidth/u32-width-tests (Files): Likewise.
36615         * modules/uniwidth/width-tests (Files): Likewise.
36616         * modules/unlink-tests (Files): Likewise.
36617         * modules/unsetenv-tests (Files): Likewise.
36618         * modules/usleep-tests (Files): Likewise.
36619         * modules/utimens-tests (Files): Likewise.
36620         * modules/utimensat-tests (Files): Likewise.
36621         * modules/vasnprintf-posix-tests (Files): Likewise.
36622         * modules/vasnprintf-tests (Files): Likewise.
36623         * modules/vasprintf-posix-tests (Files): Likewise.
36624         * modules/vasprintf-tests (Files): Likewise.
36625         * modules/vdprintf-posix-tests (Files): Likewise.
36626         * modules/vfprintf-posix-tests (Files): Likewise.
36627         * modules/vprintf-posix-tests (Files): Likewise.
36628         * modules/vsnprintf-posix-tests (Files): Likewise.
36629         * modules/vsnprintf-tests (Files): Likewise.
36630         * modules/vsprintf-posix-tests (Files): Likewise.
36631         * modules/wcrtomb-tests (Files): Likewise.
36632         * modules/wcsnrtombs-tests (Files): Likewise.
36633         * modules/wcsrtombs-tests (Files): Likewise.
36634         * modules/wctype-tests (Files): Likewise.
36635         * modules/wcwidth-tests (Files): Likewise.
36636         * modules/xmemdup0-tests (Files): Likewise.
36637         * modules/xprintf-posix-tests (Files): Likewise.
36638         * modules/xvasprintf-tests (Files): Likewise.
36639
36640 2009-12-24  Eric Blake  <ebb9@byu.net>
36641
36642         test-nanosleep: fix typo
36643         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
36644         patch.
36645         Reported by Bruno Haible.
36646
36647 2009-12-24  Bruno Haible  <bruno@clisp.org>
36648
36649         Reduce namespace pollution on glibc systems.
36650         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
36651         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
36652         systems.
36653         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
36654         <getopt.h> on glibc systems.
36655         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
36656         systems.
36657         * lib/fcntl.c: Include <unistd.h> here instead.
36658
36659 2009-12-24  Bruno Haible  <bruno@clisp.org>
36660
36661         * lib/stdlib.in.h (includes): Fix typo in today's commit.
36662
36663 2009-12-24  Eric Blake  <ebb9@byu.net>
36664
36665         tests: add signature checks
36666         * tests/signature.h (SIGNATURE_CHECK): New file.
36667         * modules/atexit-tests (Files): Use it.
36668         * modules/btowc-tests (Files): Likewise.
36669         * modules/canonicalize-lgpl-tests (Files): Likewise.
36670         * modules/ceilf-tests (Files): Likewise.
36671         * modules/ceill-tests (Files): Likewise.
36672         * modules/chown-tests (Files): Likewise.
36673         * modules/dprintf-posix-tests (Files): Likewise.
36674         * modules/dup2-tests (Files): Likewise.
36675         * modules/dup3-tests (Files): Likewise.
36676         * modules/duplocale-tests (Files): Likewise.
36677         * modules/fchdir-tests (Files): Likewise.
36678         * modules/fcntl-tests (Files): Likewise.
36679         * modules/fdopendir-tests (Files): Likewise.
36680         * modules/fflush-tests (Files): Likewise.
36681         * modules/flock-tests (Files): Likewise.
36682         * modules/floorf-tests (Files): Likewise.
36683         * modules/floorl-tests (Files): Likewise.
36684         * modules/fnmatch-tests (Files): Likewise.
36685         * modules/fopen-tests (Files): Likewise.
36686         * modules/fprintf-posix-tests (Files): Likewise.
36687         * modules/freopen-tests (Files): Likewise.
36688         * modules/frexp-nolibm-tests (Files): Likewise.
36689         * modules/frexp-tests (Files): Likewise.
36690         * modules/frexpl-nolibm-tests (Files): Likewise.
36691         * modules/frexpl-tests (Files): Likewise.
36692         * modules/fseek-tests (Files): Likewise.
36693         * modules/fseeko-tests (Files): Likewise.
36694         * modules/fsync-tests (Files): Likewise.
36695         * modules/ftell-tests (Files): Likewise.
36696         * modules/ftello-tests (Files): Likewise.
36697         * modules/futimens-tests (Files): Likewise.
36698         * modules/getaddrinfo-tests (Files): Likewise.
36699         * modules/getcwd-tests (Files): Likewise.
36700         * modules/getdelim-tests (Files): Likewise.
36701         * modules/getdtablesize-tests (Files): Likewise.
36702         * modules/getgroups-tests (Files): Likewise.
36703         * modules/gethostname-tests (Files): Likewise.
36704         * modules/getline-tests (Files): Likewise.
36705         * modules/getopt-posix-tests (Files): Likewise.
36706         * modules/gettimeofday-tests (Files): Likewise.
36707         * modules/glob-tests (Files): Likewise.
36708         * modules/iconv-tests (Files): Likewise.
36709         * modules/inet_ntop-tests (Files): Likewise.
36710         * modules/inet_pton-tests (Files): Likewise.
36711         * modules/isblank-tests (Files): Likewise.
36712         * modules/lchown-tests (Files): Likewise.
36713         * modules/ldexpl-tests (Files): Likewise.
36714         * modules/link-tests (Files): Likewise.
36715         * modules/linkat-tests (Files): Likewise.
36716         * modules/lseek-tests (Files): Likewise.
36717         * modules/lstat-tests (Files): Likewise.
36718         * modules/mbrtowc-tests (Files): Likewise.
36719         * modules/mbsinit-tests (Files): Likewise.
36720         * modules/mbsnrtowcs-tests (Files): Likewise.
36721         * modules/mbsrtowcs-tests (Files): Likewise.
36722         * modules/memchr-tests (Files): Likewise.
36723         * modules/memcmp-tests (Files): Likewise.
36724         * modules/memmem-tests (Files): Likewise.
36725         * modules/memrchr-tests (Files): Likewise.
36726         * modules/mkdir-tests (Files): Likewise.
36727         * modules/mkfifo-tests (Files): Likewise.
36728         * modules/mkfifoat-tests (Files): Likewise.
36729         * modules/mknod-tests (Files): Likewise.
36730         * modules/nanosleep-tests (Files): Likewise.
36731         * modules/nl_langinfo-tests (Files): Likewise.
36732         * modules/obstack-printf-tests (Files): Likewise.
36733         * modules/open-tests (Files): Likewise.
36734         * modules/openat-tests (Files): Likewise.
36735         * modules/perror-tests (Files): Likewise.
36736         * modules/pipe2-tests (Files): Likewise.
36737         * modules/poll-tests (Files): Likewise.
36738         * modules/popen-tests (Files): Likewise.
36739         * modules/posix_spawn-tests (Files): Likewise.
36740         * modules/posix_spawnp-tests (Files): Likewise.
36741         * modules/pread-tests (Files): Likewise.
36742         * modules/printf-posix-tests (Files): Likewise.
36743         * modules/pty-tests (Files): Likewise.
36744         * modules/random_r-tests (Files): Likewise.
36745         * modules/rawmemchr-tests (Files): Likewise.
36746         * modules/readlink-tests (Files): Likewise.
36747         * modules/remove-tests (Files): Likewise.
36748         * modules/rename-tests (Files): Likewise.
36749         * modules/renameat-tests (Files): Likewise.
36750         * modules/rmdir-tests (Files): Likewise.
36751         * modules/round-tests (Files): Likewise.
36752         * modules/roundf-tests (Files): Likewise.
36753         * modules/roundl-tests (Files): Likewise.
36754         * modules/select-tests (Files): Likewise.
36755         * modules/setenv-tests (Files): Likewise.
36756         * modules/sigaction-tests (Files): Likewise.
36757         * modules/sleep-tests (Files): Likewise.
36758         * modules/snprintf-posix-tests (Files): Likewise.
36759         * modules/snprintf-tests (Files): Likewise.
36760         * modules/sprintf-posix-tests (Files): Likewise.
36761         * modules/stat-tests (Files): Likewise.
36762         * modules/strcasestr-tests (Files): Likewise.
36763         * modules/strchrnul-tests (Files): Likewise.
36764         * modules/strerror-tests (Files): Likewise.
36765         * modules/strsignal-tests (Files): Likewise.
36766         * modules/strstr-tests (Files): Likewise.
36767         * modules/strtod-tests (Files): Likewise.
36768         * modules/strverscmp-tests (Files): Likewise.
36769         * modules/symlink-tests (Files): Likewise.
36770         * modules/symlinkat-tests (Files): Likewise.
36771         * modules/times-tests (Files): Likewise.
36772         * modules/trunc-tests (Files): Likewise.
36773         * modules/truncf-tests (Files): Likewise.
36774         * modules/truncl-tests (Files): Likewise.
36775         * modules/tsearch-tests (Files): Likewise.
36776         * modules/uname-tests (Files): Likewise.
36777         * modules/unlink-tests (Files): Likewise.
36778         * modules/unsetenv-tests (Files): Likewise.
36779         * modules/usleep-tests (Files): Likewise.
36780         * modules/utimensat-tests (Files): Likewise.
36781         * modules/vasprintf-tests (Files): Likewise.
36782         * modules/vdprintf-posix-tests (Files): Likewise.
36783         * modules/vfprintf-posix-tests (Files): Likewise.
36784         * modules/vprintf-posix-tests (Files): Likewise.
36785         * modules/vsnprintf-posix-tests (Files): Likewise.
36786         * modules/vsnprintf-tests (Files): Likewise.
36787         * modules/vsprintf-posix-tests (Files): Likewise.
36788         * modules/wcrtomb-tests (Files): Likewise.
36789         * modules/wcsnrtombs-tests (Files): Likewise.
36790         * modules/wcsrtombs-tests (Files): Likewise.
36791         * modules/wcwidth-tests (Files): Likewise.
36792         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
36793         * tests/test-isinf.c (isinf): Likewise.
36794         * tests/test-isnan.c (isnan): Likewise.
36795         * tests/test-signbit.c (signbit): Likewise.
36796         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
36797         declaration, either as macro or with correct signature.
36798         (select): Ensure function under test is declared with correct
36799         signature in correct header.
36800         * tests/test-atexit.c (atexit): Likewise.
36801         * tests/test-btowc.c (btowc): Likewise.
36802         * tests/test-canonicalize-lgpl.c (realpath)
36803         (canonicalize_file_name): Likewise.
36804         * tests/test-ceilf1.c (ceilf): Likewise.
36805         * tests/test-ceill.c (ceill): Likewise.
36806         * tests/test-chown.c (chown): Likewise.
36807         * tests/test-dprintf-posix.c (dprintf): Likewise.
36808         * tests/test-dup2.c (dup2): Likewise.
36809         * tests/test-dup3.c (dup3): Likewise.
36810         * tests/test-duplocale.c (duplocale): Likewise.
36811         * tests/test-fchdir.c (fchdir): Likewise.
36812         * tests/test-fchownat.c (fchownat): Likewise.
36813         * tests/test-fcntl.c (fcntl): Likewise.
36814         * tests/test-fdopendir.c (fdopendir): Likewise.
36815         * tests/test-fflush.c (fflush): Likewise.
36816         * tests/test-flock.c (flock): Likewise.
36817         * tests/test-floorf1.c (floorf): Likewise.
36818         * tests/test-floorl.c (floorl): Likewise.
36819         * tests/test-fnmatch.c (fnmatch): Likewise.
36820         * tests/test-fopen.c (fopen): Likewise.
36821         * tests/test-fprintf-posix.c (fprintf): Likewise.
36822         * tests/test-freopen.c (freopen): Likewise.
36823         * tests/test-frexp.c (frexp): Likewise.
36824         * tests/test-frexpl.c (frexpl): Likewise.
36825         * tests/test-fseek.c (fseek): Likewise.
36826         * tests/test-fseeko.c (fseeko): Likewise.
36827         * tests/test-fstatat.c (fstatat): Likewise.
36828         * tests/test-fsync.c (fsync): Likewise.
36829         * tests/test-ftell.c (ftell): Likewise.
36830         * tests/test-ftello.c (ftello): Likewise.
36831         * tests/test-futimens.c (futimens): Likewise.
36832         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
36833         (gai_strerror): Likewise.
36834         * tests/test-getcwd.c (getcwd): Likewise.
36835         * tests/test-getdelim.c (getdelim): Likewise.
36836         * tests/test-getdtablesize.c (getdtablesize): Likewise.
36837         * tests/test-getgroups.c (getgroups): Likewise.
36838         * tests/test-gethostname.c (gethostname): Likewise.
36839         * tests/test-getline.c (getline): Likewise.
36840         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
36841         Likewise.
36842         * tests/test-gettimeofday.c (gettimeofday): Likewise.
36843         * tests/test-glob.c (glob, globfree): Likewise.
36844         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
36845         * tests/test-inet_ntop.c (inet_ntop): Likewise.
36846         * tests/test-inet_pton.c (inet_pton): Likewise.
36847         * tests/test-isblank.c (isblank): Likewise.
36848         * tests/test-lchown.c (lchown): Likewise.
36849         * tests/test-ldexpl.c (ldexpl): Likewise.
36850         * tests/test-link.c (link): Likewise.
36851         * tests/test-linkat.c (linkat): Likewise.
36852         * tests/test-lseek.c (lseek): Likewise.
36853         * tests/test-lstat.c (lstat): Likewise.
36854         * tests/test-mbrtowc.c (mbrtowc): Likewise.
36855         * tests/test-mbsinit.c (mbsinit): Likewise.
36856         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
36857         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
36858         * tests/test-memchr.c (memchr): Likewise.
36859         * tests/test-memcmp.c (memcmp): Likewise.
36860         * tests/test-memmem.c (memmem): Likewise.
36861         * tests/test-memrchr.c (memrchr): Likewise.
36862         * tests/test-mkdir.c (mkdir): Likewise.
36863         * tests/test-mkdirat.c (mkdirat): Likewise.
36864         * tests/test-mkfifo.c (mkfifo): Likewise.
36865         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
36866         * tests/test-mknod.c (mknod): Likewise.
36867         * tests/test-nanosleep.c (nanosleep): Likewise.
36868         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
36869         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
36870         Likewise.
36871         * tests/test-open.c (open): Likewise.
36872         * tests/test-openat.c (openat): Likewise.
36873         * tests/test-perror.c (perror): Likewise.
36874         * tests/test-pipe2.c (pipe2): Likewise.
36875         * tests/test-poll.c (poll): Likewise.
36876         * tests/test-popen.c (popen, pclose): Likewise.
36877         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
36878         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
36879         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
36880         (posix_spawn_file_actions_destroy)
36881         (posix_spawn_file_actions_addclose)
36882         (posix_spawn_file_actions_addopen)
36883         (posix_spawn_file_actions_adddup2): Likewise.
36884         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
36885         * tests/test-pread.c (pread): Likewise.
36886         * tests/test-printf-posix.c (printf): Likewise.
36887         * tests/test-pty.c (openpty, forkpty): Likewise.
36888         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
36889         (random_r): Likewise.
36890         * tests/test-rawmemchr.c (rawmemchr): Likewise.
36891         * tests/test-readlink.c (readlink): Likewise.
36892         * tests/test-remove.c (remove): Likewise.
36893         * tests/test-rename.c (rename): Likewise.
36894         * tests/test-renameat.c (renameat): Likewise.
36895         * tests/test-rmdir.c (rmdir): Likewise.
36896         * tests/test-round1.c (round): Likewise.
36897         * tests/test-roundf1.c (roundf): Likewise.
36898         * tests/test-roundl.c (roundl): Likewise.
36899         * tests/test-setenv.c (setenv): Likewise.
36900         * tests/test-sigaction.c (sigaction): Likewise.
36901         * tests/test-sleep.c (sleep): Likewise.
36902         * tests/test-snprintf.c (snprintf): Likewise.
36903         * tests/test-sprintf-posix.c (sprintf): Likewise.
36904         * tests/test-stat.c (stat): Likewise.
36905         * tests/test-stpncpy.c (stpncpy): Likewise.
36906         * tests/test-strcasestr.c (strcasestr): Likewise.
36907         * tests/test-strchrnul.c (strchrnul): Likewise.
36908         * tests/test-strerror.c (strerror): Likewise.
36909         * tests/test-strsignal.c (strsignal): Likewise.
36910         * tests/test-strstr.c (strstr): Likewise.
36911         * tests/test-strtod.c (strtod): Likewise.
36912         * tests/test-strverscmp.c (strverscmp): Likewise.
36913         * tests/test-symlink.c (symlink): Likewise.
36914         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
36915         * tests/test-times.c (times): Likewise.
36916         * tests/test-trunc1.c (trunc): Likewise.
36917         * tests/test-truncf1.c (truncf): Likewise.
36918         * tests/test-truncl.c (truncl): Likewise.
36919         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
36920         Likewise.
36921         * tests/test-uname.c (uname): Likewise.
36922         * tests/test-unlink.c (unlink): Likewise.
36923         * tests/test-unlinkat.c (unlinkat): Likewise.
36924         * tests/test-unsetenv.c (unsetenv): Likewise.
36925         * tests/test-usleep.c (usleep): Likewise.
36926         * tests/test-utimensat.c (utimensat): Likewise.
36927         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
36928         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
36929         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
36930         * tests/test-vprintf-posix.c (vprintf): Likewise.
36931         * tests/test-vsnprintf.c (vsnprintf): Likewise.
36932         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
36933         * tests/test-wcrtomb.c (wcrtomb): Likewise.
36934         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
36935         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
36936         * tests/test-wcwidth.c (wcwidth): Likewise.
36937
36938         build: pull in conditional headers during GNULIB_POSIXCHECK
36939         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
36940         definitions from any conditionally-included headers.
36941         * lib/stdlib.in.h (includes): Likewise.
36942         * lib/unistd.in.h (includes): Likewise.
36943
36944 2009-12-24  Bruno Haible  <bruno@clisp.org>
36945
36946         * tests/test-argv-iter.c: Include header file being tested immediately
36947         after config.h.
36948         * tests/test-base64.c: Likewise.
36949         * tests/test-flock.c: Likewise.
36950         * tests/test-fsync.c: Likewise.
36951         * tests/test-getdate.c: Likewise.
36952         * tests/test-getndelim2.c: Likewise.
36953         * tests/test-isfinite.c: Likewise.
36954         * tests/test-isinf.c: Likewise.
36955         * tests/test-strerror.c: Likewise.
36956         * tests/test-strsignal.c: Likewise.
36957
36958 2009-12-23  Eric Blake  <ebb9@byu.net>
36959
36960         unistd: work around cygwin bug
36961         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
36962         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
36963         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
36964
36965 2009-12-23  Bruno Haible  <bruno@clisp.org>
36966
36967         localename: More tests.
36968         * tests/test-localename.c (SIZEOF): New macro.
36969         (categories): New variable.
36970         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
36971         test_locale_name_default): Add test w.r.t. thread locale.
36972         (test_locale_name_thread): New function.
36973         (main): Invoke it.
36974
36975         localename: Make aware of thread locale.
36976         * lib/localename.h (gl_locale_name_thread): New declaration.
36977         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
36978         behaviour with respect to thread locale.
36979         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
36980         <langinfo.h>, glthread/lock.h.
36981         (SIZE_BITS): New macro.
36982         (string_hash): New function.
36983         (struct hash_node): New type.
36984         (HASH_TABLE_SIZE): New macro.
36985         (struniq_hash_table, struniq_lock): New variables.
36986         (struniq): New function.
36987         (gl_locale_name_thread): New function.
36988         (gl_locale_name): Invoke it.
36989         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
36990         * modules/localename (Depends-on): Add lock.
36991         Reported by Mike Gran <spk121@yahoo.com>.
36992
36993 2009-12-23  Eric Blake  <ebb9@byu.net>
36994
36995         va-args: new module
36996         * modules/va-args: New file.
36997         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
36998         * MODULES.html.sh (Core language properties): Mention it.
36999
37000         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
37001         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
37002         named alias for __attribute__((__unused__)).
37003         * lib/chown.c: Update client.
37004         * lib/fchmodat.c: Likewise.
37005         * lib/fts.c: Likewise.
37006         * lib/getdate.y: Likewise.
37007         * lib/getgroups.c: Likewise.
37008         * lib/getopt.c: Likewise.
37009         * lib/getugroups.c: Likewise.
37010         * lib/mkdir.c: Likewise.
37011         * lib/mkfifo.c: Likewise.
37012         * lib/mkfifoat.c: Likewise.
37013         * lib/mknod.c: Likewise.
37014         * lib/mknodat.c: Likewise.
37015         * lib/readlink.c: Likewise.
37016         * lib/se-context.in.h: Likewise.
37017         * lib/se-selinux.in.h: Likewise.
37018         * lib/sockets.c: Likewise.
37019         * lib/symlink.c: Likewise.
37020         * lib/symlinkat.c: Likewise.
37021         * lib/unicodeio.c: Likewise.
37022         * lib/unistr.h: Likewise.
37023         * tests/test-areadlink.c: Likewise.
37024         * tests/test-areadlinkat.c: Likewise.
37025         * tests/test-filenamecat.c: Likewise.
37026         * tests/test-fseeko.c: Likewise.
37027         * tests/test-ftello.c: Likewise.
37028         * tests/test-getdate.c: Likewise.
37029         * tests/test-getgroups.c: Likewise.
37030         * tests/test-gethostname.c: Likewise.
37031         * tests/test-quotearg.c: Likewise.
37032         * tests/test-version-etc.c: Likewise.
37033         * tests/test-xalloc-die.c: Likewise.
37034         * tests/test-xfprintf-posix.c: Likewise.
37035         * tests/test-xprintf-posix.c: Likewise.
37036         * tests/test-xvasprintf.c: Likewise.
37037
37038         tests: avoid compiler warnings
37039         * tests/test-fcntl.c (main): Delete unused parameters.
37040         * tests/test-freopen-safer.c (main): Likewise.
37041         * tests/test-xalloc-die.c (main): Mark unused parameters.
37042         * tests/test-fseeko.c (main): Likewise.
37043         * tests/test-ftello.c (main): Likewise.
37044         * tests/test-nanosleep.c (main): Avoid declaration warning.
37045         * tests/test-sleep.c (main): Likewise.
37046         * tests/test-unsetenv.c (main): Silence warning about string
37047         literal.
37048         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
37049
37050 2009-12-23  Bruno Haible  <bruno@clisp.org>
37051
37052         * tests/test-localename.c (test_locale_name): New function, extracted
37053         from main. Also test mixed situations.
37054         (test_locale_name_posix, test_locale_name_environ,
37055         test_locale_name_default): New functions.
37056         (main): Invoke them all.
37057         * modules/localename-tests (configure.ac): Test for newlocale.
37058
37059 2009-12-23  Bruno Haible  <bruno@clisp.org>
37060
37061         unistd: Ensure getcwd gets declared before being overridden.
37062         * lib/unistd.in.h: Conditionally include <io.h>.
37063
37064 2009-12-22  Bruno Haible  <bruno@clisp.org>
37065
37066         wchar: Diagnose broken combination of glibc and gcc versions and flags.
37067         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
37068         (gl_WCHAR_H): Invoke it.
37069         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
37070         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
37071         Reported by Karl Berry <karl@freefriends.org>.
37072
37073 2009-12-22  Eric Blake  <ebb9@byu.net>
37074
37075         math, unistd: avoid redundant includes
37076         * lib/math.in.h (isnan): No need to re-include <math.h>.
37077         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
37078
37079         getsubopt: work around cygwin bug
37080         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
37081         avoid conflicting with system getsubopt.
37082         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
37083         bug.
37084
37085         getopt: synchronize from glibc
37086         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
37087         parameter order.  Adjust all callers.
37088         (_getopt_internal_r, main): Adjust quoting in error messages.
37089         Drop considerations for outdated POSIX 1003.2 error message.
37090         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
37091         callers.
37092         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
37093
37094         test-getopt: test stderr behavior
37095         * modules/getopt-posix-tests (Depends-on): Add dup2.
37096         * tests/test-getopt.c (ASSERT): Avoid stderr.
37097         (main): Move stderr to a temporary file.
37098         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
37099         Instead, add parameter to inform caller if output occurred.
37100         (test_getopt): Adjust all existing tests to expect silence, and
37101         add new tests of leading ":".
37102         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
37103         glibc shortcomings with leading "-:" or "+:" in optstring.
37104         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
37105         Likewise.
37106         * doc/posix-functions/getopt.texi (getopt): Likewise.
37107
37108         test-getopt: enhance test
37109         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
37110         supports optind=0.
37111         * tests/test-getopt.c (OPTIND_MIN): Move...
37112         * tests/test-getopt.h (OPTIND_MIN): ...here.
37113         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
37114         Require that optind=0 works, since modern BSD supports it in
37115         addition to optreset, and since coreutils expects it.
37116         (test_getopt_long_only): New test.
37117         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
37118         glibc shortcomings with 'W;', and enforcement of optind=0.
37119         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
37120         Likewise.
37121
37122 2009-12-21  Bruno Haible  <bruno@clisp.org>
37123
37124         localename: Improvements for MacOS X and Cygwin.
37125         * lib/localename.h (gl_locale_name_environ): New declaration.
37126         * lib/localename.c (gl_locale_name_environ): New function, extracted from
37127         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
37128         (gl_locale_name_posix): Invoke it.
37129         (gl_locale_name_default): Add comments. Use Windows native API also on
37130         Cygwin.
37131
37132 2009-12-21  Bruno Haible  <bruno@clisp.org>
37133
37134         Update list of Win32 locale ids.
37135         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
37136         (LANG_SAMI): Renamed from LANG_SAAMI.
37137         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
37138         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
37139         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
37140         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
37141         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
37142         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
37143         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
37144         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
37145         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
37146         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
37147         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
37148         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
37149         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
37150         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
37151         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
37152         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
37153         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
37154         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
37155         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
37156         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
37157         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
37158         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
37159         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
37160         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
37161         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
37162         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
37163         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
37164         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
37165         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
37166         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
37167         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
37168         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
37169         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
37170         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
37171         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
37172         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
37173         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
37174         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
37175         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
37176         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
37177         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
37178         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
37179         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
37180         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
37181         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
37182         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
37183         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
37184         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
37185         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
37186         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
37187         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
37188         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
37189         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
37190         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
37191         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
37192         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
37193         Add more languages and countries for Sami, Sorbian. Add more countries
37194         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
37195         for Pashto. Change country for Syriac, Tswana.
37196
37197 2009-12-21  Eric Blake  <ebb9@byu.net>
37198
37199         test-utimens: avoid spurious failure
37200         * tests/test-chown.h (nap): Factor...
37201         * tests/nap.h: ...into new file.
37202         * tests/test-lchown.h (nap): Avoid duplication.
37203         * tests/test-utimens-common.h (nap): Use shared implementation,
37204         necessary on file systems with 1-second resolution.
37205         * modules/chown-tests (Files): Include new file.
37206         * modules/fdutimensat-tests (Files): Likewise.
37207         * modules/futimens-tests (Files): Likewise.
37208         * modules/lchown-tests (Files): Likewise.
37209         * modules/openat-tests (Files): Likewise.
37210         * modules/utimens-tests (Files): Likewise.
37211         * modules/utimensat-tests (Files): Likewise.
37212
37213 2009-12-19  Eric Blake  <ebb9@byu.net>
37214
37215         futimens, utimensat: work around Linux bug
37216         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
37217         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
37218         * lib/utimensat.c (rpl_utimensat): Work around it.
37219         * lib/futimens.c (rpl_futimens): Adjust comment.
37220
37221         utimens: work around Linux ctime bug
37222         * lib/utimens.c (detect_ctime_bug): New helper function.
37223         (update_timespec): Differentiate between workaround needed for
37224         this bug vs. what is needed for systems that lack utimensat.
37225         (fdutimens, lutimens): Work around bug.
37226
37227         utimens: check for ctime update
37228         * tests/test-utimens-common.h (check_ctime): Define.
37229         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
37230         * tests/test-futimens.h (test_futimens): Likewise.
37231         * tests/test-lutimens.h (test_lutimens): Likewise.
37232         * doc/posix-functions/futimens.texi (futimens): Document the bug.
37233         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
37234
37235 2009-12-19  Bruno Haible  <bruno@clisp.org>
37236
37237         dprintf-posix: Check against memory leak fixed on 2009-12-15.
37238         * tests/test-dprintf-posix2.sh: New file.
37239         * tests/test-dprintf-posix2.c: New file.
37240         * modules/dprintf-posix-tests (Files): Add them.
37241         (configure.ac): Check for getrlimit and setrlimit.
37242         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
37243
37244 2009-12-19  Bruno Haible  <bruno@clisp.org>
37245
37246         fprintf-posix: Check against memory leak fixed on 2009-12-15.
37247         * tests/test-fprintf-posix3.sh: New file.
37248         * tests/test-fprintf-posix3.c: New file.
37249         * modules/fprintf-posix-tests (Files): Add them.
37250         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
37251
37252 2009-12-19  Eric Blake  <ebb9@byu.net>
37253
37254         dirfd: fix prototype
37255         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
37256         * lib/dirfd.c (dirfd): Likewise.
37257
37258         canonicalize: reduce memory usage
37259         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
37260         allocation to size.
37261         Reported by Solar Designer <solar@openwall.com>.
37262
37263 2009-12-19  Bruno Haible  <bruno@clisp.org>
37264
37265         New module attribute 'Applicability'.
37266         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
37267         * gnulib-tool: New option --extract-applicability.
37268         (func_usage): Document it.
37269         (sed_extract_prog): Recognize it.
37270         (func_get_applicability): New function.
37271         (func_import): Generalize handling of 'link-warning' module.
37272         * modules/link-warning (Applicability): New section.
37273         * modules/arg-nonnull (Applicability): New section.
37274         Repoted by Simon Josefsson <simon@josefsson.org>.
37275
37276 2009-12-19  Bruno Haible  <bruno@clisp.org>
37277
37278         fflush: tweak
37279         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
37280         * lib/fseeko.c (rpl_fseeko): Likewise.
37281
37282 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
37283
37284         * lib/gl_list.h: Fix typo in comment.
37285
37286 2009-12-16  Eric Blake  <ebb9@byu.net>
37287
37288         fcntl: use to simplify other modules
37289         * modules/cloexec (Depends-on): Add fcntl.
37290         * modules/fchdir (Depends-on): Likewise.
37291         * modules/fd-safer-flag (Depends-on): Likewise.
37292         * modules/unistd-safer (Depends-on): Likewise.
37293         * modules/dup3 (configure.ac): Set module indicator.
37294         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
37295         missing.
37296         * lib/fchdir.c (_gl_register_dup): Fix comment.
37297         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
37298         * lib/dup-safer.c (dup_safer): Likewise.
37299         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
37300         * lib/dup3.c (dup3): Likewise.
37301         * tests/test-fchdir.c (main): Enhance test.
37302         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
37303
37304         fcntl: port portions of fcntl to mingw
37305         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
37306         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
37307         replacement for mingw.
37308         * modules/fcntl (Description): Update.
37309         (Depends-on): Add dup2.
37310         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
37311         * modules/fcntl-h (Makefile.am): Substitute it.
37312         * lib/fcntl.in.h (fcntl): Update declaration.
37313         (F_DUPFD, F_GETFD): New macros, when needed.
37314         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
37315         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
37316         * tests/test-fcntl.c (check_flags, main): Enhance test for items
37317         we now guarantee.
37318
37319         fcntl: work around cygwin bug in F_DUPFD
37320         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
37321         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
37322         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
37323         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
37324         * doc/posix-functions/fcntl.texi (fcntl): Document it.
37325
37326         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
37327         * modules/fcntl (Files): List new files.
37328         (configure.ac): Run a test.
37329         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
37330         * lib/fcntl.c (rpl_fcntl): Likewise.
37331         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
37332         (gl_FCNTL_H): Always replace fcntl.h.
37333         * modules/fcntl-h (Makefile.am): Substitute witnesses.
37334         * lib/fcntl.in.h (fcntl): Declare replacement.
37335         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
37336         needed, plus a witness.
37337         * doc/posix-functions/fcntl.texi (fcntl): Document this.
37338         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
37339         * tests/test-fcntl.c: New file.
37340         * modules/fcntl-tests: Likewise.
37341
37342         binary-io: avoid potential compilation warning
37343         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
37344         directives.
37345
37346         fflush: avoid compilation error on NetBSD
37347         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
37348         between off_t and fpos_t, since the latter is sometimes a struct.
37349         * lib/fseeko.c (rpl_fseeko): Likewise.
37350         Reported by Alexander Nasonov <alnsn@yandex.ru>.
37351
37352 2009-12-15  Eric Blake  <ebb9@byu.net>
37353
37354         fcntl-h, stdio, sys_ioctl: fix declarations
37355         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
37356         function must not take arguments.
37357         * lib/sys_ioctl.in.h (ioctl): Likewise.
37358         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
37359         (open): Add a link warning.
37360
37361 2009-12-15  Jim Meyering  <meyering@redhat.com>
37362
37363         areadlink, areadlink-with-size: relax license to LGPLv2+
37364         * modules/areadlink (License): Relax to LGPLv2+.
37365         * modules/areadlink-with-size (License): Likewise.
37366
37367 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
37368             Bruno Haible  <bruno@clisp.org>
37369
37370         *printf: Fix memory leak.
37371         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
37372         * lib/vfprintf.c (vfprintf): Likewise.
37373         * lib/dprintf.c (dprintf): Likewise.
37374         * lib/vdprintf.c (vdprintf): Likewise.
37375
37376 2009-12-14  Eric Blake  <ebb9@byu.net>
37377
37378         accept4: adjust module dependencies
37379         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
37380
37381         utimens: one more try at avoiding compiler warning
37382         * lib/utimens.c (lutimens): Lower scope of result.
37383
37384 2009-12-13  Bruno Haible  <bruno@clisp.org>
37385
37386         Move the malloc checking from module 'list' to new module 'xlist'.
37387         * modules/xlist: New file.
37388         * lib/gl_xlist.h: New file.
37389         * lib/gl_xlist.c: New file.
37390         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
37391         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
37392         gl_list_add_last, gl_list_add_before, gl_list_add_after,
37393         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
37394         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
37395         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
37396         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
37397         gl_sortedlist_nx_add): New declarations.
37398         (struct gl_list_implementation): Rename and change methods accordingly.
37399         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
37400         (gl_list_nx_create): Renamed from gl_list_create.
37401         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
37402         (gl_list_nx_set_at): Renamed from gl_list_set_at.
37403         (gl_list_nx_add_first): Renamed from gl_list_add_first.
37404         (gl_list_nx_add_last): Renamed from gl_list_add_last.
37405         (gl_list_nx_add_before): Renamed from gl_list_add_before.
37406         (gl_list_nx_add_after): Renamed from gl_list_add_after.
37407         (gl_list_nx_add_at): Renamed from gl_list_add_at.
37408         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
37409         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
37410         gl_list_create_empty.
37411         (gl_list_nx_create): Renamed from gl_list_create.
37412         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
37413         (gl_list_nx_set_at): Renamed from gl_list_set_at.
37414         (gl_list_nx_add_first): Renamed from gl_list_add_first.
37415         (gl_list_nx_add_last): Renamed from gl_list_add_last.
37416         (gl_list_nx_add_before): Renamed from gl_list_add_before.
37417         (gl_list_nx_add_after): Renamed from gl_list_add_after.
37418         (gl_list_nx_add_at): Renamed from gl_list_add_at.
37419         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
37420         * lib/gl_array_list.c: Don't include xalloc.h.
37421         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
37422         NULL upon out-of-memory.
37423         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
37424         out-of-memory.
37425         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
37426         Change return type to 'int'.
37427         (gl_array_nx_set_at): Renamed from gl_array_set_at.
37428         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
37429         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
37430         upon out-of-memory.
37431         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
37432         upon out-of-memory.
37433         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
37434         upon out-of-memory.
37435         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
37436         upon out-of-memory.
37437         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
37438         out-of-memory.
37439         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
37440         Update.
37441         (gl_array_list_implementation): Update.
37442         * lib/gl_carray_list.c: Don't include xalloc.h.
37443         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
37444         Return NULL upon out-of-memory.
37445         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
37446         out-of-memory.
37447         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
37448         Change return type to 'int'.
37449         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
37450         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
37451         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
37452         upon out-of-memory.
37453         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
37454         upon out-of-memory.
37455         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
37456         out-of-memory.
37457         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
37458         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
37459         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
37460         Update.
37461         (gl_carray_list_implementation): Update.
37462         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
37463         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
37464         gl_linked_create_empty. Return NULL upon out-of-memory.
37465         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
37466         out-of-memory.
37467         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
37468         Change return type to 'int'. Return -1 upon out-of-memory.
37469         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
37470         out-of-memory.
37471         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
37472         upon out-of-memory.
37473         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
37474         upon out-of-memory.
37475         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
37476         NULL upon out-of-memory.
37477         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
37478         upon out-of-memory.
37479         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
37480         out-of-memory.
37481         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
37482         Update.
37483         * lib/gl_linked_list.c: Don't include xalloc.h.
37484         (gl_linked_list_implementation): Update.
37485         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
37486         (add_to_bucket): Change return type to 'int'.
37487         (gl_linkedhash_list_implementation): Update.
37488         * lib/gl_anytree_list1.h (free_subtree): New function.
37489         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
37490         gl_tree_create_empty. Return NULL upon out-of-memory.
37491         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
37492         Change return type to 'int'. Return -1 upon out-of-memory.
37493         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
37494         out-of-memory.
37495         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
37496         (gl_tree_remove_node): New function, moved here from
37497         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
37498         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
37499         Update.
37500         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
37501         malloc, not xmalloc. Return NULL upon out-of-memory.
37502         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
37503         out-of-memory.
37504         (gl_tree_remove_node_from_tree): New function, extracted from
37505         gl_tree_remove_node.
37506         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
37507         upon out-of-memory.
37508         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
37509         out-of-memory.
37510         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
37511         upon out-of-memory.
37512         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
37513         upon out-of-memory.
37514         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
37515         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
37516         not xmalloc. Return NULL upon out-of-memory.
37517         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
37518         out-of-memory.
37519         (gl_tree_remove_node_from_tree): New function, extracted from
37520         gl_tree_remove_node.
37521         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
37522         upon out-of-memory.
37523         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
37524         out-of-memory.
37525         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
37526         upon out-of-memory.
37527         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
37528         upon out-of-memory.
37529         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
37530         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
37531         gl_anytree_list1.h before gl_anyavltree_list2.h.
37532         (gl_avltree_list_implementation): Update.
37533         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
37534         gl_anytree_list1.h before gl_anyavltree_list2.h.
37535         (gl_rbtree_list_implementation): Update.
37536         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
37537         Change return type to 'int'. Return -1 upon out-of-memory. Use
37538         __builtin_expect.
37539         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
37540         (gl_avltreehash_list_implementation): Update.
37541         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
37542         (gl_rbtreehash_list_implementation): Update.
37543         * modules/array-list (Depends-on): Remove xalloc.
37544         * modules/carray-list (Depends-on): Likewise.
37545         * modules/linked-list (Depends-on): Likewise.
37546         * modules/linkedhash-list (Depends-on): Likewise.
37547         * modules/avltree-list (Depends-on): Likewise.
37548         * modules/rbtree-list (Depends-on): Likewise.
37549         * modules/avltreehash-list (Depends-on): Likewise.
37550         * modules/rbtreehash-list (Depends-on): Likewise.
37551
37552         * modules/xsublist: New file.
37553         * lib/gl_xsublist.h: New file.
37554         * lib/gl_xsublist.c: New file.
37555         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
37556         (gl_sublist_nx_create): New declaration.
37557         * lib/gl_sublist.c: Don't include xalloc.h.
37558         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
37559         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
37560         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
37561         Change return type to 'int'. Return -1 upon out-of-memory.
37562         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
37563         upon out-of-memory.
37564         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
37565         NULL upon out-of-memory.
37566         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
37567         upon out-of-memory.
37568         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
37569         NULL upon out-of-memory.
37570         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
37571         NULL upon out-of-memory.
37572         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
37573         upon out-of-memory.
37574         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
37575         (gl_sublist_list_implementation): Update.
37576         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
37577         upon out-of-memory.
37578         * modules/sublist (Depends-on): Remove xalloc.
37579
37580         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
37581         * tests/test-carray_list.c: Likewise.
37582         * tests/test-linked_list.c: Likewise.
37583         * tests/test-linkedhash_list.c: Likewise.
37584         * tests/test-avltree_list.c: Likewise.
37585         * tests/test-rbtree_list.c: Likewise.
37586         * tests/test-avltreehash_list.c: Likewise.
37587         * tests/test-rbtreehash_list.c: Likewise.
37588         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
37589         * modules/carray-list-tests (Makefile.am): Likewise.
37590         * modules/linked-list-tests (Makefile.am): Likewise.
37591         * modules/linkedhash-list-tests (Makefile.am): Likewise.
37592         * modules/avltree-list-tests (Makefile.am): Likewise.
37593         * modules/rbtree-list-tests (Makefile.am): Likewise.
37594         * modules/avltreehash-list-tests (Makefile.am): Likewise.
37595         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
37596
37597         * NEWS: Mention the changes.
37598
37599         * lib/clean-temp.c: Include gl_xlist.h.
37600         * modules/clean-temp (Depends-on): Add xlist.
37601
37602         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
37603         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
37604
37605         * tests/test-array_oset.c: Include gl_xlist.h.
37606         * modules/array-oset-tests (Depends-on): Add xlist.
37607
37608         Reported by José E. Marchesi <jemarch@gnu.org>.
37609
37610 2009-12-13  Bruno Haible  <bruno@clisp.org>
37611
37612         Move the malloc checking from module 'oset' to new module 'xoset'.
37613         * modules/xoset: New file.
37614         * lib/gl_xoset.h: New file.
37615         * lib/gl_xoset.c: New file.
37616         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
37617         declarations.
37618         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
37619         (struct gl_oset_implementation): Rename and change methods accordingly.
37620         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
37621         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
37622         'int'. Mark as __warn_unused_result__.
37623         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
37624         gl_oset_create_empty.
37625         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
37626         'int'.
37627         * lib/gl_array_oset.c: Don't include xalloc.h.
37628         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
37629         malloc, not xmalloc.
37630         (grow): Change return type to 'int'. Don't call xalloc_die.
37631         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
37632         to 'int'.
37633         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
37634         'int'.
37635         (gl_array_oset_implementation): Update.
37636         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
37637         gl_tree_create_empty.
37638         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
37639         'int'.
37640         * lib/gl_avltree_oset.c: Don't include xalloc.h.
37641         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
37642         xmalloc.
37643         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
37644         not xmalloc.
37645         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
37646         xmalloc.
37647         (gl_avltree_oset_implementation): Update.
37648         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
37649         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
37650         xmalloc.
37651         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
37652         not xmalloc.
37653         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
37654         xmalloc.
37655         (gl_rbtree_oset_implementation): Update.
37656         * modules/array-oset (Depends-on): Remove xalloc.
37657         * modules/avltree-oset (Depends-on): Likewise.
37658         * modules/rbtree-oset (Depends-on): Likewise.
37659         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
37660         * tests/test-avltree_oset.c: Likewise.
37661         * tests/test-rbtree_oset.c: Likewise.
37662         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
37663         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
37664         * modules/rbtree-oset-tests (Makefile.am): Likewise.
37665         * NEWS: Mention the change.
37666
37667 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
37668
37669         maint.mk: allow a project to override release-prep commands
37670         * top/maint.mk (alpha, beta, stable): Move release-preparatory
37671         commands into a new rule.
37672         (release-prep): New rule.
37673         (release-prep-hook): New overridable variable.
37674
37675 2009-12-13  Bruno Haible  <bruno@clisp.org>
37676
37677         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
37678
37679 2009-12-13  Jim Meyering  <meyering@redhat.com>
37680
37681         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
37682         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
37683
37684 2009-12-12  Bruno Haible  <bruno@clisp.org>
37685
37686         duplocale: Tweak.
37687         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
37688
37689 2009-12-12  Karl Berry  <karl@gnu.org>
37690
37691         * config/srclist.txt (strtoll.c): tab changes, no more sync.
37692
37693 2009-12-12  Bruno Haible  <bruno@clisp.org>
37694
37695         * m4/po.m4: Undo incorrect untabification.
37696
37697 2009-12-12  Bruno Haible  <bruno@clisp.org>
37698
37699         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
37700         * modules/c-strtod (Depends-on): Add locale.
37701         * modules/c-strtold (Depends-on): Likewise.
37702
37703 2009-12-12  Bruno Haible  <bruno@clisp.org>
37704
37705         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
37706
37707 2009-12-11  Eric Blake  <ebb9@byu.net>
37708
37709         setenv: relax requirement in light of POSIX ruling
37710         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
37711         not NULL.
37712         * tests/test-setenv.c (main): Relax test.
37713         * tests/test-unsetenv.c (main): Likewise.
37714         * doc/posix-functions/setenv.texi (setenv): Document this.
37715         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
37716
37717 2009-12-11  Bruno Haible  <bruno@clisp.org>
37718
37719         New module 'fd-safer-flag'.
37720         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
37721         * lib/dup-safer.c (dup_safer_flag): Remove function.
37722         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
37723         * lib/fd-safer.c (fd_safer_flag): Remove function.
37724         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
37725         * modules/cloexec (configure.ac): Drop indicator macro.
37726         * modules/fd-safer-flag: New file.
37727         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
37728         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
37729         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
37730
37731 2009-12-11  Bruno Haible  <bruno@clisp.org>
37732
37733         Tests for module 'nl_langinfo'.
37734         * modules/nl_langinfo-tests: New file.
37735         * tests/test-nl_langinfo.sh: New file.
37736         * tests/test-nl_langinfo.c: New file.
37737
37738         New module 'nl_langinfo'.
37739         * lib/nl_langinfo.c: New file.
37740         * m4/nl_langinfo.m4: New file.
37741         * modules/nl_langinfo: New file.
37742         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
37743
37744 2009-12-11  Bruno Haible  <bruno@clisp.org>
37745
37746         Tests for module 'langinfo'.
37747         * modules/langinfo-tests: New file.
37748         * tests/test-langinfo.c: New file.
37749
37750         New module 'langinfo'.
37751         * lib/langinfo.in.h: New file.
37752         * m4/langinfo_h.m4: New file.
37753         * modules/langinfo: New file.
37754         * doc/posix-headers/langinfo.texi: Mention the new module.
37755
37756 2009-12-11  Bruno Haible  <bruno@clisp.org>
37757
37758         * lib/config.charset: Untabify.
37759
37760 2009-12-11  Bruno Haible  <bruno@clisp.org>
37761
37762         * modules/unistd-safer (configure.ac): Drop indicator macro.
37763
37764 2009-12-11  Bruno Haible  <bruno@clisp.org>
37765
37766         Move pipe2-safer code to its own file.
37767         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
37768         * lib/pipe-safer.c (pipe2_safer): Remove function.
37769         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
37770         (Makefile.am): Add it to lib_SOURCES.
37771
37772 2009-12-10  Bruno Haible  <bruno@clisp.org>
37773
37774         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
37775
37776 2009-12-10  Bruno Haible  <bruno@clisp.org>
37777
37778         Declare which arguments expect non-NULL values, for GCC and clang.
37779         * build-aux/arg-nonnull.h: New file.
37780         * modules/arg-nonnull: New file.
37781         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
37782         (inet_ntop, inet_pton): Use it.
37783         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
37784         (closedir, dirfd, opendir, scandir, alphasort): Use it.
37785         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
37786         (open, openat): Use it.
37787         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
37788         (fnmatch): Use it.
37789         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
37790         (getopt, getopt_long, getopt_long_only): Use it.
37791         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
37792         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
37793         Use it.
37794         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
37795         (iconv_open): Use it.
37796         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
37797         (strtoimax, strtoumax): Use it.
37798         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
37799         (duplocale): Use it.
37800         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
37801         (frexp, frexpl): Use it.
37802         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
37803         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
37804         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
37805         (tsearch, tfind, tdelete, twalk): Use it.
37806         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
37807         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
37808         sigpending): Use it.
37809         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
37810         (posix_spawn, posix_spawnp, posix_spawnattr_init,
37811         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
37812         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
37813         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
37814         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
37815         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
37816         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
37817         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
37818         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
37819         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
37820         Use it.
37821         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
37822         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
37823         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
37824         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
37825         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
37826         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
37827         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
37828         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
37829         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
37830         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
37831         strtoull, unsetenv): Use it.
37832         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
37833         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
37834         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
37835         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
37836         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
37837         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
37838         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
37839         (strcasecmp, strncasecmp): Use it.
37840         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
37841         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
37842         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
37843         rpl_setsockopt): Use it.
37844         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
37845         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
37846         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
37847         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
37848         (gettimeofday): Use it.
37849         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
37850         (times): Use it.
37851         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
37852         (uname): Use it.
37853         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
37854         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
37855         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
37856         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
37857         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
37858         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
37859         unlinkat, write): Use it.
37860         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
37861         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
37862         * lib/argv-iter.h: Include arg-nonnull.h.
37863         (_ATTRIBUTE_NONNULL_): Remove macro.
37864         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
37865         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
37866         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
37867         optimization.
37868         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
37869         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
37870         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
37871         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
37872         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
37873         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
37874         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
37875         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
37876         * modules/arpa_inet (Depends-on): Add arg-nonnull.
37877         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
37878         * modules/dirent (Depends-on): Add arg-nonnull.
37879         (Makefile.am): Insert arg-nonnull.h into dirent.h.
37880         * modules/fcntl-h (Depends-on): Add arg-nonnull.
37881         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
37882         * modules/fnmatch (Depends-on): Add arg-nonnull.
37883         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
37884         * modules/getopt-posix (Depends-on): Add arg-nonnull.
37885         (Makefile.am): Insert arg-nonnull.h into getopt.h.
37886         * modules/glob (Depends-on): Add arg-nonnull.
37887         (Makefile.am): Insert arg-nonnull.h into glob.h.
37888         * modules/iconv_open (Depends-on): Add arg-nonnull.
37889         (Makefile.am): Insert arg-nonnull.h into iconv.h.
37890         * modules/inttypes (Depends-on): Add arg-nonnull.
37891         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
37892         * modules/locale (Depends-on): Add arg-nonnull.
37893         (Makefile.am): Insert arg-nonnull.h into locale.h.
37894         * modules/math (Depends-on): Add arg-nonnull.
37895         (Makefile.am): Insert arg-nonnull.h into math.h.
37896         * modules/netdb (Depends-on): Add arg-nonnull.
37897         (Makefile.am): Insert arg-nonnull.h into netdb.h.
37898         * modules/search (Depends-on): Add arg-nonnull.
37899         (Makefile.am): Insert arg-nonnull.h into search.h.
37900         * modules/signal (Depends-on): Add arg-nonnull.
37901         (Makefile.am): Insert arg-nonnull.h into signal.h.
37902         * modules/spawn (Depends-on): Add arg-nonnull.
37903         (Makefile.am): Insert arg-nonnull.h into spawn.h.
37904         * modules/stdio (Depends-on): Add arg-nonnull.
37905         (Makefile.am): Insert arg-nonnull.h into stdio.h.
37906         * modules/stdlib (Depends-on): Add arg-nonnull.
37907         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
37908         * modules/string (Depends-on): Add arg-nonnull.
37909         (Makefile.am): Insert arg-nonnull.h into string.h.
37910         * modules/strings (Depends-on): Add arg-nonnull.
37911         (Makefile.am): Insert arg-nonnull.h into strings.h.
37912         * modules/sys_socket (Depends-on): Add arg-nonnull.
37913         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
37914         * modules/sys_stat (Depends-on): Add arg-nonnull.
37915         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
37916         * modules/sys_time (Depends-on): Add arg-nonnull.
37917         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
37918         * modules/sys_times (Depends-on): Add arg-nonnull.
37919         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
37920         * modules/sys_utsname (Depends-on): Add arg-nonnull.
37921         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
37922         * modules/time (Depends-on): Add arg-nonnull.
37923         (Makefile.am): Insert arg-nonnull.h into time.h.
37924         * modules/unistd (Depends-on): Add arg-nonnull.
37925         (Makefile.am): Insert arg-nonnull.h into unistd.h.
37926         * modules/wchar (Depends-on): Add arg-nonnull.
37927         (Makefile.am): Insert arg-nonnull.h into wchar.h.
37928         * modules/argv-iter (Depends-on): Add arg-nonnull.
37929         * tests/test-canonicalize.c (null_ptr): New function.
37930         (main): Use it.
37931         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
37932         (main): Use it.
37933         * tests/test-memmem.c (null_ptr): New function.
37934         (main): Use it.
37935         Reported by Jim Meyering.
37936
37937 2009-12-10  Bruno Haible  <bruno@clisp.org>
37938
37939         Use spaces for indentation, not tabs.
37940         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
37941         * m4/*.m4: Untabify.
37942         * build-aux/*.h: Untabify.
37943         * tests/**/*.[hc]: Untabify.
37944         * README: New section "Indent with spaces, not TABs", based on
37945         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
37946         * NEWS: Mention the change.
37947
37948 2009-12-10  Bruno Haible  <bruno@clisp.org>
37949
37950         pty test: Fix link error.
37951         * modules/pty-tests (Makefile.am): Add the default LDADD value to
37952         test_pty_LDADD.
37953
37954 2009-12-07  Simon Josefsson  <simon@josefsson.org>
37955
37956         * modules/pty: New file.
37957         * modules/pty-tests: New file.
37958         * m4/pty.m4: New file.
37959         * tests/test-pty.c: New file.
37960         * doc/glibc-headers/pty.texi: Modified.
37961         * doc/glibc-functions/forkpty.texi: Modified.
37962         * doc/glibc-functions/openpty.texi: Modified.
37963
37964 2009-12-10  Bruno Haible  <bruno@clisp.org>
37965
37966         Avoid syntax error in C++ mode.
37967         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
37968
37969 2009-12-10  Bruno Haible  <bruno@clisp.org>
37970
37971         Use sed with option -e.
37972         * gnulib-tool (func_version, func_emit_copyright_notice,
37973         func_emit_initmacro_end, func_import, func_create_testdir): Pass
37974         option -e to sed.
37975         * modules/link-warning (Makefile.am): Likewise.
37976
37977 2009-12-10  Jim Meyering  <meyering@redhat.com>
37978
37979         mgetgroups: do not write bytes beyond end of malloc'd buffer
37980         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
37981         username, we call getgroups with a one-element-shorter buffer,
37982         but still told it the length was original, max_n_groups.
37983
37984 2009-12-09  Eric Blake  <ebb9@byu.net>
37985
37986         cloexec: relax license
37987         * modules/cloexec (Maintainer): Add myself.
37988         (License): Use LGPL, not GPL.
37989
37990         link-warning: optimize generation
37991         * modules/link-warning (Makefile.am): Reduce process usage.
37992
37993 2009-12-09  Bruno Haible  <bruno@clisp.org>
37994
37995         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
37996         workaround was added on 2009-11-17.
37997
37998 2009-12-09  Jim Meyering  <meyering@redhat.com>
37999             Bruno Haible  <bruno@clisp.org>
38000
38001         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
38002         * modules/link-warning (Makefile.am): Make the comment-removing sed
38003         command more robust in the face of bootstrap-prepended comment lines.
38004
38005 2009-12-09  Bruno Haible  <bruno@clisp.org>
38006
38007         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
38008         most one group.
38009
38010 2009-12-09  Simon Josefsson <simon@josefsson.org>
38011             Bruno Haible  <bruno@clisp.org>
38012
38013         * build-aux/link-warning.h: Add copyright notice.
38014         * modules/link-warning (Makefile.am): Generate link-warning.h from
38015         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
38016         * NEWS: Mention change in link-warning module.
38017         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
38018         * modules/dirent (Makefile.am): Add dependency to dirent.h.
38019         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
38020         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
38021         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
38022         * modules/math (Makefile.am): Add dependency to math.h.
38023         * modules/search (Makefile.am): Add dependency to search.h.
38024         * modules/signal (Makefile.am): Add dependency to signal.h.
38025         * modules/spawn (Makefile.am): Add dependency to spawn.h.
38026         * modules/stdio (Makefile.am): Add dependency to stdio.h.
38027         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
38028         * modules/string (Makefile.am): Add dependency to string.h.
38029         * modules/strings (Makefile.am): Add dependency to strings.h.
38030         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
38031         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
38032         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
38033         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
38034         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
38035         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
38036         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
38037         * modules/unistd (Makefile.am): Add dependency to unistd.h.
38038         * modules/wchar (Makefile.am): Add dependency to wchar.h.
38039
38040 2009-12-09  Bruno Haible  <bruno@clisp.org>
38041
38042         fchdir: Optimize away rpl_fstat when possible.
38043         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
38044         REPLACE_OPEN_DIRECTORY.
38045         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
38046
38047 2009-12-09  Bruno Haible  <bruno@clisp.org>
38048
38049         * lib/fchdir.c: Update comment.
38050
38051 2009-12-09  Bruno Haible  <bruno@clisp.org>
38052
38053         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
38054
38055 2009-12-08  Eric Blake  <ebb9@byu.net>
38056
38057         fchdir: avoid memory leak on re-registration.
38058         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
38059
38060 2009-12-08  Jim Meyering  <meyering@redhat.com>
38061
38062         init.sh: avoid Solaris 10 /bin/sh portability problem
38063         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
38064         sourced script:
38065           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
38066           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
38067           bar
38068         tests/init.sh relied on that, accepting a --set-path=DIR argument,
38069         and two tests used that idiom.
38070         * tests/init.sh: Update suggested usage comments.
38071         (path_prepend_): New function, to be used in place
38072         of the --src-path=DIR option.
38073         (setup_): Move PATH-prepending code into path_prepend_.
38074         * tests/test-pread.sh: Adapt to new usage.
38075         * tests/test-xalloc-die.sh: Likewise.
38076
38077 2009-12-08  Simon Josefsson  <simon@josefsson.org>
38078
38079         * doc/gnulib.texi (Glibc pty.h): Add.
38080         * doc/glibc-functions/forkpty.texi: Add.
38081         * doc/glibc-functions/openpty.texi: Add.
38082         Suggested by Bruno Haible.
38083
38084 2009-12-08  Eric Blake  <ebb9@byu.net>
38085
38086         fchdir: fix logic bugs
38087         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
38088         * tests/test-fchdir.c (main): Enhance test.
38089         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
38090         is in use.
38091
38092         dup2: fix logic bugs
38093         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
38094         REPLACE_DUP2 to decide when rpl_dup2 is needed.
38095         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
38096         exists.
38097         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
38098
38099 2009-12-07  Eric Blake  <ebb9@byu.net>
38100
38101         unlink: fix m4 detection
38102         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
38103
38104         unistd-safer: add unit test
38105         * modules/unistd-safer-tests: New file.
38106         * tests/test-dup-safer.c: Likewise.
38107         * tests/test-cloexec.c (setmode): Avoid compiler warning.
38108         * tests/test-dup2.c (setmode): Likewise.
38109         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
38110
38111         cloexec: preserve text vs. binary across dup_cloexec
38112         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
38113         mode.
38114         * modules/dup2-tests (Depends-on): Add binary-io.
38115         * modules/cloexec-tests (Depends-on): Likewise.
38116         * tests/test-dup2.c (setmode, is_mode): New helpers.
38117         (main): Add tests that translation mode is preserved.
38118         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
38119         Reported by Bruno Haible.
38120
38121         mgetgroups: reduce duplicate listings
38122         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
38123         resulting array.
38124         * tests/test-chown.h (test_chown): Simplify client.
38125         * tests/test-lchown.h (test_lchown): Likewise.
38126
38127 2009-12-06  Bruno Haible  <bruno@clisp.org>
38128
38129         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
38130         value.
38131
38132 2009-12-06  Bruno Haible  <bruno@clisp.org>
38133
38134         * lib/progname.c: Include stdio.h, stdlib.h.
38135         (set_program_name): Reject a NULL argument.
38136
38137 2009-12-05  Eric Blake  <ebb9@byu.net>
38138
38139         pipe2-safer: new module
38140         * modules/pipe2-safer: New file.
38141         * lib/unistd-safer.h (pipe2_safer): New prototype.
38142         * lib/unistd--.h (pipe2): New wrapper.
38143         * lib/pipe-safer.c (pipe2_safer): New function.
38144         * modules/pipe (Depends-on): Add pipe2-safer.
38145         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
38146
38147         stdlib-safer: preserve cloexec flag for mkostemp[s]
38148         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
38149         fd_safer_flag.
38150
38151         unistd-safer: allow preservation of cloexec status via flag
38152         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
38153         prototypes.
38154         * lib/dup-safer.c (dup_safer_flag): New function.
38155         * lib/fd-safer.c (fd_safer_flag): Likewise.
38156         * modules/cloexec (configure.ac): Set witness.
38157
38158         test-dup2: enhance test
38159         * modules/dup2-tests (Depends-on): Add cloexec.
38160         * tests/test-dup2.c (main): Enhance test.
38161
38162         cloexec: add dup_cloexec
38163         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
38164         header and comments.
38165         * lib/cloexec.c (set_cloexec_flag): Add comments.
38166         (dup_cloexec): New function, with mingw implementation borrowed
38167         from...
38168         * lib/w32spawn.h (dup_noinherit): ...here.
38169         * modules/execute (Depends-on): Add cloexec.
38170         * modules/pipe (Depends-on): Likewise.
38171         * modules/cloexec (Depends-on): Add dup2.
38172         * modules/cloexec-tests (Files): New file.
38173         * tests/test-cloexec.c: Likewise.
38174
38175         test-xalloc-die: fix test for mingw
38176         * modules/xalloc-die-tests (Files): Add tests/init.sh.
38177         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
38178         directory and .exe suffix off argv[0] output.
38179
38180         test-fseeko: fix test for mingw
38181         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
38182         than undefining fseek, so test will pass on mingw.
38183
38184 2009-12-05  Bruno Haible  <bruno@clisp.org>
38185
38186         * lib/progname.h (set_program_name): Clarify specification.
38187         * lib/progname.c (set_program_name): Likewise.
38188         Reported by Jim Meyering.
38189
38190 2009-12-05  Jim Meyering  <meyering@redhat.com>
38191
38192         maint.mk: backslash-escape parens in default regexp
38193         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
38194         backslash-escape the literal parentheses.
38195
38196         maint.mk: news-date-check: use grep -E
38197         * top/maint.mk (today): Define a Make variable, not a...
38198         (news-date-check): ...shell variable.
38199         (news-date-regexp): Use the Make variable.
38200         Use grep's -E option.  Change the failing diagnostic to mention
38201         the variable, $(news-date-regexp).
38202
38203 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
38204
38205         maintainer-makefile: allow customization of NEWS entry format
38206         * top/maint.mk (news-date-regexp): New overridable variable.
38207         (news-date-check): Use it.
38208
38209 2009-12-04  Eric Blake  <ebb9@byu.net>
38210
38211         mgetgroups: add xgetgroups, and avoid ENOSYS failures
38212         * lib/mgetgroups.h (xgetgroups): New prototype.
38213         * lib/mgetgroups.c (xgetgroups): New wrapper.
38214         (mgetgroups): Handle ENOSYS.
38215         * modules/mgetgroups (Depends-on): Add realloc.
38216         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
38217
38218         mgetgroups: avoid argument promotion issues with -1
38219         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
38220         for invalid gid_t.
38221         * tests/test-chown.h (getegid, test_chown): Likewise.
38222         * tests/test-lchown.h (getegid, test_lchown): Likewise.
38223
38224 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
38225
38226         exclude: Fix header file problems.
38227         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
38228
38229 2009-12-01  Jim Meyering  <meyering@redhat.com>
38230
38231         fts: fts_open: do not let an empty string cause immediate failure
38232         This is required in support of GNU rm, for which the command
38233         "rm A '' B" must process and remove both A and B, in spite of
38234         the empty string argument.
38235         * lib/fts.c (fts_open): Do not let the presence of an empty string
38236         cause fts_open to fail immediately.  Most fts-using tools must be
38237         able to process all arguments, in order, and can be expected to
38238         diagnose such arguments themselves.
38239
38240 2009-11-30  Eric Blake  <ebb9@byu.net>
38241
38242         utimens: fix compilation error
38243         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
38244         Declare variable at right scope.
38245
38246 2009-11-29  Jim Meyering  <meyering@redhat.com>
38247
38248         bootstrap: handle perl-5.11's changed --version output
38249         * build-aux/bootstrap (get_version): Handle perl separately,
38250         since perl-5.11's --version output is different.
38251
38252 2009-11-28  Jim Meyering  <meyering@redhat.com>
38253
38254         userspec: depend on the inttostr module, too
38255         * modules/userspec (Depends-on): Add inttostr.
38256
38257         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
38258         * lib/userspec.c (parse_with_separator): Do not accept a user ID
38259         number of MAXUID when it evaluates to (uid_t) -1.
38260         Likewise for group ID.  Reported by Matt McCutchen in
38261         <http://savannah.gnu.org/bugs/?28113>
38262
38263         userspec: reformat to use spaces, not TABs
38264         * lib/userspec.c: Expand TABs to spaces.
38265         Add Emacs' "indent-tabs-mode: nil" hint.
38266
38267 2009-11-27  Eric Blake  <ebb9@byu.net>
38268
38269         getopt-gnu: flush out another BSD bug
38270         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
38271         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
38272         flush out BSD bug.
38273         * tests/test-getopt.h (test_getopt): End lists with NULL.
38274         * tests/test-getopt_long.h (test_getopt_long): Likewise.
38275         (test_getopt_long_posix): Enhance test.
38276         * modules/getopt-posix-tests (Depends-on): Add stdbool.
38277         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
38278         getopt-gnu.
38279         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
38280         Likewise.
38281
38282 2009-11-27  Simon Josefsson  <simon@josefsson.org>
38283
38284         * modules/idpriv-droptemp-tests (Notice): Fix text.
38285
38286 2009-11-27  Jim Meyering  <meyering@redhat.com>
38287
38288         test-xalloc-die: avoid spurious failure due to libtool argv difference
38289         In a libtool-enabled project, this test would fail due to a difference
38290         in the emitted program name, e.g.,
38291         -test-xalloc-die: memory exhausted
38292         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
38293         Use program to avoid that.
38294         * modules/xalloc-die-tests (Depends-on): Add progname.
38295         * tests/test-xalloc-die.c: Include progname.h".
38296         (program_name): Remove decl.
38297         (main): Call set_program_name.
38298         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
38299
38300 2009-11-26  Richard Jones  <rjones@redhat.com>
38301
38302         w32sock: leave win32 error in place.
38303         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
38304
38305 2009-11-26  Eric Blake  <ebb9@byu.net>
38306
38307         init.sh: suggest to use skip_ and fail_ functions in comments
38308         * tests/init.sh: Add a sentence.
38309
38310 2009-11-25  Bruno Haible  <bruno@clisp.org>
38311
38312         init.sh: add documentation in comments
38313         * tests/init.sh: Add some developer and user documentation.
38314
38315 2009-11-26  Jim Meyering  <meyering@redhat.com>
38316
38317         init.sh: accommodate even those who specify bogus srcdir manually
38318         * tests/init.sh: Normally, srcdir is guaranteed by automake and
38319         configure-time tests to be sanitized, so that there is no need to
38320         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
38321         (with no double quotes) suffices.  However, since tests may be
38322         invoked manually, and since you may explicitly set srcdir to the
38323         name of a directory containing spaces, do quote its uses here.
38324         * tests/test-pread.sh: Likewise.
38325         Suggested by Bruno Haible.
38326
38327         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
38328         * tests/test-pread.sh: Write no data into the pipe, because
38329         test-pread actually reads none.  This avoids a diagnostic,
38330         "bash: echo: write error: Broken pipe", that arises in the unusual
38331         event something is ignoring SIGPIPE, and might be interpreted
38332         as some sort of failure.  Reported by Bruno Haible.
38333
38334 2009-11-25  Jim Meyering  <meyering@redhat.com>
38335
38336         test-pread: cover failure with ESPIPE and EINVAL
38337         * tests/test-pread.c (main): Test for failure, too.
38338         * tests/test-pread.sh: Invoke with stdin on a pipe.
38339         Suggested by Eric Blake.
38340
38341         pread: improvement and fix
38342         * modules/pread (Depends-on): Depend on lseek, for portability to
38343         e.g., mingw.  Suggested by Eric Blake.
38344         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
38345
38346         unistd.in.h: correct declaration of pread
38347         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
38348         Reported by Richard W.M. Jones.
38349
38350         test-pread.sh: distribute the test script
38351         * modules/pread-tests (Files): Include test-pread.sh.
38352
38353         test-pread.sh: clean up
38354         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
38355         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
38356         That is unnecessary, since it's always ".".
38357         Suggestion from Eric Blake.
38358
38359         test-pread.sh: make executable
38360         * tests/test-pread.sh: Set executable bit.
38361         Reported by Eric Blake.
38362
38363         correct typo in test-pread.sh
38364         * tests/test-pread.sh: Add #! line.
38365
38366         test pread
38367         * tests/test-pread.c: New file.
38368         * tests/test-pread.sh: Likewise.
38369         * modules/pread-tests: Likewise.
38370
38371         pread: new module
38372         * modules/pread: New file.
38373         * lib/unistd.in.h (pread): Define/declare.
38374         * lib/pread.c (pread): New file.
38375         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
38376         * modules/unistd (Makefile.am): Substitute witnesses.
38377         * doc/posix-functions/pread.texi (pread): Update.
38378         * MODULES.html.sh: Add pread.
38379
38380 2009-11-25  Jim Meyering  <meyering@redhat.com>
38381
38382         tests/init.sh: new file to be used via most *.sh tests
38383         * tests/init.sh: New file.
38384
38385 2009-11-25  Eric Blake  <ebb9@byu.net>
38386
38387         utimens: work around older Linux failure with symlinks
38388         * lib/utimens.c (lutimensat_works_really): New variable.
38389         (fdutimens, lutimens): Use it to manage kernels that support
38390         nanosecond times on files, but not on symlinks.
38391         Reported by OndÅ™ej Vašík.
38392
38393         utimes: fix configure grammar
38394         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
38395
38396 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
38397
38398         regex: Fix fastmap for multibyte character ranges.
38399         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
38400         characters when a multibyte character range is included.
38401
38402 2009-11-22  Andy Wingo  <wingo@pobox.com>
38403
38404         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
38405         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
38406
38407 2009-11-24  Bruno Haible  <bruno@clisp.org>
38408
38409         doc: Most *_l functions exist in MacOS X 10.5.
38410         * doc/posix-functions/duplocale.texi: Update platforms list.
38411         * doc/posix-functions/freelocale.texi: Likewise.
38412         * doc/posix-functions/newlocale.texi: Likewise.
38413         * doc/posix-functions/uselocale.texi: Likewise.
38414         * doc/posix-functions/isalnum_l.texi: Likewise.
38415         * doc/posix-functions/isalpha_l.texi: Likewise.
38416         * doc/posix-functions/isblank_l.texi: Likewise.
38417         * doc/posix-functions/iscntrl_l.texi: Likewise.
38418         * doc/posix-functions/isdigit_l.texi: Likewise.
38419         * doc/posix-functions/isgraph_l.texi: Likewise.
38420         * doc/posix-functions/islower_l.texi: Likewise.
38421         * doc/posix-functions/isprint_l.texi: Likewise.
38422         * doc/posix-functions/ispunct_l.texi: Likewise.
38423         * doc/posix-functions/isspace_l.texi: Likewise.
38424         * doc/posix-functions/isupper_l.texi: Likewise.
38425         * doc/posix-functions/iswalnum_l.texi: Likewise.
38426         * doc/posix-functions/iswalpha_l.texi: Likewise.
38427         * doc/posix-functions/iswblank_l.texi: Likewise.
38428         * doc/posix-functions/iswcntrl_l.texi: Likewise.
38429         * doc/posix-functions/iswctype_l.texi: Likewise.
38430         * doc/posix-functions/iswdigit_l.texi: Likewise.
38431         * doc/posix-functions/iswgraph_l.texi: Likewise.
38432         * doc/posix-functions/iswlower_l.texi: Likewise.
38433         * doc/posix-functions/iswprint_l.texi: Likewise.
38434         * doc/posix-functions/iswpunct_l.texi: Likewise.
38435         * doc/posix-functions/iswspace_l.texi: Likewise.
38436         * doc/posix-functions/iswupper_l.texi: Likewise.
38437         * doc/posix-functions/iswxdigit_l.texi: Likewise.
38438         * doc/posix-functions/isxdigit_l.texi: Likewise.
38439         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
38440         * doc/posix-functions/strcasecmp_l.texi: Likewise.
38441         * doc/posix-functions/strcoll_l.texi: Likewise.
38442         * doc/posix-functions/strfmon_l.texi: Likewise.
38443         * doc/posix-functions/strftime_l.texi: Likewise.
38444         * doc/posix-functions/strncasecmp_l.texi: Likewise.
38445         * doc/posix-functions/strxfrm_l.texi: Likewise.
38446         * doc/posix-functions/tolower_l.texi: Likewise.
38447         * doc/posix-functions/toupper_l.texi: Likewise.
38448         * doc/posix-functions/towctrans_l.texi: Likewise.
38449         * doc/posix-functions/towlower_l.texi: Likewise.
38450         * doc/posix-functions/towupper_l.texi: Likewise.
38451         * doc/posix-functions/wcscoll_l.texi: Likewise.
38452         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
38453         * doc/posix-functions/wctrans_l.texi: Likewise.
38454         * doc/posix-functions/wctype_l.texi: Likewise.
38455         * doc/glibc-functions/strptime_l.texi: Likewise.
38456         * doc/glibc-functions/strtod_l.texi: Likewise.
38457         * doc/glibc-functions/strtof_l.texi: Likewise.
38458         * doc/glibc-functions/strtol_l.texi: Likewise.
38459         * doc/glibc-functions/strtold_l.texi: Likewise.
38460         * doc/glibc-functions/strtoll_l.texi: Likewise.
38461         * doc/glibc-functions/strtoul_l.texi: Likewise.
38462         * doc/glibc-functions/strtoull_l.texi: Likewise.
38463         * doc/glibc-functions/wcsftime_l.texi: Likewise.
38464         * doc/glibc-functions/wcstod_l.texi: Likewise.
38465         * doc/glibc-functions/wcstof_l.texi: Likewise.
38466         * doc/glibc-functions/wcstol_l.texi: Likewise.
38467         * doc/glibc-functions/wcstold_l.texi: Likewise.
38468         * doc/glibc-functions/wcstoll_l.texi: Likewise.
38469         * doc/glibc-functions/wcstoul_l.texi: Likewise.
38470         * doc/glibc-functions/wcstoull_l.texi: Likewise.
38471
38472 2009-11-24  Bruno Haible  <bruno@clisp.org>
38473
38474         duplocale: Fix logic bug.
38475         * lib/duplocale.c: Don't include <langinfo.h>.
38476         (_NL_LOCALE_NAME): Remove macro.
38477         (rpl_duplocale): Use setlocale instead of nl_langinfo.
38478         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
38479
38480 2009-11-23  Jim Meyering  <meyering@redhat.com>
38481
38482         test-update-copyright: don't hard-code /usr/bin/perl
38483         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
38484         perl to print the current year.  Gilles Espinasse reported that
38485         the replaced use of perl was hard-coded as /usr/bin/perl.
38486
38487 2009-11-23  Bruno Haible  <bruno@clisp.org>
38488
38489         duplocale: Add support for glibc 2.3.x.
38490         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
38491
38492 2009-11-22  Bruno Haible  <bruno@clisp.org>
38493
38494         vasnprintf: Tiny optimization.
38495         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
38496         MacOS X.
38497
38498 2009-11-22  Bruno Haible  <bruno@clisp.org>
38499
38500         Tests for module 'duplocale'.
38501         * modules/duplocale-tests: New file.
38502         * tests/test-duplocale.c: New file.
38503
38504         New module 'duplocale'.
38505         * m4/duplocale.m4: New file.
38506         * lib/locale.in.h (duplocale): New declaration.
38507         * lib/duplocale.c: New file.
38508         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
38509         gl_LOCALE_H_DEFAULTS): New macros.
38510         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
38511         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
38512         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
38513         REPLACE_DUPLOCALE.
38514         * modules/duplocale: New file.
38515         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
38516
38517 2009-11-22  Bruno Haible  <bruno@clisp.org>
38518
38519         * modules/locale-tests (configure.ac): Test for newlocale function.
38520         * tests/test-locale.c: When the system has extended locale functions,
38521         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
38522
38523         locale: Make locale_t available when possible.
38524         * lib/locale.in.h: Include <xlocale.h> when it exists.
38525         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
38526         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
38527         * modules/locale (Depends-on): Add extensions.
38528         (Makefile.am): Also substitute HAVE_XLOCALE_H.
38529         * doc/posix-headers/locale.texi: Document the problem with locale_t.
38530
38531 2009-11-22  Bruno Haible  <bruno@clisp.org>
38532
38533         Add comments.
38534         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
38535         invocation.
38536         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
38537         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
38538         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
38539
38540 2009-11-22  Bruno Haible  <bruno@clisp.org>
38541
38542         error: account for the possibility of freopen (stdout).
38543         * lib/error.c: Include <unistd.h>.
38544         (flush_stdout): New function, extracted from error and error_at_line.
38545         Determine stdout's fd dynamically.
38546         (error, error_at_line): Invoke flush_stdout.
38547         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
38548         * modules/error (Depends-on): Add unistd.
38549
38550 2009-11-22  Bruno Haible  <bruno@clisp.org>
38551
38552         diffseq: Add comment.
38553         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
38554
38555 2009-11-22  Jim Meyering  <meyering@redhat.com>
38556
38557         c-stack: avoid defining an unused static function
38558         * lib/c-stack.c (find_stack_direction): Do not define this function
38559         when it will not be used.
38560
38561         diffseq: avoid spurious gcc warnings
38562         * lib/diffseq.h (IF_LINT2): Define.
38563         (compareseq): Use it to initialize two members of "part".
38564         This avoids two used-uninitialized warnings.
38565
38566 2009-11-21  Jim Meyering  <meyering@redhat.com>
38567
38568         c-stack: avoid "ignoring return value of `write'" warning
38569         * lib/c-stack.c: Include "ignore-value.h".
38570         (die): Explicitly ignore each write return value.
38571         * modules/c-stack (Depends-on): Add ignore-value.
38572
38573 2009-11-21  Bruno Haible  <bruno@clisp.org>
38574
38575         diffseq: reduce scope of variable 'best'.
38576         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
38577         variable, earlier used for two different purposes.
38578
38579 2009-11-21  Jim Meyering  <meyering@redhat.com>
38580
38581         diffseq: remove useless assignment to "best"
38582         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
38583         assignment.  At that point "best" is already guaranteed to be zero.
38584
38585 2009-11-20  Eric Blake  <ebb9@byu.net>
38586
38587         build: mention ftp redirector in release announcements
38588         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
38589         values that used to come from cfg.mk; mention FTP redirect URL.
38590         * build-aux/announce-gen: Mention the mirror list.
38591         Suggested by Karl Berry.
38592
38593         nanosleep: improve port to mingw
38594         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
38595         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
38596         LIB_NANOSLEEP, but only when needed.
38597         * modules/select (Link): Document LIBSOCKET.
38598         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
38599         enough.
38600
38601         nanosleep: work around cygwin bug
38602         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
38603         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
38604         bug.
38605         (getnow): Delete, not needed.
38606         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
38607         LIB_CLOCK_GETTIME.
38608         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
38609         clock-time, gettime.
38610         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
38611         bug.
38612         * modules/nanosleep-tests: New test.
38613         * tests/test-nanosleep.c: New file.
38614
38615         sleep: work around cygwin bug
38616         * lib/sleep.c (rpl_sleep): Work around the bug.
38617         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
38618         (gl_PREREQ_SLEEP): Delete unused macro.
38619         * modules/sleep (Depends-on): Add verify.
38620         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
38621         * modules/unistd (Makefile.am): Substitute witness.
38622         * lib/unistd.in.h (sleep): Update prototype.
38623         * doc/posix-functions/sleep.texi (sleep): Document the bug.
38624         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
38625         * modules/sleep-tests (Depends-on): Check for alarm.
38626
38627 2009-11-20  Jim Meyering  <meyering@redhat.com>
38628
38629         maint.mk: improve sc_prohibit_magic_number_exit
38630         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
38631         so it does not match uses like System.exit(1).
38632         Add comments showing how to correct all offenders.
38633
38634 2009-11-19  Eric Blake  <ebb9@byu.net>
38635
38636         xalloc-die-tests: add missing library
38637         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
38638
38639         test-xvasprintf: silence compiler warnings
38640         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
38641         empty string from gcc.
38642
38643 2009-11-19  Jim Meyering  <meyering@redhat.com>
38644
38645         xfreopen: new module, from coreutils
38646         * modules/xfreopen: New module.
38647         * lib/xfreopen.c: New file.
38648         * lib/xfreopen.h: New file.
38649         * MODULES.html.sh (File stream based Input/Output"): Add it.
38650
38651 2009-11-19  Eric Blake  <ebb9@byu.net>
38652
38653         manywarnings: depend on warnings
38654         * modules/manywarnings (Depends-on): Add warnings.
38655
38656         build: avoid compiler warnings
38657         * lib/select.c (rpl_select): Delete unused variable.
38658         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
38659
38660 2009-11-18  Eric Blake  <ebb9@byu.net>
38661
38662         tests: avoid false negative with --with-packager
38663         * tests/test-version-etc.sh: Discard packager information.
38664         * tests/test-argp-version-etc-1.sh: Likewise.
38665         Reported by Mike Frysinger.
38666
38667         utimens: fix regression on Solaris
38668         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
38669         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
38670         can only change fd timestamps via futimesat.  Instead, use an
38671         additional witness macro to avoid BSD bug.
38672         Reported by Jim Meyering.
38673
38674 2009-11-17  Eric Blake  <ebb9@byu.net>
38675
38676         usleep: use it to simplify tests
38677         * modules/stat-time-tests (Depends-on): Add usleep.
38678         (configure.ac): Drop usleep check.
38679         * modules/chown-tests (Depends-on, configure.ac): Likewise.
38680         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
38681         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
38682         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
38683         * modules/openat-tests (Depends-on, configure.ac): Likewise.
38684         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
38685         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
38686         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
38687         Likewise.
38688         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
38689         * tests/test-lchown.h (nap): Likewise.
38690         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
38691         * tests/test-stat-time.c (nap): Likewise.
38692         * tests/test-utimens-common.h (nap): Update comments.
38693
38694         usleep: new module
38695         * modules/usleep: New file.
38696         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
38697         * lib/usleep.c (usleep): Likewise.
38698         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
38699         * modules/unistd (Makefile.am): Substitute witnesses.
38700         * lib/unistd.in.h (usleep): Add declaration.
38701         * doc/pastposix-functions/usleep.texi (usleep): Document this.
38702         * MODULES.html.sh (Date and time): Likewise.
38703         * modules/usleep-tests (Depends-on): New test.
38704         * tests/test-usleep.c: New file.
38705
38706         chown: work around OpenBSD bug
38707         * lib/chown.c (rpl_chown): Work around the bug.
38708         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
38709         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
38710         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
38711         * modules/chown (Depends-on): Add stdbool.
38712         * modules/lchown (Depends-on): Likewise.
38713         * doc/posix-functions/chown.texi (chown): Document the bug.
38714         * doc/posix-functions/lchown.texi (lchown): Likewise.
38715         * tests/test-lchown.h (test_chown): Relax test.
38716
38717         mkstemp: avoid conflict with C++ keyword template
38718         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
38719         * lib/mkostemp.c (mkostemp): Likewise.
38720         * lib/mkostemps.c (mkostemps): Likewise.
38721         * lib/mkstemp.c (mkstemp): Likewise.
38722         * lib/mkstemps.c (mkstemps): Likewise.
38723
38724         xalloc-die-tests: optimize
38725         * tests/test-xalloc-die.sh: Reduce number of processes.
38726
38727 2009-11-17  Simon Josefsson  <simon@josefsson.org>
38728
38729         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
38730         patch from ludo@gnu.org (Ludovic Courtès).
38731
38732 2009-11-17  Jim Meyering  <meyering@redhat.com>
38733
38734         version-etc: use proper license string
38735         * modules/version-etc (License): Use LGPL, not LGPLv3+.
38736         * modules/version-etc-fsf: Likewise.
38737
38738 2009-11-17  Simon Josefsson  <simon@josefsson.org>
38739
38740         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
38741         printed to stdout.  Deal with EOL differences.
38742
38743 2009-11-17  Eric Blake  <ebb9@byu.net>
38744
38745         unsetenv: work around Solaris bug
38746         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
38747         * lib/unsetenv.c (rpl_unsetenv): Work around it.
38748         Reported by Jim Meyering.
38749
38750         vasnprintf: avoid compiler warnings
38751         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
38752         variables.
38753         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
38754
38755 2009-11-17  Simon Josefsson  <simon@josefsson.org>
38756
38757         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
38758         settings since xalloc-die is no longer the self test,
38759         xalloc-die.sh is.
38760
38761 2009-11-17  Jim Meyering  <meyering@redhat.com>
38762
38763         test-xalloc-die.sh: make the code agree with the commit log
38764         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
38765         at the end, just in case you happen to have a test-xalloc-die
38766         program in some other PATH directory.
38767
38768         test-xalloc-die.sh: fix a portability bug
38769         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
38770         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
38771         Otherwise, argv[0] (as often seen in diagnostics) would be too
38772         system-dependent, sometimes with, and sometimes without the leading "./".
38773
38774         version-etc-fsf: relax license to LGPLv3+
38775         * modules/version-etc-fsf (License): Relax license.
38776
38777 2009-11-16  Eric Blake  <ebb9@byu.net>
38778
38779         xalloc-die-tests: avoid printing null pointer
38780         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
38781         shell script.
38782         * tests/test-xalloc-die.c (program_name): Declare.
38783         * tests/test-xalloc-die.sh (tmpfiles): New file.
38784
38785         setenv, unsetenv: work around various bugs
38786         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
38787         (setenv) [HAVE_SETENV]: Work around bugs.
38788         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
38789         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
38790         for bugs.
38791         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
38792         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
38793         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
38794         * modules/stdlib (Makefile.am): Update substitutions.
38795         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
38796         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
38797         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
38798         * modules/setenv-tests: New test.
38799         * modules/unsetenv-tests: Likewise.
38800         * tests/test-setenv.c: New file.
38801         * tests/test-unsetenv.c: Likewise.
38802
38803 2009-11-16  Jim Meyering  <meyering@redhat.com>
38804
38805         version-etc: relax license to LGPLv3+
38806         * modules/version-etc (License): Relax license.
38807
38808         better AC_REQUIRE expanded-before-required-warning avoidance
38809         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
38810         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
38811         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
38812         which is no longer needed.
38813
38814 2009-11-16  Eric Blake  <ebb9@byu.net>
38815
38816         test-freading: clean up temporary file
38817         * tests/test-freading.c (main): Remove file on success, and use
38818         ASSERT more liberally.
38819         Reported by Jim Meyering.
38820
38821 2009-11-16  Jim Meyering  <meyering@redhat.com>
38822
38823         avoid new AC_REQUIRE expanded-before-required warnings
38824         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
38825         merely using it.
38826         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
38827         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
38828
38829 2009-11-15  Simon Josefsson  <simon@josefsson.org>
38830
38831         * tests/test-xalloc-die.c: New file.
38832         * modules/xalloc-die-tests: New file.
38833         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
38834         XFAIL_TESTS so it can be appended by modules.
38835
38836 2009-11-15  Simon Josefsson  <simon@josefsson.org>
38837
38838         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
38839         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
38840
38841 2009-11-14  Eric Blake  <ebb9@byu.net>
38842
38843         fnmatch: avoid compiler warning
38844         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
38845         to silence compiler warning about mismatch signedness in ?:.
38846         Reported by Robert Millan.
38847
38848         intprops: add double-inclusion guard
38849         * lib/intprops.h: Allow idempotent includes.
38850         Suggested by Bruce Korb.
38851
38852         openat: detect Solaris fchownat bug
38853         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
38854         penalizing glibc chownat when only lchownat is broken.
38855         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
38856         trailing slash bugs.
38857         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
38858         * modules/openat-tests (Files): Include more files.
38859         (Depends-on): Add mgetgroups, sleep, stat-time.
38860         (configure.ac): Add additional checks.
38861         (Makefile.am): Build new test.
38862         * tests/test-fchownat.c: New file.
38863
38864         lchown: detect Solaris and FreeBSD bug
38865         * lib/lchown.c (rpl_lchown): Work around bug.
38866         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
38867         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38868         * modules/unistd (Makefile.am): Populate it.
38869         * lib/unistd.in.h (lchown): Update declaration.
38870         * doc/posix-functions/lchown.texi (lchown): Document the bug.
38871         * modules/lchown-tests: New file.
38872         * tests/test-lchown.h (test_lchown): Likewise.
38873         * tests/test-lchown.c (main): Likewise.
38874
38875         chown: detect Solaris and FreeBSD bug
38876         * lib/chown.c (rpl_chown): Work around bug.
38877         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
38878         (gl_PREREQ_CHOWN): Delete.
38879         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38880         * modules/unistd (Makefile.am): Populate it.
38881         * lib/unistd.in.h (chown): Update declaration.
38882         * lib/lchown.c (chown): Update client.
38883         * modules/lchown (Depends-on): Add lstat.
38884         * doc/posix-functions/chown.texi (chown): Document the bug.
38885         * doc/posix-functions/getgroups.texi (getgroups): Document
38886         getgroups pitfall.
38887         * modules/chown-tests: New file.
38888         * tests/test-chown.h (test_chown): Likewise.
38889         * tests/test-chown.c (main): Likewise.
38890
38891 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
38892
38893         gnulib-tool: correctly detect absence of m4 directories
38894         * gnulib-tool: Avoid extra newline on data passed to wc -l.
38895
38896 2009-11-14  Jim Meyering  <meyering@redhat.com>
38897
38898         maint.mk: Prohibit inclusion of "xalloc.h" without use.
38899         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
38900
38901 2009-11-14  John W. Eaton  <jwe@gnu.org>
38902
38903         strftime.h: wrap funtion declaration in extern "C" block
38904         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
38905
38906 2009-11-13  Eric Blake  <ebb9@byu.net>
38907
38908         getgroups: avoid compiler warning
38909         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
38910
38911         getgroups: work around FreeBSD bug
38912         * lib/getgroups.c (rpl_getgroups): Work around the bug.
38913         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
38914         * doc/posix-functions/getgroups.texi (getgroups): Document it.
38915         * tests/test-getgroups.c (main): Fix buffer overrun.
38916
38917         getgroups: avoid compilation failure
38918         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
38919         * modules/getgroups (Depends-on): Add stdint.
38920
38921 2009-11-13  Jim Meyering  <meyering@redhat.com>
38922
38923         test-getgroups: avoid compilation failure
38924         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
38925
38926 2009-11-13  Eric Blake  <ebb9@byu.net>
38927
38928         mgetgroups: new module, taken from coreutils
38929         * modules/mgetgroups: New file.
38930         * lib/mgetgroups.h: Likewise.
38931         * lib/mgetgroups.c (mgetgroups): Likewise.
38932         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
38933         * MODULES.html.sh (Users and groups): Mention it.
38934
38935         getgroups: don't expose GETGROUPS_T to user
38936         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
38937         an element at a time if GETGROUPS_T is wrong size.
38938         * lib/getugroups.h (getugroups): Change signature.
38939         * lib/unistd.in.h (getgroups): Likewise.
38940         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
38941         signature needs fixing.
38942         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
38943         AC_TYPE_GETGROUPS.
38944         * modules/group-member (Depends-on): Add getgroups.
38945         * lib/group-member.c (group_info, get_group_info): Use gid_t.
38946         (group_member): Rely on getgroups replacement.
38947         * lib/getugroups.c (getugroups): Use gid_t.
38948         * tests/test-getgroups.c (main): Likewise.
38949         * NEWS: Mention the signature change.
38950         * doc/posix-functions/getgroups.texi (getgroups): Mention the
38951         problem with signature.
38952         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
38953         GETGROUPS_T is still useful for setgroups.
38954
38955         getgroups, getugroups: provide stubs for mingw
38956         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
38957         * lib/getugroups.c (getugroups): Likewise.
38958         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
38959         function.  Modernize replacement scheme.
38960         (gl_PREREQ_GETGROUPS): Delete.
38961         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
38962         * modules/getgroups (configure.ac): Declare witness.
38963         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
38964         * modules/unistd (Depends-on): Substitute witness.
38965         * lib/unistd.in.h (getgroups): Declare replacement.
38966
38967         getgroups: avoid calling exit
38968         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
38969         drop xalloc.
38970         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
38971         dependencies.
38972         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
38973         exiting, in the rare case of malloc failure.
38974
38975         getgroups: fix logic error
38976         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
38977         has more than 20 groups.
38978         * modules/getgroups-tests: New test.
38979         * tests/test-getgroups.c: New file.
38980
38981 2009-11-13  Simon Josefsson  <simon@josefsson.org>
38982
38983         * tests/test-base64.c: Improve.
38984
38985 2009-11-13  Simon Josefsson  <simon@josefsson.org>
38986
38987         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
38988         Blake <ebb9@byu.net>.
38989
38990 2009-11-13  Simon Josefsson  <simon@josefsson.org>
38991
38992         * tests/test-xvasprintf.c: Add %s%s related checks.
38993
38994 2009-11-12  Eric Blake  <ebb9@byu.net>
38995
38996         version-etc: match standards.texi style
38997         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
38998         and use <> only for URLs.
38999
39000 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
39001
39002         fts: do not fail on a submount during traversal
39003         * lib/fts.c (fts_build): Read the stat info again after opening
39004         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
39005         Original report at http://bugzilla.redhat.com/501848.
39006
39007 2009-11-12  Jim Meyering  <meyering@redhat.com>
39008
39009         bootstrap: sync from coreutils
39010         * build-aux/bootstrap (bootstrap_epilogue): New function.
39011         Use git_modules_config in one more place.  This make bootstrap's
39012         --gnulib-srcdir option more useful for testing.
39013
39014         bootstrap: generalize autoheader check
39015         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
39016         AC_CONFIG_HEADERS.
39017
39018 2009-11-11  Eric Blake  <ebb9@byu.net>
39019
39020         mkfifoat: use new modules for Solaris and BSD bugs
39021         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
39022         * lib/mkfifoat.c (mknodat): Split...
39023         * lib/mknodat.c (mknodat): ...into new file.
39024         * modules/mkfifoat (Files): Ship new file.
39025         (Depends-on): Add mkfifo, mknod.
39026         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
39027         (Depends-on): Add symlink.
39028         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
39029         redundant with test_mkfifo.h.
39030         (do_mkfifoat, do_mknodat): New helpers.
39031
39032         mknod: new module
39033         * modules/mknod: New file.
39034         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
39035         * lib/mknod.c (mknod): Likewise.
39036         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
39037         defaults.
39038         * modules/sys_stat (Makefile.am): Substitute them.
39039         * lib/sys_stat.in.h (mknod): Declare replacement.
39040         * MODULES.html.sh (Support for systems lacking POSIX:2008):
39041         Document it.
39042         * doc/posix-functions/mknod.texi (mknod): Likewise.
39043         * modules/mknod-tests: New test.
39044         * tests/test-mknod.c: Likewise.
39045
39046         mkfifo: new module
39047         * modules/mkfifo: New file.
39048         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
39049         * lib/mkfifo.c (mkfifo): Likewise.
39050         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
39051         defaults.
39052         * modules/sys_stat (Makefile.am): Substitute them.
39053         * lib/sys_stat.in.h (mkfifo): Declare replacement.
39054         * MODULES.html.sh (Support for systems lacking POSIX:2008):
39055         Document it.
39056         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
39057         * modules/mkfifo-tests: New test.
39058         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
39059         from test-mkfifoat.c.
39060         * tests/test-mkfifo.c: New file.
39061
39062         readlink: detect FreeBSD bug
39063         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
39064         slash on symlink.
39065         * doc/posix-functions/readlink.texi (readlink): Document the bug.
39066         * tests/test-readlink.h (test_readlink): Enhance test.
39067
39068         symlink: detect FreeBSD bug
39069         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
39070         slash on symlink.
39071         * doc/posix-functions/symlink.texi (symlink): Document the bug.
39072         * tests/test-symlink.h (test_symlink): Enhance test.
39073
39074 2009-11-10  Eric Blake  <ebb9@byu.net>
39075
39076         link: detect FreeBSD bug
39077         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
39078         symlink.
39079         * doc/posix-functions/link.texi (link): Document the bug.
39080         * tests/test-link.h (test_link): Enhance test.
39081         * tests/test-linkat.c (main): Update caller.
39082
39083         unlink, remove: detect FreeBSD bug
39084         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
39085         slash on symlink.
39086         * doc/posix-functions/unlink.texi (unlink): Document the bug.
39087         * doc/posix-functions/remove.texi (remove): Likewise.
39088         * tests/test-unlink.h (test_unlink): Enhance test.
39089         * tests/test-remove.c (main): Likewise.
39090
39091 2009-11-09  Eric Blake  <ebb9@byu.net>
39092
39093         rename: detect FreeBSD bug
39094         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
39095         slash on symlink.
39096         * modules/renameat-tests (Depends-on): Add filenamecat.
39097         * tests/test-rename.h (test_rename): Allow one more errno.
39098         * tests/test-renameat.c (main): Likewise.
39099         * doc/posix-functions/rename.texi (rename): Document the bug.
39100
39101         open: detect FreeBSD bug
39102         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
39103         symlink.
39104         * doc/posix-functions/open.texi (open): Document the bug.
39105         * doc/posix-functions/utimes.texi (utimes): Likewise.
39106         * tests/test-open.h (test_open): Add parameters, and test symlink
39107         handling.
39108         * tests/test-open.c (main): Adjust caller.
39109         * tests/test-fcntl-safer.c (main): Likewise.
39110         * modules/open-tests (Depends-on): Add stdbool, symlink.
39111         * modules/fcntl-safer-tests (Depends-on): Likewise.
39112         * tests/test-openat.c (main): Add test-open tests.
39113
39114         stat: detect FreeBSD bug
39115         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
39116         symlink.
39117         * doc/posix-functions/stat.texi (stat): Document the bug.
39118         * tests/test-stat.h (test_stat_func): Add argument.
39119         * tests/test-stat.c (main): Adjust caller.
39120         * tests/test-fstatat.c (main): Likewise.
39121         * modules/stat-tests (Depends-on): Add stdbool, symlink.
39122         Reported by Jim Meyering.
39123
39124 2009-11-09  James Youngman  <jay@gnu.org>
39125
39126         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
39127         * lib/strftime.c: Correct placement of #include "ignore-value.h".
39128
39129 2009-11-08  Jim Meyering  <meyering@redhat.com>
39130
39131         utimens: remove invalid futimesat call
39132         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
39133         It used the file descriptor of the target file as the DIR_FD
39134         parameter and NULL as the file name.  That caused failure with
39135         errno == EFAULT on FreeBSD-8.0-rc2
39136
39137 2009-11-07  Eric Blake  <ebb9@byu.net>
39138
39139         fflush, freadseek: use fseeko, not fseek
39140         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
39141         (clear_ungetc_buffer): Avoid potential problems on large files.
39142         * lib/freadseek.c (freadseek): Likewise.
39143         * modules/freadseek (Depends-on): Add fseeko.
39144         * modules/fseek (configure.ac): Set a witness.
39145         * tests/test-fflush.c (main): Use fseeko.
39146         * tests/test-fpurge.c (fseek): Disable link warning.
39147         * tests/test-freadable.c (fseek): Likewise.
39148         * tests/test-freading.c (fseek): Likewise.
39149         * tests/test-fseeko.c (fseek): Likewise.
39150         * tests/test-ftell.c (fseek): Likewise.
39151         * tests/test-ftello.c (fseek): Likewise.
39152         * tests/test-fwritable.c (fseek): Likewise.
39153         * tests/test-fwriting.c (fseek): Likewise.
39154
39155 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39156
39157         * modules/memchr (Depends-on): Drop getpagesize dependency.
39158
39159 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39160
39161         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
39162         Reported by Ludovic Courtès.
39163         * build-aux/pmccabe2html: Improve example usage.
39164         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
39165
39166 2009-11-06  Jim Meyering  <meyering@redhat.com>
39167
39168         do-release-commit-and-tag: New module.
39169         Automate the release-commit and tag process.
39170         * build-aux/do-release-commit-and-tag: New script, from coreutils.
39171         * modules/do-release-commit-and-tag: New file.
39172         * MODULES.html.sh (Support for maintaining and releasing): Add it.
39173
39174 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39175
39176         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
39177         because test-select.c uses inet_pton.
39178
39179 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39180
39181         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
39182         GETADDRINFO_LIB.  Bump serial number.
39183         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
39184         Suggested by Eric Blake <ebb9@byu.net>.
39185
39186 2009-11-05  Eric Blake  <ebb9@byu.net>
39187
39188         strtod: detect darwin bug
39189         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
39190         Reported by Leo Davis.
39191
39192         freopen-safer: new module
39193         * modules/freopen-safer: New module.
39194         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
39195         * lib/freopen-safer.c (freopen_safer): New file.
39196         * lib/stdio-safer.h (freopen_safer): New declaration.
39197         * lib/stdio--.h (freopen): New override.
39198         * MODULES.html.sh (File stream based Input/Output): Mention it.
39199         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
39200         freopen-safer module.
39201         * doc/posix-functions/stderr.texi (stderr): Likewise.
39202         * doc/posix-functions/stdin.texi (stdin): Likewise.
39203         * doc/posix-functions/stdout.texi (stdout): Likewise.
39204         * modules/freopen-safer-tests: New test.
39205         * tests/test-reopen-safer.c: New file.
39206
39207 2009-11-05  Jim Meyering  <meyering@redhat.com>
39208
39209         maint.mk: Prohibit inclusion of "close-stream.h" without use.
39210         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
39211
39212 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39213
39214         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
39215
39216 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39217
39218         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
39219
39220 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39221
39222         Fix link error.
39223         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
39224         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
39225
39226 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39227
39228         * tests/test-func.c: Also test value of __func__.
39229
39230 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39231
39232         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
39233         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
39234
39235 2009-11-05  Bruno Haible  <bruno@clisp.org>
39236
39237         Fix link error.
39238         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
39239         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
39240         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
39241
39242 2009-11-05  Bruno Haible  <bruno@clisp.org>
39243
39244         Tests for module 'inet_pton'.
39245         * modules/inet_pton-tests: New file.
39246         * tests/test-inet_pton.c: New file.
39247
39248 2009-11-05  Bruno Haible  <bruno@clisp.org>
39249
39250         Tests for module 'inet_ntop'.
39251         * modules/inet_ntop-tests: New file.
39252         * tests/test-inet_ntop.c: New file.
39253
39254 2009-11-04  Eric Blake  <ebb9@byu.net>
39255
39256         stdlib-safer: wrap all mkstemp variants
39257         * modules/mkostemp (configure.ac): Set witness.
39258         * modules/mkostemps (configure.ac): Likewise.
39259         * modules/mkstemps (configure.ac): Likewise.
39260         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
39261         (mkstemps_safer): Wrap more functions.
39262         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
39263         wrapping.
39264         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
39265         (mkstemps_safer): Implement the wrappers.
39266
39267         mkstemps, mkostemps: new modules
39268         * modules/mkostemps: New module.
39269         * modules/mkstemps: Likewise.
39270         * lib/mkostemps.c (mkostemps): New file.
39271         * lib/mkstemps.c (mkstemps): Likewise.
39272         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
39273         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
39274         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
39275         * modules/stdlib (Makefile.am): Substitute them.
39276         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
39277         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
39278         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
39279         * doc/gnulib.texi (Glibc stdlib.h): Include them.
39280         * MODULES.html.sh (File system functions): Mention them.
39281
39282         tempname: resync from glibc
39283         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
39284         same values for __GT_FILE as glibc.  Abort even when assertions
39285         are disabled.
39286         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
39287         match its value otherwise.  Allow idempotent inclusion.
39288         * lib/mkdtemp.c (mkdtemp): Adjust caller.
39289         * lib/mkostemp.c (mkostemp): Likewise.
39290         * lib/mkstemp.c (mkstemp): Likewise.
39291         * lib/tmpfile.c (tmpfile): Likewise.
39292         * NEWS: Document this.
39293
39294         utimens: fix use of futimens on older Linux
39295         * lib/utimens.c (fdutimens): Use updated, rather than original,
39296         timespec to avoid bug in older Linux kernel.
39297         Reported by Simon Josefsson.
39298
39299 2009-11-04  Bruno Haible  <bruno@clisp.org>
39300
39301         Make num_processors more flexible and consistent.
39302         * lib/nproc.h (enum nproc_query): New type.
39303         (num_processors): Add a 'query' argument.
39304         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
39305         (num_processors): Add a 'query' argument. Test the value of the
39306         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
39307         mingw, count the number of CPUs available for the current process.
39308         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
39309         Check for sched_getaffinity and sched_getaffinity_np.
39310         * modules/nproc (Depends-on): Add c-ctype, extensions.
39311         * NEWS: Mention the change.
39312
39313 2009-11-03  Bruno Haible  <bruno@clisp.org>
39314
39315         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
39316
39317 2009-11-03  Jim Meyering  <meyering@redhat.com>
39318
39319         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
39320         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
39321         if it is defined.
39322
39323 2009-11-02  Eric Blake  <ebb9@byu.net>
39324
39325         mktime, timegm: share common declaration
39326         * lib/mktime-internal.h: New file.
39327         * lib/mktime.c: Use it rather than open-coding a declaration.
39328         * lib/timegm.c: Likewise.
39329         * modules/mktime (Files): Ship it.
39330         * modules/timegm (Files): Likewise.
39331         Suggested by Bruno Haible.
39332
39333         test-update-copyright: update test to match script changes
39334         * tests/test-update-copyright.sh: Avoid hard-coding perl
39335         location.  Don't update *.bak created by earlier runs.
39336
39337 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
39338             Simon Josefsson  <simon@josefsson.org>
39339             Bruno Haible  <bruno@clisp.org>
39340
39341         Fix link error on Solaris 8.
39342         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
39343         also in libnsl. Define also INET_PTON_LIB.
39344         * modules/inet_pton (Link): New section.
39345
39346 2009-11-02  Simon Josefsson  <simon@josefsson.org>
39347             Bruno Haible  <bruno@clisp.org>
39348
39349         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
39350         * modules/inet_ntop (Link): New section.
39351         Reported by Boyan Kasarov <bkasarov@gmail.com>.
39352
39353 2009-11-02  Eric Blake  <ebb9@byu.net>
39354
39355         maint: avoid compiler warnings in m4 macros
39356         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
39357         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
39358
39359 2009-11-02  Simon Josefsson  <simon@josefsson.org>
39360
39361         * m4/pmccabe2html.m4: Remove file.
39362         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
39363         function.  Change maintainer.
39364         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
39365         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
39366         Courtès).
39367
39368 2009-10-31  Eric Blake  <ebb9@byu.net>
39369
39370         fseeko: fix m4 regression
39371         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
39372         regression from 2009-10-27.
39373         Reported by Ralf Wildenhues.
39374
39375 2009-10-31  Jim Meyering  <meyering@redhat.com>
39376
39377         inttostr: aesthetics and improved (compile-time) safety
39378         Define inttype_is_signed rather than inttype_is_unsigned,
39379         since the sole use is via "#if inttype_is_signed".
39380         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
39381         inttype_is_unsigned.
39382         * lib/offtostr.c (inttype_is_signed): Likewise.
39383         * lib/uinttostr.c (inttype_is_signed): Likewise.
39384         * lib/umaxtostr.c (inttype_is_signed): Likewise.
39385         * lib/inttostr.c (inttostr): Use verify to cross-check the
39386         inttype_is_signed value and the signedness of the actual type.
39387         * modules/inttostr (Depends-on): Add verify.
39388
39389 2009-10-30  Eric Blake  <ebb9@byu.net>
39390
39391         build: avoid compiler warnings
39392         * lib/fchmodat.c (lchmod): Mark unused variables.
39393         * lib/getopt.c (_getopt_initialize): Likewise.
39394         * lib/mktime.c (__mktime_internal): Provide prototype.
39395         * lib/inttostr.c (inttostr): Avoid compiler warning even with
39396         older gcc that do not understand #pragma GCC diagnostic.
39397         * lib/uinttostr.c (inttype_is_unsigned): Define.
39398         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
39399
39400 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
39401
39402         stat: fix compilation on AIX
39403         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
39404         only see struct stat64.
39405
39406 2009-10-30  Eric Blake  <ebb9@byu.net>
39407
39408         exclude: make more robust
39409         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
39410         rather than masking a coding bug.
39411         Suggested by Bruno Haible.
39412
39413 2009-10-30  Jim Meyering  <meyering@redhat.com>
39414
39415         perl scripts: remove #!/usr/bin/perl in favor of more portable...
39416         Rather than putting #!/usr/bin/perl on the first line,
39417         start with a variant of what's recommended by "man perlrun" that
39418         invokes the first "perl" program from your shell's search path.
39419         * build-aux/gitlog-to-changelog: Replace #!... as above.
39420         Add a "Local Variables" perl mode setting.
39421         Prompted by a patch from Ludovic Courtès.
39422         Improved by Eric Blake.
39423         * build-aux/useless-if-before-free: Likewise.
39424         * build-aux/announce-gen: Likewise.
39425         * build-aux/update-copyright: Likewise.
39426
39427 2009-10-29  Eric Blake  <ebb9@byu.net>
39428
39429         filenamecat-lgpl: adjust clients
39430         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
39431         filenamecat.
39432         * modules/renameat (Depends-on): Likewise.
39433
39434         filenamecat: split into filenamecat-lgpl
39435         * modules/filenamecat-lgpl: New module.
39436         * modules/filenamecat (Files): Move library-safe files into
39437         filenamecat-lgpl.
39438         (Depends-on): Add filenamecat-lgpl.
39439         (configure.ac): Declare witness.
39440         * lib/filenamecat.h (file_name_concat): Only declare when using
39441         GPL module.
39442         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
39443         Move...
39444         * lib/filenamecat-lgpl.c: ...into new file.
39445         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
39446         (gl_FILE_NAME_CONCAT): Use it.
39447         * MODULES.html.sh (File system functions): Mention new module.
39448
39449         argp: avoid memory leak
39450         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
39451         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
39452         base_name, since the latter malloc()s and can call exit().
39453         Leak introduced 2006-07-03.
39454
39455         dirname-lgpl: adjust clients that don't need full dirname
39456         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
39457         * modules/filenamecat (Depends-on): Likewise.
39458         * modules/linkat (Depends-on): Likewise.
39459         * modules/mkancesdirs (Depends-on): Likewise.
39460         * modules/mkdir (Depends-on): Likewise.
39461         * modules/openat (Depends-on): Likewise.
39462         * modules/savewd (Depends-on): Likewise.
39463         * modules/rename (Depends-on): Likewise.
39464         (License): Relax license.
39465         * modules/mkdir-tests (Depends-on): Drop progname.
39466         (Makefile.am): Delete unneeded LDADD.
39467         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
39468
39469         dirname: split into dirname-lgpl
39470         * modules/dirname-lgpl: New module.
39471         * modules/dirname (Files): Move library-safe files into
39472         dirname-lgpl.
39473         (Depends-on): Add dirname-lgpl.
39474         (configure.ac): Declare witness.
39475         * modules/double-slash-root (License): Relax license.
39476         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
39477         module.
39478         * lib/dirname.c (dir_len, mdir_name): Move...
39479         * lib/dirname-lgpl.c: ...into new file.
39480         * lib/basename.c (last_component, base_len): Move...
39481         * lib/basename-lgpl.c: ...into new file.
39482         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
39483         (gl_DIRNAME): Use it.
39484         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
39485         Mention new module.
39486         * modules/dirname-tests (Depends-on): Add progname.
39487         * tests/test-dirname.c (program_name): Delete.
39488
39489         mkdir: make safe for libraries
39490         * modules/mkdir (Depends-on): Drop xalloc.
39491         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
39492         exit.
39493
39494         tests: avoid some compiler warnings
39495         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
39496         literals.
39497         * tests/test-memchr.c (main): Avoid type mismatch.
39498         * tests/test-arpa_inet.c (main): Avoid unused parameters.
39499         * tests/test-base64.c (main): Likewise.
39500         * tests/test-getdelim.c (main): Likewise.
39501         * tests/test-gethostname.c (main): Likewise.
39502         * tests/test-getline.c (main): Likewise.
39503         * tests/test-netinet_in.c (main): Likewise.
39504         * tests/test-select.c (open_server_socket, main): Likewise.
39505         * tests/test-select-stdin.c (main): Likewise.
39506         * tests/test-sockets.c (main): Likewise.
39507         * tests/test-strsignal.c (main): Likewise.
39508         * tests/test-sys_select.c (main): Likewise.
39509         * tests/test-sys_socket.c (main): Likewise.
39510         * tests/test-u64.c (main): Likewise.
39511         * tests/test-xfprintf-posix.c (main): Likewise.
39512         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
39513
39514         sockets: avoid compiler warning
39515         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
39516
39517         maint: detect usage(1) and other suspicious exits
39518         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
39519
39520 2009-10-29  Jim Meyering  <meyering@redhat.com>
39521
39522         timespec: long-to-int truncation could make timespec_cmp malfunction
39523         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
39524         a multiple of 2^32 nanoseconds as no difference.
39525
39526 2009-10-28  Jim Meyering  <meyering@redhat.com>
39527
39528         fprintftime: wrap macro code argument in "do {...} while(0)"
39529         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
39530         cpy macro must be a statement that can be followed by a semicolon.
39531         Now that the else clause contains a comment and is hence longer
39532         than one line, I require curly braces.  That in turn requires
39533         that we wrap this code block in the standard do...while(0).
39534
39535         fprintftime: remove stray semicolon from previous change
39536         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
39537
39538         fprintftime: avoid a warning about ignored fwrite return value
39539         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
39540         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
39541         that is unsafe.
39542         * modules/fprintftime (Depends-on): Add ignore-value.
39543
39544         exclude: avoid an unwarranted warning
39545         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
39546
39547 2009-10-27  Eric Blake  <ebb9@byu.net>
39548
39549         fseek: avoid compilation failure when fflush is replaced
39550         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
39551         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
39552         module is in use.
39553         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
39554         module is not in use; since REPLACE_FSEEK worked otherwise.
39555         (GNULIB_FTELLO): Likewise for ftell.
39556         Reported by Ian Beckwith and others.
39557
39558 2009-10-27  Bruno Haible  <bruno@clisp.org>
39559
39560         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
39561         Reported by Jim Meyering.
39562
39563 2009-10-27  Jim Meyering  <jim@meyering.net>
39564             Bruno Haible  <bruno@clisp.org>
39565
39566         Avoid warning despite dropping the return value of fwrite.
39567         * lib/unicodeio.c: Include ignore-value.h.
39568         (fwrite_success_callback): Explicitly ignore fwrite's return value.
39569         * modules/unicodeio (Depends-on): Add ignore-value.
39570
39571 2009-10-26  Eric Blake  <ebb9@byu.net>
39572
39573         areadlinkat: fix fallback path
39574         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
39575         pointer and zero.
39576
39577 2009-10-22  Pádraig Brady  <P@draigBrady.com>
39578
39579         Use a better IO block size for modern systems
39580         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
39581         * lib/md2.c: Likewise.
39582         * lib/md4.c: Likewise.
39583         * lib/md5.c: Likewise.
39584         * lib/sha1.c: Likewise.
39585         * lib/sha256.c: Likewise.
39586         * lib/sha512.c: Likewise.
39587
39588 2009-10-22  Eric Blake  <ebb9@byu.net>
39589
39590         tests: avoid several compiler warnings
39591         * tests/test-getcwd.c (main): Avoid buffer underflow.
39592         * tests/test-getdate.c (main): String literals are not safe with
39593         putenv, so use setenv.  Declare unused argument.
39594         * modules/getdate-tests (Depends-on): Add setenv.
39595         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
39596         problems with string literals in char *.
39597         * tests/test-hash.c (main): Avoid shadowing declaration.
39598         (insert_new): Treat string literals as char const *.
39599         * tests/test-getopt.h (test_getopt): Likewise.
39600         (getopt_loop): Alter types to minimize casting elsewhere.
39601         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
39602         (test_getopt_long_posix): Likewise.
39603         (do_getopt_long): Add wrapper to minimize casting.
39604         * tests/test-atexit.c (clear_temp_file): Use void.
39605         * tests/test-areadlink-with-size.c (main): Declare unused
39606         arguments.
39607         * tests/test-areadlink.c (main): Likewise.
39608         * tests/test-areadlinkat-with-size.c (main): Likewise.
39609         * tests/test-areadlinkat.c (main): Likewise.
39610         * tests/test-canonicalize-lgpl.c (main): Likewise.
39611         * tests/test-canonicalize.c (main): Likewise.
39612         * tests/test-dirent-safer.c (main): Likewise.
39613         * tests/test-dirname.c (main): Likewise.
39614         * tests/test-dup2.c (main): Likewise.
39615         * tests/test-fchdir.c (main): Likewise.
39616         * tests/test-fcntl-h.c (main): Likewise.
39617         * tests/test-fcntl-safer.c (main): Likewise.
39618         * tests/test-fdopendir.c (main): Likewise.
39619         * tests/test-fdutimensat.c (main): Likewise.
39620         * tests/test-fflush.c (main): Likewise.
39621         * tests/test-filenamecat.c (main): Likewise.
39622         * tests/test-filevercmp.c (main): Likewise.
39623         * tests/test-fopen-safer.c (main): Likewise.
39624         * tests/test-fopen.c (main): Likewise.
39625         * tests/test-fpending.c (main): Likewise.
39626         * tests/test-fpurge.c (main): Likewise.
39627         * tests/test-freading.c (main): Likewise.
39628         * tests/test-fstatat.c (main): Likewise.
39629         * tests/test-fsync.c (main): Likewise.
39630         * tests/test-futimens.c (main): Likewise.
39631         * tests/test-getndelim2.c (main): Likewise.
39632         * tests/test-gettimeofday.c (main): Likewise.
39633         * tests/test-getopt.c (main): Likewise.
39634         * tests/test-i-ring.c (main): Likewise.
39635         * tests/test-inttypes.c (main): Likewise.
39636         * tests/test-link.c (main): Likewise.
39637         * tests/test-lstat.c (main): Likewise.
39638         * tests/test-math.c (main): Likewise.
39639         * tests/test-md5.c (main): Likewise.
39640         * tests/test-memchr2.c (main): Likewise.
39641         * tests/test-memrchr.c (main): Likewise.
39642         * tests/test-mkdir.c (main): Likewise.
39643         * tests/test-mkdirat.c (main): Likewise.
39644         * tests/test-mkfifoat.c (main): Likewise.
39645         * tests/test-open.c (main): Likewise.
39646         * tests/test-openat-safer.c (main): Likewise.
39647         * tests/test-openat.c (main): Likewise.
39648         * tests/test-quotearg.c (main): Likewise.
39649         * tests/test-rawmemchr.c (main): Likewise.
39650         * tests/test-readlink.c (main): Likewise.
39651         * tests/test-remove.c (main): Likewise.
39652         * tests/test-rename.c (main): Likewise.
39653         * tests/test-renameat.c (main): Likewise.
39654         * tests/test-rmdir.c (main): Likewise.
39655         * tests/test-sha1.c (main): Likewise.
39656         * tests/test-signal.c (main): Likewise.
39657         * tests/test-sigaction.c (main): Likewise.
39658         * tests/test-stat.c (main): Likewise.
39659         * tests/test-stat-time.c (main): Likewise.
39660         * tests/test-stddef.c (main): Likewise.
39661         * tests/test-stdint.c (main): Likewise.
39662         * tests/test-stdio.c (main): Likewise.
39663         * tests/test-stdlib.c (main): Likewise.
39664         * tests/test-strchrnul.c (main): Likewise.
39665         * tests/test-strerror.c (main): Likewise.
39666         * tests/test-string.c (main): Likewise.
39667         * tests/test-strtod.c (main): Likewise.
39668         * tests/test-strverscmp.c (main): Likewise.
39669         * tests/test-symlink.c (main): Likewise.
39670         * tests/test-symlinkat.c (main): Likewise.
39671         * tests/test-sys_stat.c (main): Likewise.
39672         * tests/test-sys_time.c (main): Likewise.
39673         * tests/test-time.c (main): Likewise.
39674         * tests/test-unistd.c (main): Likewise.
39675         * tests/test-unlink.c (main): Likewise.
39676         * tests/test-unlinkat.c (main): Likewise.
39677         * tests/test-utimens.c (main): Likewise.
39678         * tests/test-utimensat.c (main): Likewise.
39679         * tests/test-version-etc.c (main): Likewise.
39680         * tests/test-wchar.c (main): Likewise.
39681         * tests/test-wctype.c (main): Likewise.
39682         * tests/test-xprintf-posix.c (main): Likewise.
39683         * tests/test-posixtm.c (main): Likewise.
39684         (STREQ): Delete unused macro.
39685         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
39686         shadowed variables.
39687         * tests/test-memchr.c (main): Likewise.
39688
39689 2009-10-21  Eric Blake  <ebb9@byu.net>
39690
39691         areadlinkat: avoid failure on older glibc
39692         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
39693         rather than mis-comparing 0 against FUNC_RESULT of char*.
39694
39695 2009-10-21  Bruno Haible  <bruno@clisp.org>
39696
39697         * modules/stpncpy (License): Relicense under LGPLv2+.
39698         Reported by David Lutterkort <lutter@redhat.com>.
39699
39700 2009-10-20  Eric Blake  <ebb9@byu.net>
39701
39702         utimensat: work around Solaris 9 bug
39703         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
39704         has trailing slash bugs.
39705         * tests/test-lutimens.h (test_lutimens): Enhance test.
39706         * tests/test-utimens.h (test_utimens): Likewise.
39707         * doc/posix-functions/utime.texi (utime): Enhance documentation.
39708         * doc/posix-functions/utimes.texi (utimes): Likewise.
39709         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
39710         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
39711         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
39712         * doc/posix-functions/futimens.texi (futimens): Likewise.
39713
39714         fdutimensat: new module
39715         * modules/fdutimensat: New file.
39716         * lib/fdutimensat.c (fdutimensat): Likewise.
39717         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
39718         * MODULES.html.sh (File system functions): Mention module.
39719         * modules/fdutimensat-tests: New test.
39720         * tests/test-fdutimensat.c: Likewise.
39721
39722         doc: regenerate INSTALL
39723         * doc/INSTALL: Reflect recent autoconf update.
39724         * doc/INSTALL.ISO: Likewise.
39725         * doc/INSTALL.UTF-8: Likewise.
39726
39727 2009-10-20  Pádraig Brady  <P@draigBrady.com>
39728
39729         acl: warn if ACL support is not detected
39730         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
39731
39732 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
39733
39734         * lib/nproc.h: Add extern "C" block for C++.
39735
39736 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
39737             Bruno Haible  <bruno@clisp.org>
39738
39739         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
39740         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
39741         * doc/posix-functions/isalpha.texi: Likewise.
39742         * doc/posix-functions/isblank.texi: Likewise.
39743         * doc/posix-functions/iscntrl.texi: Likewise.
39744         * doc/posix-functions/isdigit.texi: Likewise.
39745         * doc/posix-functions/isgraph.texi: Likewise.
39746         * doc/posix-functions/islower.texi: Likewise.
39747         * doc/posix-functions/isprint.texi: Likewise.
39748         * doc/posix-functions/ispunct.texi: Likewise.
39749         * doc/posix-functions/isspace.texi: Likewise.
39750         * doc/posix-functions/isupper.texi: Likewise.
39751         * doc/posix-functions/isxdigit.texi: Likewise.
39752
39753 2009-10-18  Bruno Haible  <bruno@clisp.org>
39754
39755         Tests for module 'isblank'.
39756         * modules/isblank-tests: New file.
39757         * tests/test-isblank.c: New file.
39758
39759         New module 'isblank'.
39760         * lib/isblank.c: New file.
39761         * m4/isblank.m4: New file.
39762         * modules/isblank: New file.
39763         * doc/posix-functions/isblank.texi: Mention the new module.
39764
39765 2009-10-18  Bruno Haible  <bruno@clisp.org>
39766
39767         New module 'ctype'.
39768         * lib/ctype.in.h: New file.
39769         * m4/ctype.m4: New file.
39770         * modules/ctype: New file.
39771         * doc/posix-headers/ctype.texi: Mention the new module.
39772
39773 2009-10-18  Jim Meyering  <meyering@redhat.com>
39774
39775         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
39776         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
39777         right after its initialization, rather than farther down.
39778         Keeping these in close proximity makes it easier to ensure
39779         that each such variable is initialized.  E.g.,
39780
39781             LIB_CLOCK_GETTIME=
39782             AC_SUBST([LIB_CLOCK_GETTIME])
39783
39784         This change also increments these serial numbers.
39785         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
39786         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
39787         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
39788
39789 2009-10-18  Bruno Haible  <bruno@clisp.org>
39790
39791         Don't let environment variables perturb build.
39792         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
39793         (gl_PREREQ_GETHRXTIME): ... not here.
39794
39795 2009-10-18  Bruno Haible  <bruno@clisp.org>
39796
39797         Avoid symlink attack in localcharset module.
39798         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
39799         (O_NOFOLLOW): Define fallback.
39800         (get_charset_aliases): Don't open the file if it is a symbolic link.
39801         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
39802         gl_FCNTL_H.
39803         (gl_FCNTL_H): Require it.
39804         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
39805         * modules/localcharset (Files): Add m4/fcntl_h.m4.
39806         Reported by Fergal Glynn <fglynn@veracode.com>.
39807
39808 2009-10-18  Bruno Haible  <bruno@clisp.org>
39809
39810         Implement nproc for mingw.
39811         * lib/nproc.c: Include <windows.h>
39812         (num_processors): On native Windows platforms, try GetSystemInfo.
39813
39814 2009-10-18  Bruno Haible  <bruno@clisp.org>
39815
39816         Implement nproc for IRIX.
39817         * lib/nproc.c: Include <sys/sysmp.h>.
39818         (num_processors): On IRIX systems, try sysmp.
39819         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
39820
39821 2009-10-18  Bruno Haible  <bruno@clisp.org>
39822
39823         Implement nproc for HP-UX.
39824         * lib/nproc.c: Include <sys/pstat.h>
39825         (num_processors): On HP-UX systems, try pstat_getdynamic.
39826         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
39827         pstat_getdynamic.
39828
39829 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
39830             Bruno Haible  <bruno@clisp.org>
39831
39832         Implement nproc for NetBSD, OpenBSD.
39833         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
39834         (ARRAY_SIZE): New macro.
39835         (num_processors): On BSD systems, try sysctl of HW_NCPU.
39836         * m4/nproc.m4: New file.
39837         * modules/nproc (Files): Add m4/nproc.m4.
39838         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
39839         (Makefile.am): Instead, augment lib_SOURCES.
39840
39841 2009-10-18  Bruno Haible  <bruno@clisp.org>
39842
39843         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
39844         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
39845         sys/param.h.
39846
39847 2009-10-16  Eric Blake  <ebb9@byu.net>
39848
39849         utimensat: new module
39850         * modules/utimensat: New file.
39851         * lib/utimensat.c (utimensat): Likewise.
39852         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
39853         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
39854         so we can work around Linux bugs.
39855         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39856         * modules/sys_stat (Makefile.am): Substitute them.
39857         * lib/sys_stat.in.h (utimensat): Declare it.
39858         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39859         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
39860         * modules/utimensat-tests: New test.
39861         * tests/test-utimensat.c: Likewise.
39862
39863         utimens: let lutimens work on non-symlinks
39864         * lib/utimens.c (lutimens): Fall back to utimens rather than
39865         failing with ENOSYS, when file is not a symlink.
39866         (utimens): Reduce redirection.
39867         * tests/test-lutimens.h (test_lutimens): Update test to cover
39868         non-symlinks.
39869         * tests/test-utimens.h (test_utimens): Update test to cover
39870         symlinks.
39871         * tests/test-utimens.c (main): Update caller.
39872
39873         utimens: cache whether utimensat syscall works
39874         * lib/utimens.c (utimensat_works_really): New cache variable.
39875         (fdutimens, lutimens): Use it to avoid failing syscall.
39876
39877         test-stat-time, test-utimens: improve portability
39878         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
39879         ext4 on alpha, and for cygwin.
39880         * tests/test-utimens-common.h: New file.
39881         (nap): Factor delays into single function.
39882         * tests/test-lutimens.h (test_lutimens): Use new header.
39883         * tests/test-futimens.h (test_futimens): Likewise.
39884         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
39885         timestamps to occur from same machine, as was done previously for
39886         test_utimens.
39887         * modules/utimens-tests (Files): Ship new file.
39888         * modules/futimens-tests (Files): Likewise.
39889         Reported in part by Jim Meyering.
39890
39891         sys_stat: sort replacement declarations
39892         * lib/sys_stat.in.h: Sort declarations.
39893         * lib/futimens.c (futimens): Fix typo.
39894
39895 2009-10-15  Jim Meyering  <meyering@redhat.com>
39896
39897         don't let environment settings perturb build
39898         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
39899         could cause a configure-time and/or build-time malfunction.
39900         Typically, a configure-time function-in-library test is performed
39901         via code like this:
39902
39903           LIB_VAR=
39904           AC_SUBST([LIB_VAR])
39905           prefix_saved_LIBS=$LIBS
39906             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
39907                        [test "$ac_cv_search_FUNC" = "none required" ||
39908                         LIB_VAR=$ac_cv_search_FUNC])
39909           LIBS=$prefix_saved_LIBS
39910
39911         However, in each of the files affected by this change, the LIB_VAR=
39912         initialization was omitted.  Thus, when set in the environment, its
39913         value would propagate into generated Makefiles when FUNC is not found
39914         in LIB_NAME.
39915         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
39916         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
39917         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
39918
39919 2009-10-14  Eric Blake  <ebb9@byu.net>
39920
39921         fchdir: avoid infinite recursion in mingw
39922         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
39923         recursing.
39924
39925         test-stat-time: port to mingw
39926         * tests/test-stat-time.c (force_unlink): Return a value.
39927         (test_ctime) [W32]: Fix compilation error.
39928         (nap): Don't call usleep with too large an argument.  Use
39929         force_unlink.
39930         * doc/pastposix-functions/usleep.texi (usleep): Document the
39931         portability issue.
39932
39933 2009-10-13  Jim Meyering  <meyering@redhat.com>
39934
39935         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
39936         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
39937         * modules/pipe-filter-ii: Likewise.
39938         * modules/sys_socket-tests: Likewise.
39939         * modules/tsearch-tests: Likewise.
39940         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
39941         (check): Depend on it.
39942
39943 2009-10-12  Eric Blake  <ebb9@byu.net>
39944
39945         utimens-tests: port to NFS file systems
39946         * tests/test-utimens.h (test_utimens): Refactor utimecmp
39947         comparisons to avoid spurious failures from timestamp drift
39948         between NFS machines.
39949
39950 2009-10-12  Eric Blake  <ebb9@byu.net>
39951
39952         stat-time-tests: minor cleanups
39953         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
39954         * tests/test-stat-time.c (nap): Separate assignment from call.
39955         Suggested by Paolo Bonzini and Bruno Haible.
39956
39957         sys_stat: guarantee struct timespec
39958         * lib/sys_stat.in.h (includes): Always include <time.h>
39959         * modules/sys_stat (Depends-on): Add time.
39960         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
39961         mode_t permission values.
39962         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
39963         get at subsecond timestamps.
39964
39965 2009-10-10  Eric Blake  <ebb9@byu.net>
39966
39967         futimens: new module
39968         * modules/futimens: New file.
39969         * lib/futimens.c (futimens): Likewise.
39970         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
39971         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
39972         we can work around Linux bugs.
39973         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39974         * modules/sys_stat (Makefile.am): Substitute them.
39975         * lib/sys_stat.in.h (futimens): Declare it.
39976         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39977         * doc/posix-functions/futimens.texi (futimens): Likewise.
39978         * modules/futimens-tests: New test.
39979         * tests/test-futimens.c: Likewise.
39980
39981         utimens: introduce fdutimens
39982         * lib/utimens.h (fdutimens): New prototype.
39983         * lib/utimens.c (gl_futimens): Move guts...
39984         (fdutimens): ...to new interface.
39985         * tests/test-utimens.c (do_fdutimens): Use it.
39986
39987         utimens: add UTIME_NOW and UTIME_OMIT support
39988         * lib/utimens.c (validate_timespec, update_timespec): New helper
39989         functions.
39990         (gl_futimens, lutimens): Use them.
39991         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
39992         stdbool, sys_stat.
39993         (Link): Mention resulting library dependency.
39994         * modules/utimecmp (Link): Likewise.
39995         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
39996         (Makefile.am): Pick up library dependency.
39997         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
39998         definition.
39999         * tests/test-sys_stat.c: Test the definitions.
40000         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
40001         * NEWS: Document library dependency.
40002
40003         utimecmp: support symlink timestamps
40004         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
40005         hashing when possible.  Use pathconf when available.
40006         (SYSCALL_RESOLUTION): Recognize tighter resolution.
40007         * modules/utimecmp (Depends-on): Add lstat.
40008
40009         utimens: add lutimens interface
40010         * lib/utimens.c (lutimens): New function.
40011         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
40012         * lib/utimens.h (lutimens): Declare new interface.
40013         * tests/test-utimens.c (main): Enhance test.
40014         * tests/test-lutimens.h (test_lutimens): New file.
40015         * modules/utimens-tests (Files): Distribute it.
40016         (Depends-on): Add symlink.
40017         (configure.ac): Check for usleep.
40018
40019         utimens: validate futimens usage
40020         * lib/utimens.c (gl_futimens): Require valid fd up front, using
40021         fewer syscalls on failure later on.  Avoid compiler warning on
40022         mingw.
40023         * modules/utimens (Depends-on): Add dup2.
40024
40025         utimens: add test
40026         * modules/utimens-tests: New test.
40027         * tests/test-utimens.h: New file.
40028         * tests/test-futimens.h: Likewise.
40029         * tests/test-utimens.c: Likewise.
40030
40031         doc: mention timestamp portability issues
40032         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
40033         instead.
40034         * doc/posix-functions/utime.texi (utime): Likewise.
40035         * doc/posix-functions/utimes.texi (utimes): Likewise.
40036         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
40037         instead.
40038         * doc/posix-functions/futimens.texi (futimens): Mention utimens
40039         module.
40040         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
40041         Mention weakness with symlink timestamps.
40042         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
40043         to utimensat/futimens instead.
40044         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
40045
40046         test-dup2: enhance test
40047         * tests/test-dup2.c (main): Also check AT_FDCWD.
40048
40049         test-stat-time: avoid more spurious failures
40050         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
40051         xfs; and avoid race if the two timestamps cross quantization edge.
40052
40053         relocatable: prefer 'file system' over 'filesystem'
40054         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
40055         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
40056         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
40057         * doc/relocatable.texi (Enabling Relocatability): Likewise.
40058         * lib/relocatable.c (compute_curr_prefix): Likewise.
40059
40060 2009-10-10  Jim Meyering  <meyering@redhat.com>
40061
40062         stat-time-tests: check for the usleep function
40063         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
40064
40065 2009-10-10  Bruno Haible  <bruno@clisp.org>
40066
40067         * modules/xnanosleep: Put the Link section after the Include section.
40068
40069 2009-10-09  Eric Blake  <ebb9@byu.net>
40070
40071         dup2: work around FreeBSD 6.1 bug
40072         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
40073         * doc/posix-functions/dup2.texi (dup2): Document it.
40074         Reported by Nelson H. F. Beebe and Jim Meyering.
40075
40076         test-stat-time: port to buggy NFS clients
40077         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
40078         (test_ctime): Also skip test if mtime and ctime are skewed.
40079
40080         maint: prefer 'file system' over 'filesystem'
40081         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
40082         * doc/posix-functions/lstat.texi (lstat): Likewise.
40083         * lib/file-has-acl.c (file_has_acl): Likewise.
40084         * lib/fwriteerror.c [TEST]: Likewise.
40085         * tests/test-areadlink.h (test_areadlink): Likewise.
40086         * tests/test-areadlinkat-with-size.c (main): Likewise.
40087         * tests/test-areadlinkat.c (main): Likewise.
40088         * tests/test-canonicalize-lgpl.c (main): Likewise.
40089         * tests/test-canonicalize.c (main): Likewise.
40090         * tests/test-fstatat.c (main): Likewise.
40091         * tests/test-linkat.c (main): Likewise.
40092         * tests/test-lstat.h (test_lstat_func): Likewise.
40093         * tests/test-mkdir.h (test_mkdir): Likewise.
40094         * tests/test-readlink.h (test_readlink): Likewise.
40095         * tests/test-remove.c (main): Likewise.
40096         * tests/test-rename.h (test_rename): Likewise.
40097         * tests/test-renameat.c (main): Likewise.
40098         * tests/test-rmdir.h (test_rmdir_func): Likewise.
40099         * tests/test-symlink.h (test_symlink): Likewise.
40100         * tests/test-symlinkat.c (main): Likewise.
40101         * tests/test-unlink.h (test_unlink_func): Likewise.
40102         * tests/test-unlinkat.c (main): Likewise.
40103
40104         maint: make realtime library usage explicit
40105         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
40106         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
40107         * modules/settime (Link): Likewise.
40108         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
40109
40110         test-stat-time: speed up execution
40111         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
40112         warning on mingw.
40113         (nap): New helper function.
40114         (prepare_test): Use it to reduce sleep time.
40115         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
40116         execution.
40117         * modules/stat-time-tests (configure.ac): Check for usleep.
40118
40119 2009-10-09  Jim Meyering  <meyering@redhat.com>
40120
40121         selinux-h: always use getfilecon wrappers
40122         * lib/getfilecon.c: New file.
40123         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
40124         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
40125         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
40126         (fgetfilecon): Provide a stub.
40127         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
40128         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
40129         file unconditionally.
40130         When <selinux/selinux.h> is found, arrange to use wrappers.
40131         * modules/selinux-h (Files): Add getfilecon.c.
40132         (Makefile.am): Substitute include-next-related bits
40133         into the now-always-generated selinux/selinux.h file.
40134         * doc/glibc-functions/lgetfilecon.texi: New file.
40135         * doc/glibc-functions/fgetfilecon.texi: New file.
40136         * doc/glibc-functions/getfilecon.texi: New file.
40137         * doc/glibc-functions/getfilecon-desc.texi: New file.
40138         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
40139         which to pull in the new files.
40140         * MODULES.html.sh (Misc): Add selinux-h.
40141
40142 2009-10-08  Jim Meyering  <meyering@redhat.com>
40143
40144         unistd: fix comment typo
40145         * lib/unistd.in.h (euidaccess): Fix a comment typo.
40146
40147 2009-10-08  Eric Blake  <ebb9@byu.net>
40148
40149         areadlink: use SIZE_MAX consistently
40150         * modules/areadlink (Depends-on): Add stdint.
40151         * modules/areadlink-with-size (Depends-on): Likewise.
40152         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
40153         gives NULL; drop sys/types, since unistd gives size_t; and add
40154         stdint for SIZE_MAX.
40155         (SIZE_MAX): Rely on headers.
40156         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
40157         and add stdint.
40158         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
40159         (SIZE_MAX): Likewise.
40160         (INITIAL_BUF_SIZE): Turn into enum.
40161         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
40162
40163 2009-10-08  Jim Meyering  <meyering@redhat.com>
40164
40165         areadlinkat: avoid compilation failure
40166         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
40167         Fix typo in comment.
40168
40169 2009-10-07  Eric Blake  <ebb9@byu.net>
40170
40171         areadlinkat-with-size: new module
40172         * modules/areadlinkat-with-size: New module.
40173         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
40174         * lib/areadlink.h (areadlinkat): Declare it.
40175         * MODULES.html.sh (File system functions): Mention it.
40176         * modules/areadlinkat-with-size-tests: New test.
40177         * tests/test-areadlinkat-with-size.c: New file.
40178
40179         xreadlinkat: new module
40180         * modules/xreadlinkat: New module.
40181         * lib/xreadlinkat.c (xreadlinkat): New file.
40182         * lib/xreadlink.h (xreadlinkat): Declare it.
40183         * MODULES.html.sh (File system functions): Mention it.
40184
40185         areadlinkat: new module
40186         * lib/at-func.c (FUNC_FAIL): New define.
40187         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
40188         * modules/areadlinkat: New module.
40189         * lib/linkat.c (areadlinkat): Move...
40190         * lib/areadlinkat.c (areadlinkat): ...to new file.
40191         * lib/areadlink.h (areadlinkat): Declare it.
40192         * modules/linkat (Depends-on): Add areadlinkat.
40193         * MODULES.html.sh (File system functions): Mention it.
40194         * modules/areadlinkat-tests: New test.
40195         * tests/test-areadlinkat.c: New file.
40196
40197         areadlink, areadlink-with-size: add tests
40198         * modules/areadlink-tests: New test.
40199         * modules/areadlink-with-size-tests: Likewise.
40200         * tests/test-areadlink.h: New file.
40201         * tests/test-areadlink.c: Likewise.
40202         * tests/test-areadlink-with-size.c: Likewise.
40203
40204         maint: minor cleanups
40205         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
40206         _UNUSED_PARAMETER_ instead.
40207         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
40208         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
40209         * modules/linkat-tests (Files): Distribute test-link.h.
40210
40211         openat, utimens: whitespace cleanup
40212         * lib/openat.c: Prefer space throughout, rather than mix of 8
40213         spaces vs. tabs.
40214         * lib/at-func.c: Likewise.
40215         * lib/utimens.c: Likewise.
40216
40217         openat: avoid using wrong fd
40218         * lib/openat.c (openat_permissive): Reject user's fd if saving the
40219         working directory chooses same fd.
40220         * lib/at-func.c (AT_FUNC_NAME): Likewise.
40221
40222         mkdir, mkdirat: fix cygwin 1.5.x bug
40223         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
40224         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
40225         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
40226         bug.
40227         (gl_PREREQ_MKDIR): Delete unused macro.
40228         * modules/mkdir (Files): Track file rename.
40229         (configure.ac): Update macro name.
40230         * modules/openat (Depends-on): Add mkdir.
40231         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
40232
40233         mkdir, mkdirat: add tests
40234         * modules/mkdir-tests: New test.
40235         * tests/test-mkdir.h: New file.
40236         * tests/test-mkdir.c: Likewise.
40237         * tests/test-mkdirat.c: Likewise.
40238         * modules/openat-tests (Files): Add new files.
40239         (Makefile.am): Run new test.
40240
40241 2009-10-06  Eric Blake  <ebb9@byu.net>
40242
40243         doc: tweak *at function documentation
40244         * doc/posix-functions/faccessat.texi (faccessat): Mention
40245         known issue with replacement.
40246         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
40247         * doc/posix-functions/linkat.texi (linkat): Likewise.
40248         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
40249         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
40250         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
40251         * doc/posix-functions/renameat.texi (renameat): Likewise.
40252         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
40253
40254         openat: fix GNU/Hurd bug in unlinkat
40255         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
40256         broken.
40257         * doc/posix-functions/unlink.texi (unlink): Document this.
40258         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
40259
40260         fdopendir: fix GNU/Hurd bug
40261         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
40262         allowing non-directory fds.
40263         * lib/fdopendir.c (rpl_fdopendir): Work around it.
40264         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
40265         * modules/dirent (Makefile.am): Substitute it.
40266         * lib/dirent.in.h (fdopendir): Declare replacement.
40267         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
40268         * tests/test-fdopendir.c (main): Test something other than
40269         /dev/null, since on Hurd that behaves like a directory.
40270
40271         test-symlink: port to GNU/Hurd
40272         * tests/test-symlink.h (test_symlink): Relax expected errno.
40273
40274         doc: tweak more cygwin information
40275         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
40276         now compatible with glibc.
40277         * doc/posix-functions/getopt.texi (getopt): Likewise.
40278
40279         getopt-gnu: add another test
40280         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
40281         guarantee behavior relied on by m4.
40282         * tests/test-getopt.c (main): Use it.
40283         * modules/getopt-posix-tests (Depends-on): Add setenv.
40284         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
40285
40286         getopt: fix compilation on darwin
40287         * lib/getopt.in.h (includes): Leave breadcrumbs during system
40288         include.
40289         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
40290         Reported by Ludovic Courtès.
40291
40292 2009-10-06  Bruno Haible  <bruno@clisp.org>
40293
40294         * modules/size_max (Description): Discourage its use.
40295         Reported by Simon Josefsson.
40296
40297 2009-10-06  Jim Meyering  <meyering@redhat.com>
40298
40299         linkat: avoid compilation failure
40300         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
40301
40302 2009-10-05  Eric Blake  <ebb9@byu.net>
40303
40304         linkat: support Linux 2.6.17
40305         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
40306         linkat on Linux, but allow cache variable override.
40307         * lib/linkat.c (rpl_linkat): Define override.
40308         * modules/linkat (Depends-on): Add symlinkat.
40309         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
40310         * modules/unistd (Makefile.am): Substitute it.
40311         * lib/unistd.in.h (linkat): Declare replacement.
40312         Reported by Pádraig Brady.
40313
40314         quotearg: port test to systems with C.UTF-8 locale
40315         * tests/test-quotearg.c (struct result_strings): Add another
40316         member, differentiating between C.ASCII and C.UTF-8 handling.
40317         (compare_strings): Add parameter.
40318         (main): Adjust all callers.
40319
40320         getopt: avoid clash with FreeBSD _getopt_internal
40321         * lib/getopt.in.h (_getopt_internal): Override the name.
40322         * lib/getopt_int.h (includes): Pick up any overrides.
40323         Reported by Reuben Thomas.
40324
40325         hash: allow C89 compilation
40326         * lib/hash.c (check_tuning): Move declaration before statement.
40327         Reported by Reuben Thomas.
40328
40329 2009-10-05  Karl Berry  <karl@gnu.org>
40330
40331         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
40332
40333 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
40334             Bruno Haible  <bruno@clisp.org>
40335
40336         * lib/uname.c (uname): Use a table-driven algorithm to compute
40337         Windows NT versions.
40338
40339 2009-10-04  Bruno Haible  <bruno@clisp.org>
40340
40341         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
40342         program_invocation_short_name.
40343         * modules/progname (configure.ac): Test for presence of
40344         program_invocation_short_name.
40345         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
40346
40347 2009-10-04  Bruno Haible  <bruno@clisp.org>
40348
40349         * lib/progname.c (set_program_name): Fix comment.
40350         Reported by Jim Meyering.
40351
40352 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
40353             Bruno Haible  <bruno@clisp.org>
40354
40355         * lib/uname.c: Include <string.h>.
40356         (uname): Do only one call to GetVersionEx in the common case.
40357
40358 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
40359             Bruno Haible  <bruno@clisp.org>
40360
40361         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
40362         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
40363         (uname): Add support for Windows CE and various non-x86 CPU types.
40364
40365 2009-10-03  Bruno Haible  <bruno@clisp.org>
40366
40367         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
40368         invocation to tests/configure.ac.
40369         Reported by Ian Beckwith <ianb@erislabs.net>.
40370
40371 2009-10-02  Eric Blake  <ebb9@byu.net>
40372
40373         fchdir: avoid compiler warning
40374         * lib/fchdir.c (canonicalize_file_name)
40375         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
40376
40377         test-open: support mingw errno values
40378         * tests/test-open.h (test_open): Relax test.
40379         * tests/test-fopen.h (test_fopen): Likewise.
40380         * tests/test-openat-safer.c (main): Likewise.
40381
40382         open: fix opening directory on mingw
40383         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
40384
40385         test-open: on GNU/Hurd, /dev/null is a directory
40386         * tests/test-fopen.h (main): Rename...
40387         (test_fopen): ...to this.  Use a guaranteed non-directory when
40388         confirming open behavior on trailing slash.
40389         * tests/test-openat-safer.c (main): Likewise.
40390         * tests/test-open.h (main): Likewise....
40391         (test_open): ...to this.
40392         * tests/test-fopen.c (main): Adjust caller.
40393         * tests/test-fopen-safer.c (main): Likewise.
40394         * tests/test-open.c (main): Likewise.
40395         * tests/test-fcntl-safer.c (main): Likewise.
40396         Reported by Samuel Thibault.
40397
40398         rename, fchdir: don't ignore chdir failure
40399         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
40400         * lib/rename.c (rpl_rename) [W32]: Likewise.
40401         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
40402         an empty destination directory if source cannot be renamed,
40403         although there is still possibility for failure.
40404         * doc/posix-functions/rename.texi (rename): Document the race.
40405         Reported by Jim Meyering.
40406
40407         maint: cleanup whitespace in recent commits
40408         * lib/rename.c (rpl_rename): Remove tabs.
40409         * tests/test-link.h (test_link): Likewise.
40410         * lib/fchdir.c (get_name): Likewise.
40411         Reported by Jim Meyering.
40412
40413 2009-10-02  Ben Pfaff  <blp@gnu.org>
40414
40415         relocatable-prog-wrapper: Add missing dependency on
40416         double-slash-root.
40417         * modules/relocatable-prog-wrapper: Add dependency.
40418         Reported by Ian Beckwith <ianb@erislabs.net>.
40419
40420 2009-10-02  Eric Blake  <ebb9@byu.net>
40421
40422         renameat: fix Solaris bugs
40423         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
40424         needed fixing.
40425         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
40426         * modules/stdio (Makefile.am): Substitute it.
40427         * lib/stdio.in.h (renameat): Declare replacement.
40428         * lib/renameat.c (rpl_renameat): Implement fix.
40429
40430         renameat: new module
40431         * modules/renameat: New file.
40432         * lib/renameat.c (renameat): Likewise.
40433         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
40434         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
40435         * modules/stdio (Makefile.am): Substitute them.
40436         * lib/stdio.in.h (renameat): Declare it.
40437         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40438         * doc/posix-functions/renameat.texi (renameat): Likewise.
40439         * modules/renameat-tests: New test.
40440         * tests/test-renameat.c: Likewise.
40441
40442         rename: fix mingw bugs
40443         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
40444         directory overwrite bugs.
40445
40446         rename: fix another cygwin 1.5 bug
40447         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
40448         checks.
40449         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
40450         unnecessary cygwin workarounds.  Also work around bug with moving
40451         full directory onto an empty one.
40452         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
40453
40454         rename-dest-slash: merge into rename module
40455         * modules/rename-dest-slash (Status): Mark obsolete.
40456         (Depends-on): Add rename.
40457         (Files): Let rename do it all.
40458         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
40459         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
40460         * m4/rename-dest-slash.m4: ...so this file can be deleted.
40461         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
40462         * lib/rename.c (rpl_rename): Update comments.
40463
40464         rename: fix cygwin 1.5.x bugs
40465         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
40466         * lib/rename.c (rpl_rename): Work around them.
40467         * modules/rename (Depends-on): Add same-inode.
40468
40469         rename: fix Solaris 10 bug
40470         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
40471         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
40472         was the only bug.
40473
40474         rename: fix Solaris 9 bug
40475         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
40476         on non-directory.  Avoid calling exit.
40477         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
40478         strdup.
40479         * modules/rename-tests (Depends-on): Drop lstat.
40480         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
40481         (gl_PREREQ_RENAME): Delete unused macro.
40482
40483         rename-dest-slash: fix NetBSD bug
40484         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
40485         links.
40486         * modules/rename-dest-slash (Depends-on): Add same-inode.
40487
40488         rename-tests: new test, exposes several platform bugs
40489         * modules/rename-tests: New file.
40490         * tests/test-rename.h: Likewise.
40491         * tests/test-rename.c: Likewise.
40492         * doc/posix-functions/rename.texi (rename): Improve documentation,
40493         including bugs that will eventually be fixed in gnulib.
40494
40495 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
40496
40497         * lib/uname.c: Include <stdlib.h>
40498         (uname): Assume version info is available.
40499
40500 2009-10-02  Jim Meyering  <meyering@redhat.com>
40501
40502         gnu-web-doc-update: correct --help output
40503         * build-aux/gnu-web-doc-update: Make --help output relevant.
40504
40505         gnu-web-doc-update: add standard options
40506         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
40507
40508         gnu-web-doc-update: New module.
40509         Use this script to automatically update the on-line web documentation
40510         for your GNU project at http://www.gnu.org/software/$pkg/manual/
40511         * modules/gnu-web-doc-update: New file, from coreutils.
40512         * build-aux/gnu-web-doc-update: New script.
40513
40514 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
40515
40516         link: LoadLibrary is not needed.
40517         * lib/link.c: Use GetModuleHandle.
40518
40519 2009-10-01  Eric Blake  <ebb9@byu.net>
40520
40521         getopt: bump serial number
40522         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
40523         change.
40524
40525         tests: tighten link, rmdir, and remove tests
40526         * tests/test-link.h (includes): No need to use <config.h> here.
40527         Clean up if directory hard link was created, otherwise test for
40528         trailing '.'.
40529         * tests/test-linkat.c (main): Simplify.
40530         * tests/test-remove.c (main): Enhance test for trailing '.'.
40531         * tests/test-rmdir.h (test_rmdir_func): Likewise.
40532
40533 2009-10-01  Jim Meyering  <meyering@redhat.com>
40534
40535         maint.mk: requiring "make major" was annoying, for a "minor" release.
40536         What is intended is "stable", to contrast with alpha and beta,
40537         so require "make stable", not "make major".
40538         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
40539         (get_tool_versions): Likewise.
40540         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
40541
40542 2009-09-30  Ben Pfaff  <blp@gnu.org>
40543
40544         Fix broken build of replacement for Windows tmpfile().
40545         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
40546         flags argument added along with the 'mkostemp' module.
40547
40548 2009-09-28  Bruno Haible  <bruno@clisp.org>
40549
40550         Avoid identifier clash with POSIX function 'remove' defined as a macro.
40551         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
40552         to 'remove_elt'.
40553         (gl_list_remove): Update.
40554         * lib/gl_list.c (gl_list_remove): Update.
40555         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
40556         to 'remove_elt'.
40557         (gl_oset_remove): Update.
40558         * lib/gl_list.c (gl_oset_remove): Update.
40559         Reported by Eric Blake.
40560
40561 2009-09-28  Eric Blake  <ebb9@byu.net>
40562
40563         doc: mention yet more cygwin 1.7 status
40564         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
40565         cygwin.
40566         * doc/glibc-functions/execvpe.texi (execvpe): New file.
40567         * doc/gnulib.texi (Glibc unistd.h): Mention it.
40568
40569         argp: fix test failure
40570         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
40571         that are not upper-case.  Pass correct range to tolower.
40572
40573 2009-09-27  Jim Meyering  <meyering@redhat.com>
40574
40575         test-yesno: work around sparc-dash here-document infelicity
40576         Without this change, the literal \177 byte in a here document
40577         would make dash 0.5.5.1-3 access uninitialized memory.
40578         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
40579         Instead, use a marker, "@", and filter through tr to create the desired
40580         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
40581
40582 2009-09-27  Bruno Haible  <bruno@clisp.org>
40583
40584         Disable untested support for new flavours of ACLs on AIX.
40585         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
40586         progress.
40587         * lib/set-mode-acl.c (qset_acl): Likewise.
40588
40589 2008-12-07  Bruno Haible  <bruno@clisp.org>
40590
40591         Add support for new flavours of ACLs on AIX. (Untested.)
40592         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
40593         (file_has_acl): Add support for newer AIX.
40594         * lib/set-mode-acl.c (qset_acl): Likewise.
40595         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
40596         Rainer Tammer <tammer@tammer.net>.
40597
40598 2009-09-26  Eric Blake  <ebb9@byu.net>
40599
40600         argp: fix compilation of getopt
40601         * lib/getopt.in.h (includes): Use different guard than glibc.
40602         Reported by Sergey Poznyakoff.
40603
40604         doc: mention more cygwin 1.7 status
40605         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
40606         bug.
40607         * doc/posix-functions/execl.texi (execl): Likewise.
40608         * doc/posix-functions/execle.texi (execle): Likewise.
40609         * doc/posix-functions/execlp.texi (execlp): Likewise.
40610         * doc/posix-functions/execv.texi (execv): Likewise.
40611         * doc/posix-functions/execve.texi (execve): Likewise.
40612         * doc/posix-functions/execvp.texi (execvp): Likewise.
40613         * doc/glibc-functions/canonicalize_file_name.texi
40614         (canonicalize_file_name): Cygwin 1.7 now provides this.
40615         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
40616         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
40617         on AT_SYMLINK_NOFOLLOW.
40618
40619 2009-09-24  Eric Blake  <ebb9@byu.net>
40620
40621         test-linkat: make test more robust
40622         * tests/test-linkat.c (main): Avoid collision with EEXIST.
40623
40624         getopt: fix inclusion guards for cygwin
40625         * modules/getopt-posix (Depends-on): Add include-next.
40626         (Makefile.am): Substitute more items in replacement header.
40627         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
40628         <getopt.h>.
40629         * lib/getopt.in.h (includes): Use split inclusion guard, and
40630         prefer <getopt.h> over include <unistd.h> when one is present.
40631         (option): Also override name of 'struct option'.
40632
40633         same-inode: revert prior change; it is not yet ready
40634         * NEWS: Undo mention of this change.
40635         * lib/same-inode.h (same-inode.h): Undo tri-state change.
40636         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
40637         * lib/cycle-check.c (cycle_check): Likewise.
40638         * lib/same.c (same_name): Likewise.
40639         * lib/at-func2.c (at_func2): Likewise.
40640
40641 2009-09-23  Eric Blake  <ebb9@byu.net>
40642
40643         linkat: new module
40644         * modules/linkat: New file.
40645         * lib/at-func2.c (at_func2): Likewise.
40646         * lib/linkat.c (linkat): Likewise.
40647         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
40648         * lib/openat-priv.h (at_func2): Add declaration.
40649         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
40650         * modules/unistd (Makefile.am): Substitute them.
40651         * lib/unistd.in.h (linkat): Declare it.
40652         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40653         * doc/posix-functions/linkat.texi (linkat): Likewise.
40654         * doc/posix-functions/link.texi (link): Tweak wording.
40655         * tests/test-link.c (main): Move guts...
40656         * tests/test-link.h (test_link): ...into new file.
40657         * modules/linkat-tests: New test.
40658         * tests/test-linkat.c: Likewise.
40659         * modules/link-tests (Files): Ship new file.
40660         (Depends-on): Add stdbool.
40661
40662         dirname: add library-safe mdir_name
40663         * lib/dirname.h (mdir_name): New prototype.
40664         * lib/dirname.c (dir_name): Move guts...
40665         (mdir_name): ...to new function that avoids xalloc_die.
40666
40667         fchdir: another mingw fix
40668         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
40669         * lib/fchdir.c (get_name): New helper method; skips canonicalize
40670         on mingw (where it has not yet been ported), and make it optional
40671         elsewhere.
40672         (_gl_register_fd): Use it.
40673
40674         same-inode: make SAME_INODE tri-state, to port to mingw
40675         * NEWS: Mention this change.
40676         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
40677         st_ino always being 0.
40678         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
40679         * lib/cycle-check.c (cycle_check): Likewise.
40680         * lib/same.c (same_name): Likewise.
40681
40682         lstat: avoid mingw compilation error
40683         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
40684         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
40685         lstat ourselves.
40686         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
40687         was adequate.
40688         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
40689         the checks for lstat.
40690         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
40691
40692         link: fix test failure on Solaris 9
40693         * lib/link.c (rpl_link): Don't assume link will catch bogus
40694         trailing slash on source.
40695
40696         test-symlinkat: enhance test
40697         * tests/test-readlink.c (main): Move guts...
40698         * tests/test-readlink.h (test_readlink): ...into new file.
40699         * tests/test-symlink.c (main): Move guts...
40700         * tests/test-symlink.h (test_symlink): ...into new file.
40701         * tests/test-symlinkat.c (main): Use new files for further
40702         coverage.
40703         (do_symlink, do_readlink): New helper functions.
40704         * modules/symlink-tests (Files): Ship new file.
40705         (Depends-on): Add stdbool.
40706         * modules/readlink-tests (Files): Ship new file.
40707         (Depends-on): Add stdbool.
40708         * modules/symlinkat-tests (Files): Use new files.
40709
40710 2009-09-23  Eric Blake  <ebb9@byu.net>
40711
40712         readlink: document portability issue with symlink length
40713         * doc/posix-functions/lstat.texi (lstat): Mention that some file
40714         systems have bogus st_size on symlinks, and mention the
40715         areadlink-with-size module.
40716         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
40717         * doc/posix-functions/readlink.texi (readlink): Mention the
40718         areadlink module, and ERANGE failure.
40719         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
40720         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
40721
40722         readlink: fix Solaris 9 bug with trailing slash
40723         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
40724         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
40725         * doc/posix-functions/readlink.texi (readlink): Document this.
40726         * modules/readlink-tests: New test.
40727         * tests/test-readlink.c: Likewise.
40728
40729         readlink: fix cygwin 1.5.x bug with return type
40730         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
40731         * lib/unistd.in.h (readlink): Use ssize_t.
40732         * lib/readlink.c (readlink): Likewise.
40733         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40734         * modules/unistd (Makefile.am): Substitute it.
40735         * lib/unistd.in.h (readlink): Declare replacement.
40736         * doc/posix-functions/readlink.texi (readlink): Document this.
40737
40738         symlink: use throughout gnulib
40739         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
40740         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
40741         symlink is not used.
40742         * modules/symlinkat (Depends-on): Add symlink.
40743         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
40744         * modules/canonicalize-tests (Depends-on): Likewise.
40745         * modules/lstat-tests (Depends-on): Likewise.
40746         * modules/openat-tests (Depends-on): Likewise.
40747         * modules/remove-tests (Depends-on): Likewise.
40748         * modules/rmdir-tests (Depends-on): Likewise.
40749         * modules/unlink-tests (Depends-on): Likewise.
40750         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
40751         * tests/test-canonicalize.c (symlink): Likewise.
40752         * tests/test-fstatat.c (symlink): Likewise.
40753         * tests/test-lstat.c (symlink): Likewise.
40754         * tests/test-remove.c (symlink): Likewise.
40755         * tests/test-rmdir.c (symlink): Likewise.
40756         * tests/test-unlink.c (symlink): Likewise.
40757         * tests/test-unlinkat.c (symlink): Likewise.
40758
40759         symlink: new module, for Solaris 9 bug
40760         * modules/symlink: New file.
40761         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
40762         * lib/symlink.c: Likewise.
40763         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
40764         * modules/unistd (Makefile.am): Substitute them.
40765         * lib/unistd.in.h (symlink): Declare replacement.
40766         * MODULES.html.sh (File system functions): Mention it.
40767         * doc/posix-functions/symlink.texi (symlink): Likewise.
40768         * modules/symlink-tests: New test.
40769         * tests/test-symlink.c: Likewise.
40770
40771 2009-09-23  Bruno Haible  <bruno@clisp.org>
40772
40773         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
40774         when needed.
40775         Test case: gnulib-tool --import --with-tests atexit inttypes.
40776         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
40777
40778 2009-09-23  Bruno Haible  <bruno@clisp.org>
40779
40780         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
40781         subcommand, not in a subshell.
40782
40783 2009-09-22  Eric Blake  <ebb9@byu.net>
40784
40785         unistd: sort replacement declarations
40786         * lib/unistd.in.h: Sort declarations.
40787
40788         open, openat: minor optimization
40789         * lib/open.c (open): If open succeeded, len is non-zero.
40790         * lib/openat.c (rpl_openat): Likewise.
40791
40792         link-follow: ensure correct result
40793         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
40794         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
40795         distinguish between possible failures.
40796
40797 2009-09-21  Eric Blake  <ebb9@byu.net>
40798
40799         fts: avoid compiler warning
40800         * lib/fts.c (dirent_inode_sort_may_be_useful)
40801         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
40802
40803 2009-09-19  Bruno Haible  <bruno@clisp.org>
40804
40805         * lib/progreloc.c (canonicalize_file_name): New declaration.
40806
40807 2009-09-19  Eric Blake  <ebb9@byu.net>
40808
40809         link: fix quoting
40810         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
40811
40812         openat: fix openat bugs on Solaris 9
40813         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
40814         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
40815         * modules/openat (Depends-on): Add open.
40816         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
40817         * modules/fcntl-h (Makefile.am): Substitute it.
40818         * lib/fcntl.in.h (openat): Declare replacement.
40819         * doc/posix-functions/openat.texi (openat): Document this.
40820
40821         openat: move fstatat and unlinkat into correct files
40822         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
40823         compiled.
40824         * lib/openat.c (fstatat, unlinkat): Move...
40825         * lib/fstatat.c (fstatat): ...into correct files.
40826         * lib/unlinkat.c (unlinkat): Likewise.
40827
40828         openat: fix unlinkat bugs on Solaris 9
40829         * lib/unlinkat.c (unlinkat): New file.
40830         * modules/openat (Depends-on): Add unlink.
40831         (Files): Distribute it.
40832         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
40833         trailing slash behavior is broken.
40834         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40835         * modules/unistd (Makefile.am): Substitute it.
40836         * lib/unistd.in.h (unlinkat): Declare replacement.
40837         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
40838
40839         openat: fix fstatat bugs on Solaris 9
40840         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
40841         stat.
40842         * doc/posix-functions/fstatat.texi (fstatat): Document this.
40843
40844         test-unlinkat: enhance test, to expose Solaris 9 bug
40845         * tests/test-unlink.c (main): Factor guts...
40846         * tests/test-unlink.h (test_rmdir_func): ...into new file.
40847         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
40848         * tests/test-rmdir.c (main): Adjust caller.
40849         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
40850         (unlinker): New helper function.
40851         (rmdirat): Enhance check.
40852         * modules/rmdir-tests (Depends-on): Add stdbool.
40853         * modules/unlink-tests (Depends-on): Likewise.
40854         (Files): Add test-unlink.h.
40855         * modules/openat-tests (Files): Likewise.
40856         (Depends-on): Add unlinkdir.
40857
40858         test-fstatat: new test, to expose Solaris 9 bugs
40859         * tests/test-stat.c (main): Factor guts...
40860         * tests/test-stat.h (test_stat_func): ...into new file.
40861         * tests/test-lstat.c (main): Factor guts...
40862         * tests/test-lstat.h (test_lstat_func): ...into new file.
40863         * tests/test-fstatat.c: New file.
40864         * modules/stat-tests (Files): Add test-stat.h.
40865         * modules/lstat-tests (Files): Add test-lstat.h.
40866         (Depends-on): Add stdbool.
40867         * modules/openat-tests (Depends-on): Add pathmax.
40868         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
40869         (Makefile.am): Run new test.
40870
40871         remove: new module, for mingw and Solaris 9 bugs
40872         * modules/remove: New file.
40873         * lib/remove.c: Likewise.
40874         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
40875         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
40876         * modules/stdio (Makefile.am): Use them.
40877         * lib/stdio.in.h (remove): Declare replacement.
40878         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40879         * doc/posix-functions/remove.texi (remove): Likewise.
40880         * modules/remove-tests: New test.
40881         * tests/test-remove.c: Likewise.
40882
40883         unlink: new module, for Solaris 9 bug
40884         * modules/unlink: New file.
40885         * lib/unlink.c: Likewise.
40886         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
40887         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
40888         * modules/unistd (Makefile.am): Use them.
40889         * lib/unistd.in.h (stat): Declare replacement.
40890         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40891         * doc/posix-functions/unlink.texi (unlink): Likewise.
40892         * modules/unlink-tests: New test.
40893         * tests/test-unlink.c: Likewise.
40894
40895         lstat: fix Solaris 9 bug
40896         * lib/lstat.c (lstat): Also check for trailing slash on
40897         non-symlink, non-directories.  Use stat module to simplify logic.
40898         * doc/posix-functions/lstat.texi (lstat): Document it.
40899         * modules/lstat-tests (Depends-on): Add errno, same-inode.
40900         (configure.ac): Check for symlink.
40901         * tests/test-lstat.c (main): Add more tests.
40902
40903         stat: add as dependency to other modules
40904         * modules/chown (Depends-on): Add stat.
40905         * modules/euidaccess (Depends-on): Likewise.
40906         * modules/fchdir (Depends-on): Likewise.
40907         * modules/isdir (Depends-on): Likewise.
40908         * modules/link (Depends-on): Likewise.
40909         * modules/lstat (Depends-on): Likewise.
40910         * modules/mkdir-p (Depends-on): Likewise.
40911         * modules/modechange (Depends-on): Likewise.
40912         * modules/open (Depends-on): Likewise.
40913         * modules/readlink (Depends-on): Likewise.
40914         * modules/same (Depends-on): Likewise.
40915
40916         stat: fix Solaris 9 bug
40917         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
40918         slash.
40919         * lib/stat.c (rpl_stat): Work around it.
40920         * doc/posix-functions/stat.texi (stat): Update documentation.
40921
40922         stat: new module, for mingw bug
40923         * modules/stat: New file.
40924         * lib/stat.c: Likewise.
40925         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
40926         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
40927         * modules/sys_stat (Makefile.am): Use them.
40928         * lib/sys_stat.in.h (stat): Declare replacement.
40929         * lib/openat.c (fstatat): Deal with lstat and stat being function
40930         macros.
40931         * modules/openat (Depends-on): Add inline.
40932         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40933         * doc/posix-functions/stat.texi (stat): Likewise.
40934         * modules/stat-tests: New test.
40935         * tests/test-stat.c: Likewise.
40936
40937 2009-09-19  Jim Meyering  <meyering@redhat.com>
40938
40939         syntax-check: detect unnecessary inclusion of canonicalize.h
40940         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
40941
40942 2009-09-19  Eric Blake  <ebb9@byu.net>
40943
40944         canonicalize-lgpl: adjust clients to use correct header
40945         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
40946         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
40947         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
40948         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
40949         * lib/progreloc.c (includes): Likewise.
40950
40951 2009-09-19  Jim Meyering  <meyering@redhat.com>
40952
40953         test-posixtm.c: correct a comment
40954         * tests/test-posixtm.c: Correct first-line comment.
40955         Spotted by Eric Blake.
40956
40957 2009-09-16  Jim Meyering  <meyering@redhat.com>
40958
40959         posixtm-tests: make T const-correct; add a test case
40960         * tests/test-posixtm.c (T): Declare const.
40961         Add a test for -(2^31+1).
40962         Remove useless can-succeed-only-in-2002 test.
40963
40964         posixtm-tests: adjust the sole failing test
40965         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
40966         expected output matches what mktime now produces.  Cross-checked via
40967         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
40968
40969         posixtm: move #ifdef'd tests into a new module
40970         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
40971         * tests/test-posixtm.c: ... this new file.
40972         * modules/posixtm-tests: New module.
40973
40974 2009-09-19  Eric Blake  <ebb9@byu.net>
40975
40976         openat: simplify use of at-func.c
40977         * lib/at-func.c (includes): Include prerequisites here, to
40978         simplify requirements on client files.
40979         * lib/openat-priv.h: Add double-inclusion guard.
40980         * lib/faccessat.c (includes): Simplify.
40981         * lib/fchmodat.c (includes): Likewise.
40982         * lib/fchownat.c (includes): Likewise.
40983         * lib/mkdirat.c (includes): Likewise.
40984         * lib/mkfifoat.c (includes): Likewise.
40985         * lib/symlinkat.c (includes): Likewise.
40986
40987         openat: allow return of fd 0
40988         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
40989         * modules/save-cwd (Depends-on): Replace fcntl-safer with
40990         unistd-safer.
40991         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
40992         <fcntl.h>; this module does not leak fds.
40993         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
40994         must be allowed to return 0, leaving openat_safer to add the
40995         safety.
40996         (openat_permissive): Avoid writing to just-opened fd 2 if
40997         restoring the current directory fails.
40998         * lib/openat-die.c (openat_restore_fail): Add comment.
40999         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
41000         (save_cwd): Guarantee safe fd, but without use of open_safer.
41001         * tests/test-openat.c: New test.
41002         * modules/openat-tests (Files, Makefile.am): Distribute and build
41003         new file.
41004
41005         relocatable-prog-wrapper: fix build
41006         * modules/relocatable-prog-wrapper (Files): Update name of
41007         canonicalize m4 file, broken on 2009-09-17.
41008         Reported by emad hajjar <aleppos@hotmail.com>.
41009
41010 2009-09-19  Bruno Haible  <bruno@clisp.org>
41011
41012         * lib/safe-alloc.h: Use the standard header with GPL copyright.
41013         * lib/safe-alloc.c: Likewise.
41014         Reported by Ian Beckwith <ianb@erislabs.net>.
41015
41016 2009-09-18  Bruno Haible  <bruno@clisp.org>
41017
41018         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
41019         Reported by <erobles@sensacd.com.mx>.
41020
41021 2009-09-17  Eric Blake  <ebb9@byu.net>
41022
41023         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
41024         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
41025         slashes when checking if last component is missing.
41026         * tests/test-canonicalize.c (main): Test this.
41027
41028         canonicalize, canonicalize-lgpl: honor // if distinct from /
41029         * modules/canonicalize (Files): Add double-slash-root.m4.
41030         * modules/canonicalize-lgpl (Files): Likewise.
41031         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
41032         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
41033         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
41034         fallback definition.
41035         (canonicalize_filename_mode): Use it to protect //.
41036         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
41037         (__realpath): Likewise.
41038         * tests/test-canonicalize.c (main): Test this.
41039         * tests/test-canonicalize-lgpl.c (main): Likewise.
41040         * modules/canonicalize-tests (Depends-on): Add same-inode.
41041         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
41042
41043         canonicalize-lgpl: fix glibc bug with trailing slash
41044         * m4/canonicalize-lgpl.m4: Move contents...
41045         * m4/canonicalize.m4: ...here.
41046         (gl_CANONICALIZE_LGPL): Factor realpath check...
41047         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
41048         glibc 2.3.5 bug, fixed 2005-04-27.
41049         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
41050         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
41051         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
41052         * modules/canonicalize-lgpl (Files): Manage file rename.
41053         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
41054         * modules/stdlib (Makefile.am): Substitute witness.
41055         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
41056         is needed.
41057         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
41058         replacement is required.
41059         * lib/canonicalize.c (canonicalize_file_name): Likewise.
41060         * doc/glibc-functions/canonicalize_file_name.texi
41061         (canonicalize_file_name): Document this.
41062         * doc/posix-functions/realpath.texi (realpath): Likewise.
41063
41064         canonicalize-lgpl: reject non-directory with trailing slash
41065         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
41066         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
41067         catches failures in glibc 2.3.5.
41068         * tests/test-canonicalize.c (main): Likewise.
41069
41070         canonicalize-lgpl: use native realpath if it works
41071         * lib/canonicalize-lgpl.c (realpath): Guard with
41072         FUNC_REALPATH_WORKS.
41073         * lib/stdlib.in.h (realpath): Make declaration optional based on
41074         HAVE_REALPATH.
41075         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
41076         native realpath works.
41077         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
41078         * modules/stdlib (Makefile.am): Substitute witness.
41079
41080         canonicalize, canonicalize-lgpl: use <stdlib.h>
41081         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
41082         (Include): Mention <stdlib.h>.
41083         (configure.ac): Mention functions we provide.
41084         * modules/canonicalize (configure.ac): Likewise.
41085         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
41086         realpath if canonicalize_file_name is missing.
41087         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
41088         * modules/stdlib (Makefile.am): Substitute witnesses.
41089         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
41090         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
41091         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
41092         * NEWS: Document this.
41093         * doc/glibc-functions/canonicalize_file_name.texi
41094         (canonicalize_file_name): Likewise.
41095         * doc/posix-functions/realpath.texi (realpath): Likewise.
41096         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
41097
41098         test-canonicalize: consolidate into single C program
41099         * tests/test-canonicalize.sh: Delete; move setup into...
41100         * tests/test-canonicalize.c (main): ...the program, making it
41101         easier to run in debugger.  Add some tests.
41102         * modules/canonicalize-tests (Files): Remove unused file.
41103         (Depends-on): Add progname.
41104         (configure.ac, Makefile.am): Simplify.
41105
41106         test-canonicalize-lgpl: consolidate into single C program
41107         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
41108         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
41109         easier to run in debugger.  Add some tests.
41110         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
41111         (configure.ac, Makefile.am): Simplify.
41112
41113         canonicalize: avoid resolvepath
41114         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
41115         unnecessary checks.
41116         * lib/canonicalize.c (includes): Simplify.
41117         (canonicalize_file_name): Drop resolvepath implementation.
41118         * modules/canonicalize (Depends-on): Drop filenamecat.
41119
41120         canonicalize: don't lose errno
41121         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
41122         over calls to free.
41123
41124         canonicalize: simplify errno handling
41125         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
41126         assignment.
41127
41128         canonicalize, canonicalize-lgpl: update module dependencies
41129         * modules/canonicalize (Depends-on): Add extensions, lstat,
41130         pathmax, stdlib.
41131         (Files): Drop pathmax.h.
41132         (configure.ac): Adjust macro name.
41133         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
41134         lstat, stdlib, sys_stat.
41135         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
41136         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
41137         extensions.
41138         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
41139         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
41140         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
41141         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
41142         declaration, if available.
41143         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
41144         we can rely on the readlink module.
41145         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
41146         (includes): Use <unistd.h> unconditionally.
41147
41148 2009-09-17  Eric Blake  <ebb9@byu.net>
41149
41150         maint: make Include sections of modules consistent
41151         * modules/alloca: Use only header name; no need to list #include.
41152         * modules/alloca-opt: Likewise.
41153         * modules/arpa_inet: Likewise.
41154         * modules/canon-host: Likewise.
41155         * modules/configmake: Likewise.
41156         * modules/dirent: Likewise.
41157         * modules/eealloc: Likewise.
41158         * modules/environ: Likewise.
41159         * modules/fchdir: Likewise.
41160         * modules/fcntl: Likewise.
41161         * modules/fcntl-h: Likewise.
41162         * modules/gethrxtime: Likewise.
41163         * modules/gettime: Likewise.
41164         * modules/ignore-value: Likewise.
41165         * modules/inet_ntop: Likewise.
41166         * modules/inet_pton: Likewise.
41167         * modules/inttypes: Likewise.
41168         * modules/isnand-nolibm: Likewise.
41169         * modules/isnanf-nolibm: Likewise.
41170         * modules/mbchar: Likewise.
41171         * modules/mbfile: Likewise.
41172         * modules/mbiter: Likewise.
41173         * modules/mbuiter: Likewise.
41174         * modules/netdb: Likewise.
41175         * modules/netinet_in: Likewise.
41176         * modules/nproc: Likewise.
41177         * modules/pagealign_alloc: Likewise.
41178         * modules/poll: Likewise.
41179         * modules/printf-frexp: Likewise.
41180         * modules/pthread: Likewise.
41181         * modules/putenv: Likewise.
41182         * modules/random_r: Likewise.
41183         * modules/relocatable-prog: Likewise.
41184         * modules/search: Likewise.
41185         * modules/select: Likewise.
41186         * modules/selinux-h: Likewise.
41187         * modules/settime: Likewise.
41188         * modules/signal: Likewise.
41189         * modules/size_max: Likewise.
41190         * modules/socklen: Likewise.
41191         * modules/ssize_t: Likewise.
41192         * modules/stdarg: Likewise.
41193         * modules/stdbool: Likewise.
41194         * modules/stddef: Likewise.
41195         * modules/stdint: Likewise.
41196         * modules/stdio: Likewise.
41197         * modules/stdlib: Likewise.
41198         * modules/string: Likewise.
41199         * modules/strings: Likewise.
41200         * modules/sys_file: Likewise.
41201         * modules/sys_ioctl: Likewise.
41202         * modules/sys_select: Likewise.
41203         * modules/sys_socket: Likewise.
41204         * modules/sys_stat: Likewise.
41205         * modules/sys_time: Likewise.
41206         * modules/sys_times: Likewise.
41207         * modules/sys_utsname: Likewise.
41208         * modules/sys_wait: Likewise.
41209         * modules/sysexits: Likewise.
41210         * modules/time: Likewise.
41211         * modules/times: Likewise.
41212         * modules/tmpfile: Likewise.
41213         * modules/trim: Likewise.
41214         * modules/unistd: Likewise.
41215         * modules/wchar: Likewise.
41216         * modules/wctype: Likewise.
41217
41218 2009-09-17  Bruno Haible  <bruno@clisp.org>
41219
41220         Make getdate.y compile on QNX and NetBSD 5 / i386.
41221         * m4/getdate.m4 (gl_GETDATE): Conditionally define
41222         TIME_T_FITS_IN_LONG_INT.
41223         * lib/getdate.y (long_time_t): New type.
41224         (relative_time): Change type of 'seconds' field to long_time_t.
41225         (get_date): Update types of local variables. Check against overflow
41226         during conversion from long_time_t to time_t.
41227         Reported by Matt Kraai <kraai@ftbfs.org>
41228         and Hasso Tepper <hasso@netbsd.org>.
41229
41230 2009-09-17  Bruno Haible  <bruno@clisp.org>
41231
41232         * modules/COPYING: Update copyright years.
41233         * modules/README: Likeiwse.
41234         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
41235         Reported by Ian Beckwith <ianb@erislabs.net>.
41236
41237 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
41238
41239         * users.txt: Update references for gnuit package.
41240
41241 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
41242
41243         * m4/getdelim.m4: Fix typo in copyright line.
41244
41245 2009-09-17  Bruno Haible  <bruno@clisp.org>
41246
41247         * lib/atoll.c: Use the standard header with GPL copyright.
41248         * lib/argz.in.h: Likewise.
41249         * lib/glob.c: Likewise.
41250         * lib/glob-libc.h: Likewise.
41251         * lib/random_r.c: Likewise.
41252         * lib/siglist.h: Likewise.
41253         * lib/strsignal.c: Likewise.
41254         Reported by Ian Beckwith <ianb@erislabs.net>.
41255
41256 2009-09-17  Eric Blake  <ebb9@byu.net>
41257
41258         rmdir: ensure correct dependency order
41259         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
41260
41261 2009-09-17  Bruno Haible  <bruno@clisp.org>
41262
41263         Disable assertion that fails on NetBSD 5 / i386.
41264         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
41265         Reported by Sam Steingold <sds@gnu.org>
41266         and Hasso Tepper <hasso@netbsd.org>.
41267
41268 2009-09-16  Eric Blake  <ebb9@byu.net>
41269
41270         unlinkdir: port to mingw
41271         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
41272         on which no one can unlink a directory.
41273
41274         stdlib: sort witness names
41275         * modules/stdlib (Makefile.am): Sort replacements.
41276         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
41277         * lib/stdlib.in.h: Likewise.
41278
41279         parse-duration-tests: avoid link failure
41280         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
41281         LIBINTL.
41282         Reported by Tom G. Christensen.
41283
41284         openat-tests: ensure unlinkat behaves like rmdir
41285         * tests/test-rmdir.c (main): Factor guts...
41286         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
41287         * modules/rmdir-tests (Files): Ship new file.
41288         * modules/openat-tests: New test.
41289         * tests/test-unlinkat.c: Likewise.
41290
41291         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
41292         * modules/rmdir-errno (Status, Notice): Now obsolete.
41293
41294         rmdir: work around cygwin 1.5.x and mingw bugs
41295         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
41296         * lib/rmdir.c (rmdir): Work around it.
41297         * modules/rmdir (Status, Notice): No longer obsolete.
41298         (Files): Add dos.m4.
41299         (Depends-on): Add unistd.
41300         (configure.ac): Set witnesses.
41301         (License): Relax to LGPLv2+.
41302         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
41303         * modules/unistd (Makefile.am): Substitute witnesses.
41304         * lib/unistd.in.h (rmdir): Declare replacement.
41305         * doc/posix-functions/rmdir.texi (rmdir): Document this.
41306         * modules/rmdir-tests: New tests.
41307         * tests/test-rmdir.c: Likewise.
41308
41309 2009-09-15  Eric Blake  <ebb9@byu.net>
41310
41311         fchdir: improve use of replacement functions
41312         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
41313         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
41314         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
41315         REPLACE_CLOSEDIR.
41316         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
41317         * modules/sys_stat (Makefile.am): Substitute correct witness.
41318         * modules/dirent (Makefile.am): Likewise.
41319         * modules/unistd (Makefile.am): Likewise.
41320         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
41321         * lib/unistd.in.h (dup): Likewise.
41322         * lib/sys_stat.in.h (fstat): Likewise.
41323
41324         maint: ignore gnulib-tool temp files
41325         * .gitignore: Ignore files created during gnulib-tool --test.
41326
41327 2009-09-13  Jim Meyering  <meyering@redhat.com>
41328
41329         posixtm: don't reject a time that specify "60" as the number of seconds
41330         * lib/posixtm.c (posixtime): The code to reject invalid dates
41331         would also reject a time specified with the .60 suffix.
41332         But POSIX allows that, in order to accommodate leap seconds.
41333         So don't reject it.
41334         (main): Adjust tests accordingly.
41335         * modules/posixtm (Depends-on): Add stpcpy.
41336
41337 2009-09-11  Jim Meyering  <meyering@redhat.com>
41338
41339         announce-gen: include [$release_type] in emitted Subject:
41340         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
41341         e.g., [stable] in the emitted Subject: line.
41342
41343 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41344
41345         Remove obsolete macros from several modules.
41346         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
41347         obsolete Autoconf macros with their modern counterparts.
41348         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
41349         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
41350         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
41351         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
41352         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
41353         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
41354         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
41355         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
41356         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
41357         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
41358         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
41359         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
41360         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
41361         * m4/sockets.m4 (gl_SOCKETS): Likewise.
41362         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
41363         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
41364         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
41365         * m4/time_r.m4 (gl_TIME_R): Likewise.
41366         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
41367         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
41368         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
41369
41370         Fix copyright header in build-aux scripts.
41371         * build-aux/git-version-gen: Fix copyright header to match GPLv3
41372         recommendation.
41373         * build-aux/ncftpput-ftp: Likewise.
41374         * build-aux/update-copyright: Likewise.
41375
41376 2009-09-09  Eric Blake  <ebb9@byu.net>
41377
41378         test-link: allow Linux choice of errno
41379         * tests/test-link.c (main): Relax test for alternate error.
41380
41381         strndup: fix improper m4 caching
41382         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
41383         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
41384         (gl_PREREQ_STRNDUP): Delete.
41385         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
41386         * modules/string (Makefile.am): Substitute it.
41387         * lib/string.in.h (strndup): Modernize prototype.
41388
41389         getcwd: port to mingw
41390         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
41391         different from the POSIX assumptions made throughout the getcwd
41392         module; fortunately, the mingw getcwd does not need replacement.
41393         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
41394         * modules/getcwd-tests: New test.
41395         * tests/test-getcwd.c: Likewise.
41396
41397         link: fix platform bugs
41398         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
41399         * lib/link.c (link): Work around them.  Fix related mingw bug.
41400         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
41401         * modules/unistd (Makefile.am): Substitute it.
41402         * lib/unistd.in.h (link): Declare replacement.
41403         * doc/posix-functions/link.texi (link): Document this.
41404         * modules/link (Depends-on): Add strdup-posix, sys_stat.
41405
41406         test-link: consolidate into single C program, test more cases
41407         * tests/test-link.sh: Delete.
41408         * tests/test-link.c: Test more error conditions.  Exposes bugs on
41409         at least Cygwin and Solaris.
41410         * modules/link-tests (Files): Remove unused file.
41411         (Depends-on): Add errno, sys_stat.
41412         (Makefile.am): Simplify.
41413
41414 2009-09-08  Bruno Haible  <bruno@clisp.org>
41415
41416         Work around towlower, towupper bug on mingw.
41417         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
41418         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
41419         * doc/posix-functions/towlower.texi: Mention the mingw bug.
41420         * doc/posix-functions/towupper.texi: Likewise.
41421         Reported by Eric Blake.
41422
41423 2009-09-08  Jim Meyering  <meyering@redhat.com>
41424
41425         build: don't try to run autoheader if we don't use it
41426         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
41427         is not used in configure.ac.
41428
41429 2009-09-08  Eric Blake  <ebb9@byu.net>
41430
41431         euidaccess: fix compilation error
41432         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
41433
41434         rawmemchr: relax license
41435         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
41436         okay.
41437         Reported by Jim Meyering.
41438
41439         mkfifoat: new module
41440         * modules/mkfifoat: New file.
41441         * lib/mkfifoat.c: Likewise.
41442         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
41443         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
41444         * modules/sys_stat (Makefile.am): Use them.
41445         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
41446         * MODULES.html.sh (File system functions): Mention module.
41447         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
41448         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
41449         * modules/mkfifoat-tests: New test.
41450         * tests/test-mkfifoat.c: Likewise.
41451
41452         strchrnul: relax license
41453         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
41454         okay.
41455         Reported by Jim Meyering.
41456
41457 2009-09-08  Eric Blake  <ebb9@byu.net>
41458
41459         fstatat: fix compilation on Solaris
41460         * lib/fstatat.c (includes): Add fcntl.h.
41461         Reported by Pádraig Brady.
41462
41463 2009-09-07  Eric Blake  <ebb9@byu.net>
41464
41465         rename: modernize replacement
41466         * modules/rename (Depends-on): Add stdio.
41467         (configure.ac): Declare witness.
41468         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
41469         stdio take care of replacement.
41470         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
41471         * modules/stdio (Makefile.am): Substitute them.
41472         * lib/stdio.in.h (rename): Declare replacement.
41473         * lib/rename.c (includes): Allow cross-compilation to non-windows
41474         machines.
41475         * doc/posix-functions/rename.texi (rename): Improve
41476         documentation.
41477
41478         stdio: sort witness names
41479         * modules/stdio (Makefile.am): Sort replacements.
41480         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
41481         * lib/stdio.in.h: Likewise.
41482
41483         getcwd: minor cleanups
41484         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
41485         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
41486
41487         openat: provide more convenience names
41488         * modules/faccessat (configure.ac): Add C witness.
41489         * lib/unistd.in.h (readlinkat): Fix typo.
41490         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
41491         convenience wrappers.
41492         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
41493         wrappers in syntax checks.
41494
41495 2009-09-06  Eric Blake  <ebb9@byu.net>
41496
41497         doc: fix comments in recent patches
41498         * lib/faccessat.c: Mention correct function.
41499         * lib/fchmodat.c: Likewise.
41500         * lib/fchownat.c: Likewise.
41501         * lib/symlinkat.c: Likewise.
41502         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
41503         constants.
41504
41505         faccessat, symlinkat: continue cleanup of previous patch
41506         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
41507         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
41508         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
41509         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
41510         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
41511         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
41512         set.
41513
41514 2009-09-06  Bruno Haible  <bruno@clisp.org>
41515
41516         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
41517         (fstatat): Declare if GNULIB_FSTATAT is set.
41518         (mkdirat): Declare if GNULIB_MKDIRAT is set.
41519         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
41520         (unlinkat): Declare if GNULIB_UNLINKAT is set.
41521         * modules/fcntl-h (Files): Remove m4/openat.m4.
41522         * modules/sys_stat (Files): Remove m4/openat.m4.
41523         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
41524         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
41525         * modules/unistd (Files): Remove m4/openat.m4.
41526         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
41527         GNULIB_OPENAT.
41528         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
41529         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
41530         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
41531         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
41532         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
41533         gl_OPENAT_DEFAULTS.
41534         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
41535         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
41536         Don't require gl_OPENAT_DEFAULTS.
41537         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
41538         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
41539         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
41540         (gl_OPENAT_DEFAULTS): Remove macro.
41541
41542 2009-09-06  Bruno Haible  <bruno@clisp.org>
41543
41544         * modules/openat (configure.ac): Remove unneeded witness.
41545
41546 2009-09-06  Bruno Haible  <bruno@clisp.org>
41547
41548         Set errno to ENOSYS when a function is entirely unsupported.
41549         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
41550         EOPNOTSUPP.
41551         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
41552         * modules/chown (Depends-on): Remove errno.
41553
41554 2009-09-06  Bruno Haible  <bruno@clisp.org>
41555
41556         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
41557
41558 2009-09-06  Bruno Haible  <bruno@clisp.org>
41559
41560         * lib/sys_stat.in.h: Fix preprocessor command indentation.
41561
41562 2009-09-06  Ben Pfaff  <blp@gnu.org>
41563             Bruno Haible  <bruno@clisp.org>
41564
41565         Work around a glibc bug in strtok_r.
41566         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
41567         Undefine if UNDEFINE_STRTOK_R is set.
41568         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
41569         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
41570         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
41571         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
41572         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
41573         UNDEFINE_STRTOK_R.
41574         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
41575
41576 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
41577
41578         exclude: minor fix
41579         * lib/exclude.c: Include wctype.h
41580
41581 2009-09-06  Akim Demaille  <demaille@gostai.com>
41582
41583         bootstrap: improve error message
41584         * build-aux/bootstrap (find_tool): Upon failure, report the list
41585         of candidates.
41586         Honor the initial value of the envvar.
41587
41588 2009-09-05  Eric Blake  <ebb9@byu.net>
41589
41590         symlinkat: new module
41591         * modules/symlinkat: New file.
41592         * lib/symlinkat.c: Likewise.
41593         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
41594         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
41595         * modules/unistd (Makefile.am): Use them.
41596         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
41597         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
41598         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
41599         * MODULES.html.sh (File system functions): Mention module.
41600         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
41601         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
41602         * modules/symlinkat-tests: New test.
41603         * tests/test-symlinkat.c: Likewise.
41604
41605         test-openat-safer: add more checks
41606         * tests/test-openat-safer.c (main): Check more code paths.
41607
41608 2009-09-05  Jim Meyering  <meyering@redhat.com>
41609
41610         syntax-check: detect unnecessary inclusion of openat.h
41611         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
41612
41613 2009-09-05  Bruno Haible  <bruno@clisp.org>
41614
41615         Support towlower, towupper.
41616         * doc/posix-functions/towlower.texi: Mention module wctype.
41617         * doc/posix-functions/towupper.texi: Likewise.
41618         * lib/wctype.in.h (towlower, towupper): New functions.
41619         * tests/test-wctype.c: Include stdio.h, stdlib.h.
41620         (ASSERT): New macro.
41621         (e): New variable.
41622         (main): Test also towlower, towupper. Test WEOF argument.
41623         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
41624
41625 2009-09-05  Bruno Haible  <bruno@clisp.org>
41626
41627         Fix conversion behaviour when the input is invalid.
41628         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
41629         mark occurring in first pass of indirect conversion.
41630         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
41631         input.
41632         Found by clang's static analyzer.
41633
41634 2009-09-05  Bruno Haible  <bruno@clisp.org>
41635
41636         * tests/test-striconveh.c (main): Test indirect conversion on platforms
41637         where direct conversion is possible.
41638
41639 2009-09-04  Eric Blake  <ebb9@byu.net>
41640
41641         openat: fail with ENOENT on empty name
41642         * lib/openat-proc.c (openat_proc_name): Special-case the empty
41643         buffer.
41644
41645         link-follow: fix logic bug in prior patch
41646         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
41647         reversed sense of yes and no in prior patch.  Avoid confusing
41648         compilation failure with desired semantics.
41649
41650         link-follow: accomodate mingw and cross-compilation
41651         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
41652         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
41653         cross-compilation results to -1, to make linkat easier to
41654         implement when cross-compiling.  Trivially support mingw.
41655         * modules/link-follow (configure.ac): Call new name.
41656         * NEWS: Mention this.
41657
41658 2009-09-03  Eric Blake  <ebb9@byu.net>
41659
41660         faccessat: compile replacement
41661         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
41662         needed.
41663
41664         fts: fix compilation error
41665         * lib/fts.c (includes): Re-add "openat.h", for
41666         openat_needs_fchdir.
41667
41668         faccessat: new module
41669         * modules/faccessat: New file.
41670         * lib/faccessat.c: Likewise.
41671         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
41672         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41673         * modules/unistd (Makefile.am): Use it.
41674         * lib/unistd.in.h (faccessat): Declare it.
41675         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
41676         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
41677         * MODULES.html.sh (File system functions): Mention it.
41678         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
41679         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
41680
41681         euidaccess: prefer POSIX over non-standard implementation
41682         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
41683         * lib/euidaccess.c (euidaccess): Use it if available.
41684
41685         openat: make template easier to use
41686         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
41687         AT_FUNC_F2 to be undefined.
41688         (VALIDATE_FLAG): New macro; use it to reject bad flags.
41689         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
41690         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
41691         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
41692         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
41693         Likewise.
41694         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
41695         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
41696         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
41697         Likewise.
41698
41699         openat: declare in POSIX headers
41700         * NEWS: Mention this.
41701         * modules/openat (configure.ac): Declare witnesses.
41702         (Depends-on): Add fcntl-h, sys_stat, unistd.
41703         (Include): Mention correct headers.
41704         * modules/fcntl-h (Depends-on): Add link-warning.
41705         (Files): Add openat.m4.
41706         (Makefile.am): Substitute witnesses.
41707         * modules/sys_stat (Files, Makefile.am): Likewise.
41708         * modules/unistd (Files, Makefile.am): Likewise.
41709         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
41710         (gl_OPENAT_DEFAULTS): New macro.
41711         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
41712         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
41713         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
41714         (SYS_STAT_H): Remove unused variable.
41715         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
41716         * lib/fcntl--.h (includes): Remove unneeded header.
41717         * lib/openat-safer.c (includes): Likewise.
41718         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
41719         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
41720         appropriate headers.
41721         (__OPENAT_PREFIX): Delete.
41722         * lib/fcntl.in.h (openat): Provide declaration.
41723         (AT_FDCWD): Fix Solaris bug.
41724         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
41725         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
41726         * lib/fchmodat.c (includes):  Adjust to find declaration.
41727         * lib/fchownat.c (includes): Likewise.
41728         * lib/mkdirat.c (includes): Likewise.
41729         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
41730         still visible.
41731
41732 2009-09-02  Eric Blake  <ebb9@byu.net>
41733
41734         errno: use consistently
41735         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
41736         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
41737         * lib/canonicalize.c (ELOOP): Likewise.
41738         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
41739         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
41740         * lib/lchown.c (EOPNOTSUPP): Likewise.
41741         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
41742         * lib/savewd.c (ESTALE): Likewise.
41743         * lib/settime.c (ENOSYS): Likewise.
41744         * lib/utimens.c (ENOSYS): Likewise.
41745         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
41746         * lib/chdir-safer.c (ELOOP): Likewise.
41747         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
41748         * modules/c-stack (Depends-on): Add errno.
41749         * modules/canonicalize (Depends-on): Likewise.
41750         * modules/chdir-safer (Depends-on): Likewise.
41751         * modules/fdopendir (Depends-on): Likewise.
41752         * modules/inet_ntop (Depends-on): Likewise.
41753         * modules/inet_pton (Depends-on): Likewise.
41754         * modules/lchown (Depends-on): Likewise.
41755         * modules/openat (Depends-on): Likewise.
41756         * modules/savewd (Depends-on): Likewise.
41757         * modules/settime (Depends-on): Likewise.
41758         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
41759
41760         fts: avoid leaking fds
41761         * modules/fts (Depends-on): Add cloexec.
41762         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
41763         flag.
41764
41765         fts: make directory fds more robust
41766         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
41767         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
41768
41769         backupfile, chdir-long, fts, savedir: make safer
41770         * lib/backupfile.c (includes): Use "dirent--.h", since
41771         numbered_backup can write to stderr during readdir.
41772         * lib/savedir.c (includes): Likewise.
41773         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
41774         emulation can write to stderr on failure.
41775         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
41776         * lib/getcwd.c: Document why opendir_safer is unused.
41777         * lib/glob.c: Likewise.
41778         * lib/scandir.c: Likewise.
41779         * lib/openat-proc.c: Likewise, for open_safer.
41780         * modules/backupfile (Depends-on): Add dirent-safer.
41781         * modules/savedir (Depends-on): Likewise.
41782         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
41783         * modules/chdir-long (Depends-on): Add openat-safer.
41784
41785         openat-safer: new module
41786         * modules/openat-safer: New file.
41787         * lib/openat-safer.c: Likewise.
41788         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
41789         * lib/fcntl-safer.h (openat_safer): Declare.
41790         * lib/fcntl--.h (openat): Override.
41791         * MODULES.html.sh (File descriptor based I/O): Mention it.
41792         * lib/openat.h: Add double-inclusion guards.
41793         * lib/openat.c (includes): Only include "fcntl-safer.h", not
41794         "fcntl--.h", so we can implement openat.
41795         * modules/openat-safer-tests: New test.
41796         * tests/test-openat-safer.c: New file.
41797
41798         dirent-safer: new module
41799         * modules/dirent-safer: New file.
41800         * lib/dirent--.h: Likewise.
41801         * lib/dirent-safer.h: Likewise.
41802         * lib/opendir-safer.c: Likewise.
41803         * m4/dirent-safer.m4: Likewise.
41804         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
41805         * modules/dirent-safer-tests: New test.
41806         * tests/test-dirent-safer.c: New file.
41807         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
41808
41809         fdopendir: optimize on mingw
41810         * lib/unistd.in.h (_gl_directory_name): New prototype.
41811         * lib/fchdir.c (_gl_directory_name): Implement it.
41812         (fchdir): Use it to simplify implementation.
41813         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
41814         fchdir, when available, to avoid calling [f]chdir().
41815
41816         fdopendir: split into its own module
41817         * lib/openat.c (fdopendir): Move...
41818         * lib/fdopendir.c: ...into new file.
41819         * modules/fdopendir: New module.
41820         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
41821         * modules/openat (Depends-on): Add fdopendir.
41822         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
41823         fdopendir here.
41824         * modules/savedir (Depends-on): Only need fdopendir, not full
41825         openat.
41826         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
41827         * lib/openat.h (fdopendir): Drop prototype.
41828         * lib/dirent.in.h (fdopendir): Provide prototype.
41829         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
41830         * modules/dirent (Makefile.am): Substitute them.
41831         * MODULES.html.sh (File system functions): Mention it.
41832         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
41833         * modules/fdopendir-tests: New file.
41834         * tests/test-fdopendir.c: Likewise.
41835
41836         fchdir: use more consistent macro convention
41837         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
41838         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
41839         REPLACE_FCHDIR, rather than relying on config.h macros.
41840         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
41841         inside a single make-time REPLACE_FCHDIR block, rather than using
41842         the config.h FCHDIR_REPLACEMENT.
41843         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
41844         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
41845         Manage fstat replacement.
41846         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
41847         REPLACE_FCHDIR.
41848         * modules/sys_stat (Files): Add m4/unistd_h.m4.
41849         (Makefile.am): Substitute REPLACE_FCHDIR.
41850         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
41851         FCHDIR_REPLACEMENT.
41852         * lib/dup-safer.c (dup_safer): Likewise.
41853         * lib/dup2.c (rpl_dup2): Likewise.
41854         * lib/dup3.c (rpl_dup3): Likewise.
41855         * lib/open.c (rpl_open): Likewise.
41856
41857         fchdir: simplify error handling, and support dup3
41858         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
41859         stdbool, malloc-posix, realloc-posix.
41860         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
41861         (ensure_dirs_slot): Return false on allocation failure.
41862         (rpl_dup2): Delete.
41863         (_gl_register_dup): New function.
41864         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
41865         (_gl_register_fd): Close fd on allocation failure.
41866         * lib/fcntl.in.h (_gl_register_fd): Update signature.
41867         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
41868         prototype.
41869         (rpl_dup2_fchdir): Delete prototype.
41870         * lib/open.c (open): Update caller.
41871         * lib/dup2.c (dup2): Track fchdir metadata.
41872         * lib/dup3.c (dup3): Likewise.
41873         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
41874         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
41875
41876 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41877
41878         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
41879         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
41880         don't pass arguments to AC_OUTPUT.
41881
41882 2009-09-02  Bruno Haible  <bruno@clisp.org>
41883
41884         * modules/mkdtemp (License): Relicense under LGPLv2+.
41885         Reported by Paolo Bonzini.
41886
41887 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41888
41889         Replace uses of obsolete autoconf macros in Jim's modules.
41890         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
41891         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
41892         can evoke a warning from autoconf when run with -Wobsolete
41893         enabled.  They were declared obsolete for good reasons (see
41894         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
41895         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
41896         should not continue using the deprecated macros.
41897         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
41898         obsolete Autoconf macros with modern counterparts.
41899         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
41900         * m4/dos.m4 (gl_AC_DOS): Likewise.
41901         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
41902         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
41903         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
41904         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
41905         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
41906         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
41907         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
41908         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
41909         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
41910         Likewise.
41911         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
41912         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
41913         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
41914         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
41915         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
41916         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
41917
41918 2009-09-01  Eric Blake  <ebb9@byu.net>
41919
41920         fchdir: fix off-by-one bug in previous patch
41921         * lib/fchdir.c (rpl_fstat): Use correct bounds.
41922         (_gl_unregister_fd): Delete useless if.
41923
41924 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
41925
41926         maint.mk: sort the list of syntax-check rules
41927         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
41928         easier to get a sense of progress when the rules are run sequentially
41929         and take a long time.
41930
41931 2009-09-01  Simon Josefsson  <simon@josefsson.org>
41932
41933         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
41934         * modules/netinet_in: Likewise.
41935         * modules/sys_file: Likewise.
41936         * modules/sys_ioctl: Likewise.
41937         * modules/sys_select: Likewise.
41938         * modules/sys_socket: Likewise.
41939         * modules/sys_stat: Likewise.
41940         * modules/sys_time: Likewise.
41941         * modules/sys_times: Likewise.
41942         * modules/sys_utsname: Likewise.
41943         * modules/sys_wait: Likewise.
41944
41945 2009-09-01  Jim Meyering  <meyering@redhat.com>
41946
41947         fts: help ensure that return values are not ignored
41948         * lib/fts_.h (__GNUC_PREREQ): Define.
41949         (__attribute_warn_unused_result__): Define.
41950         (fts_children, fts_close, fts_open, fts_read): Declare with
41951         __attribute_warn_unused_result__.
41952
41953         fts: fts_close now fails also when closing a dir file descriptor fails
41954         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
41955         and propagate to caller, along with errno.
41956
41957         announce-gen: correct formatting in --help output
41958         * build-aux/announce-gen (usage): Move the one-line description in
41959         --help output "up", to where it belongs, just after Usage:.
41960
41961 2009-08-31  Eric Blake  <ebb9@byu.net>
41962
41963         fchdir: port to mingw
41964         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
41965         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
41966         opened, then use a substitute.
41967         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
41968         replacement.
41969         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
41970         (_gl_register_fd): No need to check stat if open already filters
41971         all directories.
41972         (fchdir): Fix error condition to match POSIX.
41973         * modules/fchdir (Depends-on): Add sys_stat.
41974         * doc/posix-functions/open.texi (open): Document the limitation.
41975         * modules/fchdir-tests: New file.
41976         * tests/test-fchdir.c: Likewise.
41977
41978         canonicalize: allow cross-testing from cygwin to mingw
41979         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
41980         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
41981         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
41982         Likewise.
41983         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
41984         target does not support symlinks.
41985         * tests/test-canonicalize-lgpl.sh: Likewise.
41986
41987         chown: avoid compilation warning on mingw
41988         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
41989         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
41990         mingw.
41991         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
41992         * modules/chown (Depends-on): Add errno.
41993
41994 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
41995
41996         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
41997         command.
41998
41999 2009-08-31  Jim Meyering  <meyering@redhat.com>
42000
42001         canonicalize: remove useless initialization
42002         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
42003         initialization of local, "end".
42004
42005 2009-08-30  Bruno Haible  <bruno@clisp.org>
42006
42007         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
42008         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
42009         ENOSYS.
42010
42011 2009-08-30  Bruno Haible  <bruno@clisp.org>
42012
42013         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
42014         /usr/xpg4/bin/tr when it exists.
42015         * tests/test-pipe-filter-gi1.sh: Likewise.
42016
42017 2009-08-30  Bruno Haible  <bruno@clisp.org>
42018
42019         Work around deficient /usr/bin/id program on Solaris.
42020         * tests/test-file-has-acl.sh (ID): New variable.
42021         * tests/test-set-mode-acl.sh (ID): Likewise.
42022         * tests/test-copy-acl.sh (ID): Likewise.
42023         * tests/test-copy-file.sh (ID): Likewise.
42024
42025 2009-08-30  Bruno Haible  <bruno@clisp.org>
42026
42027         New module 'xstriconveh'.
42028         * lib/xstriconveh.h: New file.
42029         * lib/xstriconveh.c: New file.
42030         * modules/xstriconveh: New file.
42031
42032 2009-08-30  Bruno Haible  <bruno@clisp.org>
42033
42034         Make it easier to use mem_cd_iconveh.
42035         * lib/striconveh.h (iconveh_t): New type.
42036         (iconveh_open, iconveh_close): New declarations.
42037         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
42038         with a single 'const iconveh_t *' argument.
42039         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
42040         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
42041         with a single 'const iconveh_t *' argument.
42042         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
42043         * tests/test-striconveh.c (main): Update.
42044         * NEWS: Mention the change.
42045
42046 2009-08-30  Bruno Haible  <bruno@clisp.org>
42047
42048         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
42049         problem.
42050
42051 2009-08-30  Bruno Haible  <bruno@clisp.org>
42052
42053         Work around iconv_open problem on Solaris.
42054         * lib/iconv_open-solaris.gperf: New file.
42055         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
42056         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
42057         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
42058         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
42059         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
42060         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
42061
42062 2009-08-29  Jim Meyering  <meyering@redhat.com>
42063
42064         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
42065         * top/maint.mk (cvs-check): Remove target; it was just an alias
42066         to the better-named vc-diff-check.
42067         (maintainer-distcheck): Remove rule.  It was used only from
42068         the (alpha/beta/major) target, and all of its commands but one
42069         were coreutils-specific.
42070         (vc-dist): Remove rule.
42071         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
42072         Run vc-diff-check, not vc-dist.
42073         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
42074
42075 2009-08-27  Bruno Haible  <bruno@clisp.org>
42076
42077         * tests/test-bitrotate.c (main): Remove test that uses a shift count
42078         of 0.
42079
42080 2009-08-27  Bruno Haible  <bruno@clisp.org>
42081
42082         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
42083         compilers.
42084         * doc/func.texi: Document the SunPRO C bug.
42085
42086 2009-08-27  Bruno Haible  <bruno@clisp.org>
42087
42088         Fix link error on Solaris.
42089         * tests/test-parse-duration.c (xstrdup): Remove function.
42090
42091 2009-08-26  Pádraig Brady  <P@draigbrady.com>
42092
42093         ignore-value: handle pointer types, too
42094         * lib/ignore-value.h (__attribute__): Remove definition.
42095         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
42096         of a more concise and more-often effective "(void) i" statement.
42097         (ignore_ptr): New function to suppress warnings from functions that
42098         return pointers, and to make it explicit that one function doesn't
42099         handle all cases.
42100
42101 2009-08-25  Bruno Haible  <bruno@clisp.org>
42102
42103         dup2: work around a Linux bug.
42104         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
42105         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
42106         * doc/posix-functions/dup2.texi: Mention the Linux bug.
42107         Reported by Simon Josefsson.
42108
42109 2009-08-25  Jim Meyering  <meyering@redhat.com>
42110
42111         libguestfs uses gnulib
42112         * users.txt: Add libguestfs.
42113
42114 2009-08-24  Eric Blake  <ebb9@byu.net>
42115
42116         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
42117         * lib/pipe2.c (includes): Add binary-io.h.
42118         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
42119
42120 2009-08-24  Bruno Haible  <bruno@clisp.org>
42121
42122         Tolerate declared but missing accept4 syscall.
42123         * lib/accept4.c (accept4): Invoke original accept4 function first, if
42124         available.
42125         * lib/sys_socket.in.h (accept4): If the function is already present,
42126         override it.
42127         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
42128         * modules/accept4 (Makefile.am): Compile accept4.c always.
42129         Reported by Paolo Bonzini and Eric Blake.
42130
42131 2009-08-23  Bruno Haible  <bruno@clisp.org>
42132
42133         New module 'accept4'.
42134         * lib/sys_socket.in.h (accept4): New declaration.
42135         * lib/accept4.c: New file.
42136         * m4/accept4.m4: New file.
42137         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
42138         GNULIB_ACCEPT4, HAVE_ACCEPT4.
42139         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
42140         HAVE_ACCEPT4.
42141         * modules/accept4: New file.
42142         * doc/glibc-functions/accept4.texi: Mention the new module.
42143
42144 2009-08-24  Jim Meyering  <meyering@redhat.com>
42145
42146         progname: also set global program_invocation_name, when possible
42147         Before this change, a libtool-enabled program that calls glibc's
42148         error function would report the program name as
42149         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
42150         * modules/progname (configure.ac): Check for a declaration of
42151         program_invocation_name.
42152         * lib/progname.c:  Include <errno.h>.
42153         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
42154         Set program_invocation_name.
42155
42156 2009-08-23  Bruno Haible  <bruno@clisp.org>
42157
42158         * lib/dup3.c: Include <string.h>.
42159
42160 2009-08-23  Bruno Haible  <bruno@clisp.org>
42161
42162         * lib/dup3.c (dup3): Test only once whether the system actually exists.
42163         * lib/pipe2.c (pipe2): Likewise.
42164         Suggested by Eric Blake.
42165
42166 2009-08-23  Bruno Haible  <bruno@clisp.org>
42167
42168         Tolerate declared but missing dup3 syscall.
42169         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
42170         * lib/unistd.in.h (dup3): If the function is already present,
42171         override it.
42172         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
42173         * modules/dup3 (Makefile.am): Compile dup3.c always.
42174         Reported by Paolo Bonzini.
42175
42176 2009-08-23  Bruno Haible  <bruno@clisp.org>
42177
42178         Tolerate declared but missing pipe2 syscall.
42179         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
42180         available.
42181         * lib/unistd.in.h (pipe2): If the function is already present,
42182         override it.
42183         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
42184         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
42185         Reported by Paolo Bonzini.
42186
42187 2009-08-23  Bruno Haible  <bruno@clisp.org>
42188
42189         * lib/pipe2.c (pipe2): Move #ifs inside function.
42190
42191 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
42192
42193         quotearg: document limitations of quote_these_too
42194         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
42195         those limitations are created.
42196         * lib/quotearg.h (set_char_quoting): Document that digits and
42197         letters that are special after backslash are not permitted.
42198         (quotearg_char): Cross-reference set_char_quoting documentation.
42199
42200 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
42201
42202         quotearg: implement custom_quoting_style
42203         * lib/quotearg.c: (struct quoting_options): Add left_quote and
42204         right_quote fields.
42205         (set_custom_quoting): New public function.
42206         (quotearg_buffer_restyled): Add left_quote and right_quote
42207         arguments, handle them very much like locale quoting, and update
42208         all uses.
42209         (quotearg_n_custom): New public function.
42210         (quotearg_n_custom_mem): New public function.
42211         (quotearg_custom): New public function.
42212         (quotearg_custom_mem): New public function.
42213         * lib/quotearg.h: Prototype and document new public functions.
42214         (enum quoting_style): For escape_quoting_style and
42215         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
42216         ignored even though they're otherwise like c_quoting_style.
42217         Add custom_quoting_style member and document with comparison to
42218         clocale_quoting_style.
42219         * tests/test-quotearg.c (custom_quotes): New array.
42220         (custom_results): New array.
42221         (main): Extend to test custom quoting.
42222
42223 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
42224
42225         quotearg: fix right quote escaping when it's in quote_these_too
42226         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
42227         quote, be sure to prepend only one backslash.
42228         * tests/test-quotearg.c (use_quote_double_quotes): New function.
42229         (main): Test it.
42230
42231 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
42232
42233         quotearg-tests: test escaping of embedded locale quotes
42234         * tests/test-quotearg.c (struct result_strings): Add member for
42235         new input.
42236         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
42237         (inputs): Add new input.
42238         (results_g): Add expected results.
42239         (flag_results): Likewise.
42240         (locale_results): Likewise.
42241         (compare_strings): Check those.
42242
42243 2009-08-23  Bruno Haible  <bruno@clisp.org>
42244
42245         Tests for module 'dup3'.
42246         * modules/dup3-tests: New file.
42247         * tests/test-dup3.c: New file.
42248
42249         New module 'dup3'.
42250         * lib/unistd.in.h (dup3): New declaration.
42251         * lib/dup3.c: New file.
42252         * m4/dup3.m4: New file.
42253         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
42254         HAVE_DUP3.
42255         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
42256         * modules/dup3: New file.
42257         * doc/glibc-functions/dup3.texi: Mention the new module.
42258
42259 2009-08-23  Bruno Haible  <bruno@clisp.org>
42260
42261         Tweak the dup2 test.
42262         * tests/test-dup2.c (main): Create the test file empty. Verify that an
42263         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
42264         the test file is still empty. Fix argument order of lseek.
42265
42266 2009-08-23  Bruno Haible  <bruno@clisp.org>
42267
42268         Avoid test link errors when the modules getopt-gnu, gettext are used.
42269         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
42270         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42271
42272 2009-08-23  Bruno Haible  <bruno@clisp.org>
42273
42274         Fix getdtablesize() on mingw.
42275         * lib/getdtablesize.c (getdtablesize): Implement differently.
42276         * lib/unistd.in.h (getdtablesize): Improve comment.
42277
42278 2009-08-23  Bruno Haible  <bruno@clisp.org>
42279
42280         New module 'mkostemp'.
42281         Based on Ulrich Drepper's 2007-08-10 change in glibc.
42282         * lib/stdlib.in.h (mksotemp): New declaration.
42283         * lib/mkostemp.c: New file, from glibc with modifications.
42284         * lib/tempname.h (GT_FILE): Remove outdated comment.
42285         (gen_tempname): Add flags argument.
42286         * lib/tempname.c (__GT_BIGFILE): Remove macro.
42287         (__GT_FILE): Map to 1.
42288         (small_open, large_open): Remove macros.
42289         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
42290         * lib/mkstemp.c (mkstemp): Update.
42291         * lib/mkdtemp.c (mkdtemp): Likewise.
42292         * m4/mkostemp.m4: New file.
42293         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
42294         HAVE_MKOSTEMP.
42295         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
42296         HAVE_MKOSTEMP.
42297         * modules/mkostemp: New file, based on modules/mkstemp.
42298         * doc/glibc-functions/mkostemp.texi: Mention the new module.
42299         * NEWS: Mention the change.
42300
42301 2009-08-23  Bruno Haible  <bruno@clisp.org>
42302
42303         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
42304         Reported by Eric Blake.
42305
42306 2009-08-23  Bruno Haible  <bruno@clisp.org>
42307
42308         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
42309         Reported by Eric Blake.
42310
42311 2009-08-23  Bruno Haible  <bruno@clisp.org>
42312
42313         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
42314         * modules/pipe2 (Depends-on): Likewise.
42315
42316 2009-08-23  Eric Blake  <ebb9@byu.net>
42317
42318         fcntl-h: add O_TTY_INIT support
42319         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
42320         * tests/test-fcntl-h.c (o): Test it.
42321         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
42322
42323         fcntl-h: rename from fcntl, in preparation for fcntl(2)
42324         * modules/fcntl: Move <fcntl.h> header replacement...
42325         * modules/fcntl-h: ...to new name, so as not to collide with
42326         like-named function.
42327         * tests/test-fcntl.c: Rename...
42328         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
42329         * modules/fcntl-tests: Rename...
42330         * modules/fcntl-h-tests: ...to this.  Update test file name.
42331         * modules/chdir-long (Depends-on): Update clients.
42332         * modules/chdir-safer (Depends-on): Likewise.
42333         * modules/fcntl-safer (Depends-on): Likewise.
42334         * modules/fts (Depends-on): Likewise.
42335         * modules/mkancesdirs (Depends-on): Likewise.
42336         * modules/mkdir-p (Depends-on): Likewise.
42337         * modules/open (Depends-on): Likewise.
42338         * modules/savewd (Depends-on): Likewise.
42339         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
42340         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
42341
42342 2009-08-22  Bruno Haible  <bruno@clisp.org>
42343
42344         * modules/binary-io (License): Relicense under LGPL.
42345         * modules/pipe2 (License): Likewise.
42346
42347 2009-08-22  Bruno Haible  <bruno@clisp.org>
42348
42349         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
42350         return value.
42351         * lib/pipe-filter-gi.c (filter_init): Likewise.
42352         Reported by Eric Blake.
42353
42354 2009-08-22  Bruno Haible  <bruno@clisp.org>
42355
42356         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
42357         * modules/pipe (Depends-on): Add pipe2.
42358
42359 2009-08-22  Bruno Haible  <bruno@clisp.org>
42360
42361         Tests for module 'pipe2'.
42362         * modules/pipe2-tests: New file.
42363         * tests/test-pipe2.c: New file.
42364
42365         New module 'pipe2'.
42366         * lib/unistd.in.h (pipe2): New declaration.
42367         * lib/pipe2.c: New file.
42368         * m4/pipe2.m4: New file.
42369         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
42370         HAVE_PIPE2.
42371         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
42372         * modules/pipe2: New file.
42373         * doc/glibc-functions/pipe2.texi: Mention the new module.
42374
42375 2009-08-22  Bruno Haible  <bruno@clisp.org>
42376
42377         Reference some new glibc functions.
42378         * doc/glibc-functions/accept4.texi: New file.
42379         * doc/glibc-functions/dup3.texi: New file.
42380         * doc/glibc-functions/mkostemp.texi: New file.
42381         * doc/glibc-functions/pipe2.texi: New file.
42382         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
42383         (Glibc sys/socket.h): Refer to accept4.
42384         (Glibc unistd.h): Refer to dup3, pipe2.
42385         Reported by Eric Blake.
42386
42387 2009-08-22  Jim Meyering  <meyering@redhat.com>
42388             Bruno Haible  <bruno@clisp.org>
42389
42390         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
42391         This makes it so packages using automake-1.11's silent-rules option
42392         can print e.g., a single "GEN    configmake.h" line, rather than
42393         the 30+ statements that perform the job.  If you want to see the
42394         actual commands, you can still run "make V=1".
42395         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
42396         so that make output is abbreviated when those variables are defined
42397         appropriately.
42398         * modules/argz: Likewise.
42399         * modules/arpa_inet: Likewise.
42400         * modules/byteswap: Likewise.
42401         * modules/configmake: Likewise.
42402         * modules/dirent: Likewise.
42403         * modules/errno: Likewise.
42404         * modules/fcntl: Likewise.
42405         * modules/float: Likewise.
42406         * modules/fnmatch: Likewise.
42407         * modules/getopt-posix: Likewise.
42408         * modules/glob: Likewise.
42409         * modules/iconv_open: Likewise.
42410         * modules/inttypes: Likewise.
42411         * modules/localcharset: Likewise.
42412         * modules/locale: Likewise.
42413         * modules/math: Likewise.
42414         * modules/netdb: Likewise.
42415         * modules/netinet_in: Likewise.
42416         * modules/poll: Likewise.
42417         * modules/posix_spawnp-tests: Likewise.
42418         * modules/sched: Likewise.
42419         * modules/search: Likewise.
42420         * modules/selinux-h: Likewise.
42421         * modules/signal: Likewise.
42422         * modules/spawn: Likewise.
42423         * modules/stdarg: Likewise.
42424         * modules/stdbool: Likewise.
42425         * modules/stddef: Likewise.
42426         * modules/stdint: Likewise.
42427         * modules/stdio: Likewise.
42428         * modules/stdlib: Likewise.
42429         * modules/string: Likewise.
42430         * modules/strings: Likewise.
42431         * modules/sys_file: Likewise.
42432         * modules/sys_ioctl: Likewise.
42433         * modules/sys_select: Likewise.
42434         * modules/sys_socket: Likewise.
42435         * modules/sys_stat: Likewise.
42436         * modules/sys_time: Likewise.
42437         * modules/sys_times: Likewise.
42438         * modules/sys_utsname: Likewise.
42439         * modules/sys_wait: Likewise.
42440         * modules/sysexits: Likewise.
42441         * modules/time: Likewise.
42442         * modules/unistd: Likewise.
42443         * modules/wchar: Likewise.
42444         * modules/wctype: Likewise.
42445
42446 2009-08-22  Jim Meyering  <meyering@redhat.com>
42447
42448         announce-gen: detect write failure
42449         * build-aux/announce-gen: Add Coda at end.
42450         Remove equivalent-but-more-verbose block at top.
42451
42452 2009-08-19  Akim Demaille  <demaille@gostai.com>
42453
42454         bootstrap: --help to stdout.
42455         * bootstrap (usage): Don't send --help to stderr.
42456         Use a here doc instead of a long string.
42457
42458 2009-08-21  Eric Blake  <ebb9@byu.net>
42459
42460         test-popen-safer: split from test-popen
42461         * tests/test-popen.c (main): Move...
42462         * tests/test-popen.h: ...into new file.
42463         * tests/test-popen-safer2.c: New file.
42464         * modules/popen-tests (Files): Add test-popen.h.
42465         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
42466         Suggested by Bruno Haible.
42467
42468         test-fcntl-safer: split from test-open
42469         * tests/test-open.c (main): Move...
42470         * tests/test-open.h: ...into new file.
42471         * tests/test-fcntl-safer.c: New file.
42472         * modules/open-tests (Files): Add test-open.h.
42473         * modules/fcntl-safer-tests: New file.
42474         Suggested by Bruno Haible.
42475
42476         test-fopen-safer: split from test-fopen
42477         * tests/test-fopen.c (main): Move...
42478         * tests/test-fopen.h: ...into new file.
42479         * tests/test-fopen-safer.c: New file.
42480         * modules/fopen-tests (Files): Add test-fopen.h.
42481         * modules/fopen-safer-tests: New file.
42482         Suggested by Bruno Haible.
42483
42484 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
42485
42486         popen-safer: test O_CLOEXEC at run-time.
42487         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
42488
42489 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
42490
42491         fcntl: move more flags to the header
42492         * lib/cloexec.c: Do not define FD_CLOEXEC here.
42493         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
42494         * lib/fcntl.in.h: Do both things here.
42495
42496 2009-08-21  Jim Meyering  <meyering@redhat.com>
42497
42498         consistently remove $@-t before redirecting to it
42499         * modules/argz: Remove $@-t and $@ before redirecting to the former.
42500         * modules/alloca-opt: Likewise.
42501         * modules/byteswap: Likewise.
42502         * modules/fnmatch: Likewise.
42503         * modules/getopt-posix: Likewise.
42504         * modules/glob: Likewise.
42505         * modules/poll: Likewise.
42506         * modules/posix_spawnp-tests: Likewise.
42507         * modules/sys_socket: Likewise.
42508         * modules/sysexits: Likewise.
42509
42510 2009-08-21  Eric Blake  <ebb9@byu.net>
42511
42512         popen: simplify access to original popen
42513         * lib/popen.c (rpl_popen): No need to worry about popen being a
42514         macro.
42515         Reported by Bruno Haible.
42516
42517 2009-08-20  Eric Blake  <ebb9@byu.net>
42518
42519         build: avoid some compiler warnings
42520         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
42521         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
42522         type.
42523         (new_exclude_segment, excluded_file_pattern_p)
42524         (excluded_file_name_p): Reduce scope.
42525         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
42526         old-style declaration.
42527
42528 2009-08-20  Simon Josefsson  <simon@josefsson.org>
42529
42530         * tests/test-exclude1.sh: Handle Windows EOL.
42531         * tests/test-exclude2.sh: Likewise.
42532         * tests/test-exclude3.sh: Likewise.
42533         * tests/test-exclude4.sh: Likewise.
42534         * tests/test-exclude5.sh: Likewise.
42535         * tests/test-exclude6.sh: Likewise.
42536         * tests/test-exclude7.sh: Likewise.
42537
42538 2009-08-19  Akim Demaille  <demaille@gostai.com>
42539
42540         bootstrap: find sha1sum when named gsha1sum.
42541         * bootstrap (find_tool): New.
42542         ($SHA1SUM): New.
42543         Use it.
42544
42545 2009-08-20  Jim Meyering  <meyering@redhat.com>
42546
42547         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
42548         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
42549         expression that converts "." in a file name to "\." in the resulting
42550         regexp.  Start with a dummy statement, so that prior shell variable
42551         definitions are expanded portably.  Reported by Simon Josefsson.
42552
42553 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
42554
42555         Fix polling for writeability of a screen buffer.
42556         * lib/poll.c: Distinguish input and screen buffers for the
42557         Win32 implementation.
42558         * lib/select.c: Likewise.
42559
42560 2009-08-19  Eric Blake  <ebb9@byu.net>
42561
42562         popen-safer: prevent popen from clobbering std descriptors
42563         * modules/popen-safer: New file.
42564         * lib/popen-safer.c: Likewise.
42565         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
42566         * lib/stdio--.h (popen): Provide override.
42567         * lib/stdio-safer.h (popen_safer): Provide declaration.
42568         * tests/test-popen.c (includes): Partially test this.
42569         * modules/popen-safer-tests: New file, for more tests.
42570         * tests/test-popen-safer.c: Likewise.
42571         * MODULES.html.sh (file stream based Input/Output): Mention it.
42572
42573         tests: test some of the *-safer modules
42574         * modules/fopen-safer (Depends-on): Add fopen.
42575         * modules/fcntl-safer (Depends-on): Add fcntl.
42576         * modules/stdlib-safer (Depends-on): Add stdlib.
42577         (configure.ac): Set indicator.
42578         * modules/unistd-safer (configure.ac): Likewise.
42579         * modules/tmpfile-safer (configure.ac): Likewise.
42580         (Depends-on): Add tmpfile.
42581         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
42582         active.
42583         * tests/test-fopen.c (includes): Test safer versions when they are
42584         in use.
42585         * tests/test-open.c (includes): Likewise.
42586
42587         popen: fix cygwin 1.5 bug when stdin closed
42588         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
42589         * modules/popen: New file.
42590         * modules/popen-tests: Likewise.
42591         * tests/test-popen.c: Likewise.
42592         * m4/popen.m4: Likewise.
42593         * lib/popen.c: Likewise.
42594         * lib/stdio.in.h (popen): New declaration.
42595         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
42596         * modules/stdio (Makefile.am): Likewise.
42597         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
42598
42599 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
42600
42601         maint.mk: give full control over update-copyright exclusions
42602         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
42603         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
42604         (update-copyright): Don't force inclusion of top-level
42605         ChangeLog.  Don't force exclusion of all COPYING files, but make
42606         them the default exclusion instead.
42607
42608 2009-08-16  Bruno Haible  <bruno@clisp.org>
42609
42610         Fix test failures on Solaris 10.
42611         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
42612         tests when Solaris iconv() is used.
42613         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
42614         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
42615         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
42616         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
42617         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
42618
42619 2009-08-16  Bruno Haible  <bruno@clisp.org>
42620
42621         Fix test failures on Solaris 10.
42622         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
42623         'tr' program and pass it as first argument.
42624         * tests/test-pipe-filter-gi1.sh: Likewise.
42625         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
42626         program as first argument.
42627         * tests/test-pipe-filter-gi1.c (main): Likewise.
42628
42629 2009-08-16  Eric Blake  <ebb9@byu.net>
42630
42631         fpurge: fix previous commits
42632         * modules/fpurge (Makefile.am): Make replacement conditional,
42633         partially reverting 2007-04-29 change; missed in previous
42634         attempt.
42635         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
42636         is missing.
42637
42638 2009-08-16  Bruno Haible  <bruno@clisp.org>
42639
42640         Clarify fpurge's effect on the file position.
42641         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
42642         * tests/test-fpurge.c (main): Make a second pass for checking the file
42643         position.
42644
42645 2009-08-16  Bruno Haible  <bruno@clisp.org>
42646
42647         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
42648         declaration of fpurge is missing.
42649         * tests/test-fpurge.c (main): Check that the file has not more contents
42650         than expected. Close the file before removing it.
42651
42652 2009-08-15  Eric Blake  <ebb9@byu.net>
42653
42654         fpurge: don't wrap working cygwin implementation
42655         * lib/fpurge.c (fpurge): Fix comment typo.
42656         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
42657         1.7 to avoid replacement.
42658         * tests/test-fpurge.c (main): Enhance test.
42659
42660 2009-08-15  Eric Blake  <ebb9@byu.net>
42661         and Jim Meyering  <meyering@redhat.com>
42662
42663         test-update-copyright: skip if perl is insufficient
42664         * tests/test-update-copyright.sh: Failure to run maintainer tool
42665         should not cause testsuite failure on cygwin 1.5.
42666
42667 2009-08-14  Eric Blake  <ebb9@byu.net>
42668
42669         doc: mention more functions added in cygwin 1.7.0
42670         * doc/posix-headers/limits.texi (limits.h): Update for recent
42671         cygwin additions.
42672         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
42673         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
42674         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
42675         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
42676         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
42677
42678 2009-08-14  Eric Blake  <ebb9@byu.net>
42679
42680         maint.mk: simplify update-copyright rule
42681         * top/maint.mk (update-copyright-local): Delete, and document how
42682         to do it in cfg.mk instead.
42683         (update-copyright-exclude-regexp): Delete, and document how to do
42684         it in .x-update-copyright instead.
42685         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
42686         exclude ChangeLog.
42687
42688 2009-08-14  Bruno Haible  <bruno@clisp.org>
42689
42690         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
42691
42692 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
42693
42694         maint.mk: support update-copyright-env
42695         * top/maint.mk (update-copyright-env): Define place-holder.
42696         (update-copyright): Expand $(update-copyright-env) before
42697         invoking update-copyright.
42698
42699 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
42700
42701         update-copyright: implement forced reformatting
42702         * build-aux/update-copyright: Implement and document
42703         UPDATE_COPYRIGHT_FORCE.
42704         * tests/test-update-copyright.sh: Test it.
42705
42706 2009-08-14  Eric Blake  <ebb9@byu.net>
42707         and Bruno Haible  <bruno@clisp.org>
42708
42709         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
42710         * tests/test-locale.c: Revert previous patch related to NULL.
42711         * tests/test-stdio.c: Likewise.
42712         * tests/test-stdlib.c: Likewise.
42713         * tests/test-string.c: Likewise.
42714         * tests/test-unistd.c: Likewise.
42715         * modules/time-tests (Depends-on): Add verify.
42716         * modules/wchar-tests (Depends-on): Likewise.
42717         * tests/test-time.c: Test for NULL compliance.
42718         * tests/test-wchar.c: Likewise.
42719         * modules/locale (Depends-on): Add stddef.
42720         * modules/stdio (Depends-on): Likewise.
42721         * modules/stdlib (Depends-on): Likewise.
42722         * modules/string (Depends-on): Likewise.
42723         * modules/time (Depends-on): Likewise.
42724         * modules/unistd (Depends-on): Likewise.
42725         * modules/wchar (Depends-on): Likewise.
42726         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
42727         * lib/stdlib.in.h (includes): Likewise.
42728         * lib/string.in.h (includes): Likewise.
42729         * lib/time.in.h (includes): Likewise.
42730         * lib/unistd.in.h (includes): Likewise.
42731         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
42732         replaced.
42733         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
42734         * m4/stddef_h.m4: New file.
42735         * modules/stddef: Likewise.
42736         * lib/stddef.in.h: Likewise.
42737         * modules/stddef-tests: Likewise.
42738         * tests/test-stddef.c: Likewise.
42739         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
42740         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
42741         * doc/posix-headers/locale.texi (locale.h): Likewise.
42742         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
42743         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
42744         * doc/posix-headers/string.texi (string.h): Likewise.
42745         * doc/posix-headers/time.texi (time.h): Likewise.
42746         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
42747         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
42748
42749 2009-08-14  Eric Blake  <ebb9@byu.net>
42750
42751         doc: improve git diff of texinfo files
42752         * .gitattributes: Add rule for *.texi files, with hint on how to
42753         use it.
42754         Copied from m4, and based on a report by Bruno Haible.
42755
42756 2009-08-14  Bruno Haible  <bruno@clisp.org>
42757
42758         Disable multithread support by default on Cygwin 1.5.x for real.
42759         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
42760
42761 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
42762
42763         update-copyright: much ado about intervals
42764         * build-aux/update-copyright: Implement and document
42765         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
42766         of copyright year intervals.
42767         Also, document UPDATE_COPYRIGHT_YEAR.
42768         * tests/test-update-copyright.sh: Test it.
42769
42770         update-copyright: convert 2-digit to 4-digit years
42771         * build-aux/update-copyright: Implement and document.
42772         * tests/test-update-copyright.sh: Update.
42773
42774 2009-08-14  Jim Meyering  <meyering@redhat.com>
42775
42776         test-exclude: avoid coreutils "make check" failure
42777         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
42778         just as in test-argmatch.c.
42779
42780 2009-08-13  Eric Blake  <ebb9@byu.net>
42781
42782         test-dup2: fix bad assumption
42783         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
42784         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
42785
42786         test-version-etc: fix CRLF portability issue
42787         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
42788         recognize \r.
42789         * tests/test-argp-version-etc-1.sh: Likewise.
42790
42791         getopt: update client modules
42792         * modules/argp (Depends-on): Use getopt-gnu.
42793         * modules/git-merge-changelog (Depends-on): Likewise.
42794         * modules/long-options (Depends-on): Likewise.
42795         * modules/xstrtol (Depends-on): Likewise.
42796
42797 2009-08-13  Simon Josefsson  <simon@josefsson.org>
42798
42799         * tests/test-version-etc.sh: Don't fail on different
42800         project/version.  Don't fail on CRLF differences.  Rewrite to use
42801         multiple -e instead of multiple sed forks, suggested by Eric Blake
42802         <ebb9@byu.net>.
42803         * tests/test-argp-version-etc-1.sh: Likewise.
42804
42805 2009-08-13  Simon Josefsson  <simon@josefsson.org>
42806
42807         * tests/test-version-etc.sh: Don't fail on different
42808         project/version.
42809
42810 2009-08-12  Bruno Haible  <bruno@clisp.org>
42811
42812         Tests for modules 'getopt-posix', 'getopt-gnu'.
42813         * modules/getopt-posix-tests: New file.
42814         * tests/test-getopt.c: New file.
42815         * tests/test-getopt.h: New file.
42816         * tests/test-getopt_long.h: New file.
42817
42818         New modules 'getopt-posix', 'getopt-gnu'.
42819         * modules/getopt-gnu: New file, renamed from modules/getopt.
42820         * modules/getopt-posix: New file.
42821         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
42822         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
42823         (gl_GETOPT): Remove macro.
42824         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
42825         Disable the test against BSD systems that declare optreset. Test
42826         against mingw bug. Test against lack of support of optional arguments
42827         on many platforms.
42828         * doc/glibc-headers/getopt.texi: Update module name and list of
42829         relevant platforms.
42830         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
42831         'getopt-gnu' and more portability problems.
42832         * NEWS: Mention the changes.
42833
42834 2009-08-12  Bruno Haible  <bruno@clisp.org>
42835
42836         Ensure that optarg etc. get declared by <unistd.h>.
42837         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
42838         AC_USE_SYSTEM_EXTENSIONS.
42839         * modules/getopt (Depends-on): Add 'extensions'.
42840
42841 2009-08-12  Bruno Haible  <bruno@clisp.org>
42842
42843         Avoid test link errors.
42844         * modules/pipe-filter-ii-tests (Makefile.am): Define
42845         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
42846         * modules/pipe-filter-gi-tests (Makefile.am): Define
42847         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
42848         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42849
42850 2009-08-12  Bruno Haible  <bruno@clisp.org>
42851
42852         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
42853         gl_GETOPT_SUBSTITUTE before.
42854         (gl_GETOPT): Use it.
42855         * m4/argp.m4 (gl_ARGP): Update.
42856         Reported by Sergey Poznyakoff.
42857
42858         * m4/getopt.m4: Reorder macros.
42859         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
42860         (gl_GETOPT_SUBSTITUTE): Remove macro.
42861
42862 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
42863
42864         Minor improvement in gitlog-to-changelog
42865
42866         * build-aux/gitlog-to-changelog: New option `--format' makes
42867         output format string configurable.
42868
42869 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
42870
42871         Optimize exclude: use hash tables for non-wildcard patterns.
42872
42873         * lib/exclude.c: Include hash.h and mbuiter.h
42874         (struct exclude_pattern, exclude_segment): New data types.
42875         (struct exclude): Rewrite.
42876         (fnmatch_pattern_has_wildcards): New function.
42877         (new_exclude_segment, free_exclude_segment): New functions.
42878         (excluded_file_pattern_p, excluded_file_name_p): New functions.
42879         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
42880         * lib/exclude.h (is_fnmatch_pattern): New prototype.
42881         * modules/exclude: Depend on hash and mbuiter.
42882
42883         * modules/exclude-tests: New file.
42884         * tests/test-exclude.c: New file.
42885         * tests/test-exclude1.sh: New file.
42886         * tests/test-exclude2.sh: New file.
42887         * tests/test-exclude3.sh: New file.
42888         * tests/test-exclude4.sh: New file.
42889         * tests/test-exclude5.sh: New file.
42890         * tests/test-exclude6.sh: New file.
42891         * tests/test-exclude7.sh: New file.
42892
42893 2009-08-12  Bruno Haible  <bruno@clisp.org>
42894
42895         Ensure that getopt() gets declared by <unistd.h>.
42896         * lib/unistd.in.h: Conditionally include getopt.h.
42897         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
42898         Set GNULIB_UNISTD_H_GETOPT.
42899         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
42900         GNULIB_UNISTD_H_GETOPT.
42901         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
42902
42903 2009-08-12  Bruno Haible  <bruno@clisp.org>
42904
42905         Clarify logic.
42906         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
42907         gl_replace_getopt instead of GETOPT_H.
42908
42909 2009-08-12  Bruno Haible  <bruno@clisp.org>
42910
42911         * m4/getopt.m4: Add comments.
42912
42913 2009-08-12  Bruno Haible  <bruno@clisp.org>
42914
42915         Disable multithread support by default on Cygwin 1.5.x.
42916         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
42917         set gl_use_threads=no if not specified otherwise.
42918
42919 2009-08-11  Bruno Haible  <bruno@clisp.org>
42920
42921         Avoid compilation error on NetBSD 5.0.
42922         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
42923         * tests/test-stdio.c: Likewise.
42924         * tests/test-stdlib.c: Likewise.
42925         * tests/test-string.c: Likewise.
42926         * tests/test-unistd.c: Likewise.
42927         Reported by Greg Troxel <gdt@ir.bbn.com>
42928         at <https://savannah.gnu.org/support/?106973>.
42929
42930 2009-08-11  Bruno Haible  <bruno@clisp.org>
42931
42932         * modules/dup2-tests (Depends-on): Remove close.
42933
42934         Undo 2009-07-19 commit.
42935         * modules/acl-tests (Depends-on): Remove close.
42936         * modules/binary-io-tests (Depends-on): Likewise.
42937         * modules/closein-tests (Depends-on): Likewise.
42938         * modules/flock-tests (Depends-on): Likewise.
42939         * modules/fsync-tests (Depends-on): Likewise.
42940         * modules/lseek-tests (Depends-on): Likewise.
42941         * modules/pipe-tests (Depends-on): Likewise.
42942         * modules/posix_spawn-tests (Depends-on): Likewise.
42943         * modules/posix_spawnp-tests (Depends-on): Likewise.
42944         * modules/stat-time-tests (Depends-on): Likewise.
42945         * modules/yesno-tests (Depends-on): Likewise.
42946
42947 2009-08-10  Bruno Haible  <bruno@clisp.org>
42948
42949         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
42950
42951 2009-08-10  Bruno Haible  <bruno@clisp.org>
42952
42953         Fix a gcc warning.
42954         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
42955
42956 2009-08-10  Bruno Haible  <bruno@clisp.org>
42957
42958         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
42959         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
42960         not only the first time.
42961         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
42962         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
42963         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
42964         is 1, not only the the first time.
42965
42966 2009-08-10  Bruno Haible  <bruno@clisp.org>
42967
42968         Make it possible to use module 'gethostname' without module 'close'.
42969         * lib/unistd.in.h (close): Evoke a link error only if
42970         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
42971         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
42972         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42973         * modules/unistd (Makefile.am): Substitute
42974         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42975         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
42976         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
42977         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
42978         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42979         * modules/sys_ioctl (Makefile.am): Substitute
42980         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42981         * modules/socket (configure.ac): On native Windows, set
42982         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
42983         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42984         Reported by Sam Steingold <sds@gnu.org>.
42985
42986 2009-08-10  Bruno Haible  <bruno@clisp.org>
42987
42988         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
42989         * modules/ioctl (configure.ac): Likewise.
42990
42991 2009-08-10  Bruno Haible  <bruno@clisp.org>
42992
42993         Avoid collision between gnulib wrapper and libintl wrapper.
42994         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
42995         already defined in intl/printf.c.
42996         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
42997         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
42998
42999 2009-08-09  Bruno Haible  <bruno@clisp.org>
43000
43001         Make <sys/select.h> really self-contained, also on Solaris 10.
43002         * lib/sys_select.in.h: Include <string.h>.
43003         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
43004         Solaris 10 problem.
43005         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
43006         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
43007         Reported by Jim Meyering.
43008
43009 2009-08-09  Bruno Haible  <bruno@clisp.org>
43010
43011         Avoid warnings from 'aclocal' that are due to a use of macro name
43012         AM_XGETTEXT_OPTION that is not defined in automake.
43013         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
43014         automake.
43015         * modules/error (configure.ac): Likewise.
43016         * modules/propername (configure.ac): Likewise.
43017         * modules/vasprintf (configure.ac): Likewise.
43018         * modules/verror (configure.ac): Likewise.
43019         * modules/xprintf (configure.ac): Likewise.
43020         * modules/xvasprintf (configure.ac): Likewise.
43021
43022 2009-08-08  Bruno Haible  <bruno@clisp.org>
43023
43024         Avoid compilation error in C++ mode.
43025         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
43026         Reported by Sam Steingold <sds@gnu.org>.
43027
43028 2009-08-08  Bruno Haible  <bruno@clisp.org>
43029
43030         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
43031         for the various Unix platforms.
43032         * doc/posix-headers/limits.texi: Update platforms list regarding
43033         HOST_NAME_MAX.
43034         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43035
43036 2009-08-07  Jim Meyering  <meyering@redhat.com>
43037
43038         selinux-at: fix typo in a comment
43039         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
43040         Spotted by Paolo Bonzini.
43041
43042         selinux-at: remove redundant m4 code, add documentation
43043         * modules/selinux-at (configure.ac): Remove redundant code.
43044         LIB_SELINUX is already set via the dependent module, selinux-h.
43045         (Include): Add quotes around selinux-at.h.
43046         * lib/selinux-at.h: Add documentation.
43047         Reported by Bruno Haible in
43048         http://marc.info/?l=gnulib-bug&m=124958988300749
43049
43050 2009-08-07  Bruno Haible  <bruno@clisp.org>
43051
43052         Avoid link error on MacOS X 10.3 and 10.4.
43053         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
43054         on non-ELF systems.
43055         * lib/argp-pv.c (argp_program_version): Likewise.
43056         Reported by Simon Josefsson.
43057
43058 2009-08-07  Simon Josefsson  <simon@josefsson.org>
43059
43060         * tests/test-version-etc.sh: Use $EXEEXT.
43061
43062 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
43063
43064         update-copyright: update documentation to point to maint.mk
43065         * build-aux/update-copyright: Here.
43066
43067 2009-08-06  Jim Meyering  <meyering@redhat.com>
43068
43069         maint.mk: support update-copyright-local
43070         * top/maint.mk (update-copyright-local): Define place-holder.
43071         (update-copyright): Depend on $(update-copyright-local).
43072
43073 2009-08-06  Jim Meyering  <meyering@redhat.com>
43074
43075         selinux-at: new module
43076         Initially written for coreutils, this module will soon be
43077         used by findutils, too.
43078         * MODULES.html.sh [Misc]: Add selinux-at.
43079         * lib/selinux-at.h: New file, from coreutils.
43080         * lib/selinux-at.c: Likewise.
43081         * modules/selinux-at: Likewise.
43082         (License): Change from LGPL to GPL, since it depends
43083         on the GPL'd openat module.
43084
43085         doc: update README
43086         * README: Remove references to cogito.
43087         Remove cvs-repo-updating instructions from 2007.
43088         Don't imply that CVS is better if you have limited disk space.
43089
43090 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43091
43092         update-copyright: support C-style comments
43093         * build-aux/update-copyright: Implement and document.
43094         * tests/test-update-copyright.sh: Test.
43095
43096 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43097
43098         update-copyright: support omitted "(C)"
43099         * build-aux/update-copyright: Implement and document.  Also,
43100         allow variable whitespace before "(C)".
43101         * tests/test-update-copyright.sh: Test.
43102
43103 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43104
43105         update-copyright: don't trip on non-FSF copyright statements
43106         * build-aux/update-copyright: Fix so that the first correctly
43107         formatted FSF copyright statement is recognized no matter what
43108         appears before it.  Update documentation.
43109         * tests/test-update-copyright.sh: Test that.
43110
43111 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43112
43113         update-copyright: clean up code a little
43114         * build-aux/update-copyright: Append "_re" to the name of any
43115         variable holding a regular expression.
43116         Replace "old" and "new" with "stmt" in variable names.
43117         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
43118         handled correctly.
43119         Format code more consistently.
43120
43121 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43122
43123         update-copyright-tests: improve portability
43124         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
43125         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
43126
43127 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
43128
43129         update-copyright: support @copyright{} and &copy;
43130         * build-aux/update-copyright: Implement and document.
43131         * tests/test-update-copyright.sh: Test.
43132
43133 2009-08-04  Jim Meyering  <meyering@redhat.com>
43134
43135         update-copyright-tests: correctly test EOL=\r\n handling
43136         * tests/test-update-copyright.sh: Put \r at the end of some lines
43137         for the dos-eol tests.  Based on a patch by Joel E. Denny.
43138
43139         maint.mk: make update-copyright exclusion list more configurable
43140         * top/maint.mk (update-copyright): Default to excluding COPYING,
43141         but allow an override, in case someone does want to update that file.
43142
43143         maint.mk: don't update copyright date in COPYING
43144         * top/maint.mk (update-copyright): Exclude COPYING.
43145
43146         maint.mk: add a copyright-updating rule
43147         * top/maint.mk (update-copyright): New rule.
43148         Derived from coreutils/Makefile.am.
43149
43150         update-copyright: rename some variables
43151         * build-aux/update-copyright: Rename a few variables for clarity.
43152         Tweak syntax.  List Joel E. Denny as coauthor.
43153
43154 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
43155
43156         update-copyright: fix bug for 2-digit last year and add tests
43157         * build-aux/update-copyright: Fix bug.
43158         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
43159         specified.
43160         * modules/update-copyright-tests: New
43161         * tests/test-update-copyright.sh: New.
43162
43163 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
43164
43165         update-copyright: handle leading tabs in line prefix
43166         * build-aux/update-copyright: Count leading tabs as 8 spaces
43167         when computing margin.  This helps with the formatting of
43168         ChangeLogs, for example.
43169         Fix documentation a little.
43170
43171 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
43172
43173         update-copyright: support EOL=\r\n
43174         * build-aux/update-copyright: Implement that.
43175
43176 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
43177
43178         update-copyright: automatically format copyright statements
43179         * build-aux/update-copyright: Implement that.
43180         Also, be a little more predictable and safer by always failing
43181         when the full copyright format is not perfectly recognized as an
43182         unbroken whole.  Discussed at
43183         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
43184         Rewrite documentation.
43185
43186 2009-08-03  Bruno Haible  <bruno@clisp.org>
43187
43188         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
43189
43190 2009-08-02  Bruno Haible  <bruno@clisp.org>
43191
43192         Tests for module 'uname'.
43193         * modules/uname-tests: New file.
43194         * tests/test-uname.c: New file.
43195
43196         New module 'uname'.
43197         * lib/uname.c: New file.
43198         * m4/uname.m4: New file.
43199         * modules/uname: New file.
43200         * doc/posix-functions/uname.texi: Mention the new module.
43201
43202 2009-08-02  Bruno Haible  <bruno@clisp.org>
43203
43204         Tests for module 'sys_utsname'.
43205         * modules/sys_utsname-tests: New file.
43206         * tests/test-sys_utsname.c: New file.
43207
43208         New module 'sys_utsname'.
43209         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
43210         * m4/sys_utsname_h.m4: New file.
43211         * modules/sys_utsname: New file.
43212         * doc/posix-headers/sys_utsname.texi: Mention the new module.
43213
43214 2009-08-02  Bruno Haible  <bruno@clisp.org>
43215
43216         Implicitly initialize the sockets library.
43217         * lib/gethostname.c: Include sockets.h.
43218         (rpl_gethostname): Invoke gl_sockets_startup.
43219         * lib/socket.c: Include sockets.h.
43220         (rpl_socket): Invoke gl_sockets_startup.
43221         * modules/gethostname (Depends-on): Add sockets.
43222         * modules/socket (Depends-on): Likewise.
43223         * tests/test-poll.c: Don't include sockets.h.
43224         (main): Don't invoke gl_sockets_startup.
43225         * tests/test-select.c: Don't include sockets.h.
43226         (main): Don't invoke gl_sockets_startup.
43227
43228 2009-08-02  Bruno Haible  <bruno@clisp.org>
43229
43230         Allow multiple calls to gl_sockets_startup.
43231         * lib/sockets.c (initialized_sockets_version): New variable.
43232         (gl_sockets_startup): Do nothing if already called for this or a higher
43233         version.
43234         (gl_sockets_cleanup): Reset initialized_sockets_version.
43235
43236 2009-08-03  Simon Josefsson  <simon@josefsson.org>
43237
43238         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
43239         different project/version.
43240
43241 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
43242             Bruno Haible  <bruno@clisp.org>
43243
43244         Tests for module 'pipe-filter-gi'.
43245         * modules/pipe-filter-gi-tests: New file.
43246         * tests/test-pipe-filter-gi1.sh: New file.
43247         * tests/test-pipe-filter-gi1.c: New file.
43248         * tests/test-pipe-filter-gi2.sh: New file.
43249         * tests/test-pipe-filter-gi2-main.c: New file.
43250         * tests/test-pipe-filter-gi2-child.c: New file.
43251
43252         New module 'pipe-filter-gi'.
43253         * lib/pipe-filter-gi.c: New file.
43254         * modules/pipe-filter-gi: New file.
43255
43256 2009-08-02  Bruno Haible  <bruno@clisp.org>
43257             Paolo Bonzini  <bonzini@gnu.org>
43258
43259         Tests for module 'pipe-filter-ii'.
43260         * modules/pipe-filter-ii-tests: New file.
43261         * tests/test-pipe-filter-ii1.sh: New file.
43262         * tests/test-pipe-filter-ii1.c: New file.
43263         * tests/test-pipe-filter-ii2.sh: New file.
43264         * tests/test-pipe-filter-ii2-main.c: New file.
43265         * tests/test-pipe-filter-ii2-child.c: New file.
43266
43267         New module 'pipe-filter-ii'.
43268         * lib/pipe-filter.h: New file.
43269         * lib/pipe-filter-ii.c: New file.
43270         * lib/pipe-filter-aux.h: New file.
43271         * modules/pipe-filter-ii: New file.
43272
43273 2009-08-02  Simon Josefsson  <simon@josefsson.org>
43274
43275         * lib/gc-libgcrypt.c: Change copyright to FSF.
43276         * lib/gc-gnulib.c: Likewise.
43277
43278 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
43279
43280         * lib/gethostname.c: Include limits.h.
43281
43282 2009-08-02  Simon Josefsson  <simon@josefsson.org>
43283             Bruno Haible  <bruno@clisp.org>
43284
43285         Ensure HOST_NAME_MAX as part of the gethostname module.
43286         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
43287         define also HOST_NAME_MAX.
43288         * tests/test-gethostname.c: Include <limits.h>.
43289         (main): Check also HOST_NAME_MAX.
43290         * doc/posix-headers/limits.texi: Document the mingw problem.
43291
43292 2009-08-02  Bruno Haible  <bruno@clisp.org>
43293
43294         * lib/gethostname.c (gethostname): Fix handling of large len argument.
43295         Add comments.
43296
43297 2009-03-31  Simon Josefsson  <simon@josefsson.org>
43298
43299         * lib/gethostname.c: Add Windows wrapper.
43300         * m4/gethostname.m4: Look for gethostname in -lws2_32.
43301         * modules/gethostname: Depend on sys_socket & errno, for also
43302         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
43303         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
43304
43305 2009-07-31  Jim Meyering  <meyering@redhat.com>
43306
43307         getloadavg: fix symbol name in comment
43308         * lib/getloadavg.c: Correct a typo I introduced when adding
43309         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
43310         Matt Kraai spotted the problem.
43311
43312 2009-07-29  Matt Kraai  <mkraai@beckman.com>
43313
43314         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
43315         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
43316         code also if ! defined N_NAME_POINTER.
43317         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
43318         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
43319         but the n_name member is a 12-byte array.
43320
43321 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
43322
43323         update-copyright: generalize comment handling
43324         * build-aux/update-copyright: Handle copyright statements
43325         within more comment styles.
43326         Document usage.
43327         Report any file with an external copyright holder or parse failure.
43328
43329 2009-07-29  Jim Meyering  <meyering@redhat.com>
43330
43331         mktime: correct setting of REPLACE_MKTIME
43332         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
43333
43334         update-copyright: new module
43335         * modules/update-copyright: New file.
43336         * build-aux/update-copyright: New file.
43337         * MODULES.html.sh (maint+release support): Add update-copyright.
43338
43339 2009-07-27  Bruno Haible  <bruno@clisp.org>
43340
43341         Fix compilation error when <ctime> is used and mktime is replaced.
43342         * lib/time.in.h (mktime): New declaration.
43343         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
43344         REPLACE_MKTIME instead of defining mktime in config.h.
43345         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
43346         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
43347         Reported by Ross McFarland <rwmcfa1@neces.com>.
43348
43349 2009-07-27  Bruno Haible  <bruno@clisp.org>
43350
43351         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
43352         Reported by Matt Kraai <mkraai@beckman.com>.
43353
43354 2009-07-25  Jim Meyering  <meyering@redhat.com>
43355
43356         maint.mk: avoid warnings about missing files
43357         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
43358         diagnostic when .prev-version does not exist.
43359         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
43360         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
43361         nonexistent cfg.mk.
43362         Suggestions from Simon Josefsson.
43363
43364 2009-07-25  Bruno Haible  <bruno@clisp.org>
43365
43366         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
43367         defined as macros. Needed on QNX 6.4.1.
43368         Reported by Matt Kraai <mkraai@beckman.com>.
43369
43370 2009-07-23  Jim Meyering  <meyering@redhat.com>
43371
43372         maint.mk: invoke "make dist" with a working value of XZ_OPT
43373         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
43374
43375 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
43376
43377         Make fseeko.c compile on QNX.
43378         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
43379
43380 2009-07-22  Peter Simons  <simons@cryp.to>
43381
43382         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
43383         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
43384         * lib/md4.h: Likewise.
43385         * lib/md5.h: Likewise.
43386         * lib/sha1.h: Likewise.
43387         * lib/sha256.h: Likewise.
43388         * lib/sha512.h: Likewise.
43389
43390         tests-sha1: don't assign literal string to 'char *' variable
43391         * tests/test-sha1.c (main): Declare locals with "const" to match
43392         attributes of the right hand side.
43393
43394 2009-07-21  Eric Blake  <ebb9@byu.net>
43395
43396         dup2: fix more mingw problems
43397         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
43398         fd to itself.
43399         * doc/posix-functions/dup2.texi (dup2): Document the bug.
43400         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
43401         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
43402         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
43403         care of mingw bugs.
43404
43405 2009-07-21  Jim Meyering  <meyering@redhat.com>
43406
43407         vc-list-files: avoid failure when /bin/sh is dash
43408         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
43409         On some Debian based systems, /bin/sh is a symlink to dash, and running
43410         this command would omit the "/" following each 'tests' prefix:
43411           dash -x build-aux/vc-list-files -C . tests
43412         That is because bash and dash work differently:
43413           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
43414           bash ok
43415           dash odd
43416
43417 2009-07-21  Eric Blake  <ebb9@byu.net>
43418
43419         dup2-tests: test previous patch
43420         * modules/dup2-tests: New file.
43421         * tests/test-dup2.c: Likewise.
43422         * tests/test-open.c (main): Avoid unspecified behavior.
43423         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
43424         test.
43425
43426         dup2: work around mingw and cygwin 1.5 bug
43427         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
43428         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43429         * modules/unistd (Makefile.am): Substitute it.
43430         * lib/unistd.in.h (dup2): Declare the replacement.
43431         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
43432         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
43433         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
43434         * modules/execute (Depends-on): Add dup2.
43435         * modules/fseterr (Depends-on): Likewise.
43436         * modules/pipe (Depends-on): Likewise.
43437         * modules/posix_spawn-internal (Depends-on): Likewise.
43438
43439 2009-07-21  Bruno Haible  <bruno@clisp.org>
43440
43441         * modules/.gitattributes: New file.
43442
43443 2009-07-20  Bruno Haible  <bruno@clisp.org>
43444
43445         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
43446         (main): Use it.
43447
43448 2009-07-20  Eric Blake  <ebb9@byu.net>
43449
43450         test-pipe: make a bit more robust.
43451         * tests/test-pipe.c (myerr): Allow error messages regardless of
43452         what we do to stderr.
43453         (test_pipe): Rearrange to avoid deadlock.
43454         (child_main): Try a larger read, to ensure we avoided deadlock.
43455         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
43456         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
43457         if misused.
43458
43459 2009-07-19  Jim Meyering  <meyering@redhat.com>
43460
43461         fts: avoid false-positive cycle-detection
43462         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
43463         for each new command line argument.
43464
43465 2009-07-19  Bruno Haible  <bruno@clisp.org>
43466
43467         Fix build error on mingw with the modules sys_select and unistd.
43468         * modules/acl-tests (Depends-on): Add close.
43469         * modules/binary-io-tests (Depends-on): Likewise.
43470         * modules/closein-tests (Depends-on): Likewise.
43471         * modules/flock-tests (Depends-on): Likewise.
43472         * modules/fsync-tests (Depends-on): Likewise.
43473         * modules/lseek-tests (Depends-on): Likewise.
43474         * modules/pipe-tests (Depends-on): Likewise.
43475         * modules/posix_spawn-tests (Depends-on): Likewise.
43476         * modules/posix_spawnp-tests (Depends-on): Likewise.
43477         * modules/stat-time-tests (Depends-on): Likewise.
43478         * modules/yesno-tests (Depends-on): Likewise.
43479
43480 2009-07-19  Bruno Haible  <bruno@clisp.org>
43481
43482         Unify conditionals.
43483         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
43484         macros, not at the compiler macros.
43485         * lib/pipe.c: Likewise.
43486         * lib/execute.c: Likewise.
43487         * lib/spawni.c: Likewise.
43488
43489 2009-07-19  Bruno Haible  <bruno@clisp.org>
43490
43491         Fix handling of closed stdin/stdout/stderr on mingw.
43492         * lib/w32spawn.h: Include unistd.h.
43493         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
43494         file descriptor with O_NOINHERIT flag.
43495         (fd_safer_noinherit): New function, based on fd-safer.c.
43496         (dup_safer_noinherit): New function, based on dup-safer.c.
43497         (undup_safer_noinherit): New function.
43498         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
43499         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
43500         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
43501         instead of fd_safer.
43502         * tests/test-pipe.c: Include <windows.h>.
43503         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
43504         result.
43505
43506         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
43507         from main.
43508         (test_pipe): Pass an extra argument for disambiguation.
43509         (main): Invoke parent_main or child_main.
43510
43511         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
43512         consistently.
43513
43514 2009-07-18  Eric Blake  <ebb9@byu.net>
43515
43516         test-pipe: fix mingw build
43517         * tests/test-pipe.c (main): Avoid fcntl on mingw.
43518
43519 2009-07-18  Bruno Haible  <bruno@clisp.org>
43520
43521         * modules/pipe-tests (Makefile.am): Fix typo.
43522
43523 2009-07-18  Eric Blake  <ebb9@byu.net>
43524
43525         error: fix mingw build
43526         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
43527         Reported by Bruno Haible.
43528
43529         error: avoid undefined use of stdout
43530         * lib/error.c (error, error_at_line): Check that fd 1 is open
43531         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
43532         is handling faults and the close_stdout module wants to report the
43533         detection of closed stdout as an error.
43534
43535 2009-07-17  Eric Blake  <ebb9@byu.net>
43536
43537         pipe: be robust in face of closed fds
43538         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
43539         should cause child to misbehave.
43540         * modules/pipe-tests: New module.
43541         * tests/test-pipe.c: New file.
43542         * tests/test-pipe.sh: New file.
43543         Reported by Akim Demaille.
43544
43545 2009-07-14  Bruno Haible  <bruno@clisp.org>
43546
43547         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
43548         Reported by anonymous kc.
43549
43550 2009-07-07  Jim Meyering  <meyering@redhat.com>
43551
43552         maint.mk: don't look for translatable strings in *.m4 or *.mk
43553         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
43554         when searching for translatable strings.
43555
43556 2009-07-05  Jim Meyering  <meyering@redhat.com>
43557
43558         remove superfluous parentheses in STREQ definition
43559         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
43560         * lib/getugroups.c (STREQ): Likewise.
43561         * lib/fnmatch.c (STREQ): Likewise.
43562         Spotted by Bruno Haible.
43563
43564 2009-07-04  Jim Meyering  <meyering@redhat.com>
43565
43566         argv-iter: new module
43567         * MODULES.html.sh: Add argv-iter.
43568         * lib/argv-iter.c, lib/argv-iter.h: New files.
43569         * modules/argv-iter: New file.
43570         * modules/argv-iter-tests: New file.
43571         * tests/test-argv-iter.c: Test it.
43572
43573 2009-07-04  Bruno Haible  <bruno@clisp.org>
43574
43575         Fix assertion.
43576         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
43577         contains more exact copies of a given entry than file2, leave the extra
43578         copies unpaired rather than aborting.
43579         Reported by Eric Blake.
43580
43581 2009-07-02  Bruno Haible  <bruno@clisp.org>
43582
43583         Speedup git-merge-changelog for git cherry-pick.
43584         * lib/git-merge-changelog.c (struct entries_mapping): New type.
43585         (entries_mapping_get): New function, extracted from compute_mapping.
43586         (entries_mapping_reverse_get): New function.
43587         (compute_mapping): Add a 'full' argument. Return the result in a
43588         'struct entries_mapping'.
43589         (main): Update. Access the mappings through entries_mapping_get.
43590         Reported by Eric Blake.
43591
43592 2009-07-02  Bruno Haible  <bruno@clisp.org>
43593
43594         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
43595         best_i.
43596
43597 2009-07-02  Bruno Haible  <bruno@clisp.org>
43598
43599         Speed up approximate search for matching ChangeLog entries.
43600         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
43601         argument. Call fstrcmp_bounded instead of fstrcmp.
43602         (compute_mapping, try_split_merged_entry, main): Update callers.
43603
43604 2009-07-02  Bruno Haible  <bruno@clisp.org>
43605
43606         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
43607
43608 2009-06-30  Bruno Haible  <bruno@clisp.org>
43609
43610         Reduce the number of uc_is_cased calls.
43611         * lib/unicase.h (casing_suffix_context_t): Add
43612         'first_char_except_ignorable' field.
43613         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
43614         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
43615         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
43616         Update initializer.
43617         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
43618         case-ignorable characters.
43619         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
43620         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
43621         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
43622         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
43623         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
43624
43625 2009-06-30  Bruno Haible  <bruno@clisp.org>
43626
43627         Tests for module 'unicase/ignorable'.
43628         * modules/unicase/ignorable-tests: New file.
43629         * tests/unicase/test-ignorable.c: New file, generated by
43630         gen-uni-tables.
43631
43632         Tests for module 'unicase/cased'.
43633         * modules/unicase/cased-tests: New file.
43634         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
43635         * tests/unicase/test-predicate-part1.h: New file, derived from
43636         tests/unictype/test-predicate-part1.h.
43637         * tests/unicase/test-predicate-part2.h: New file, same as
43638         tests/unictype/test-predicate-part2.h.
43639
43640         Fix evaluation of "Before C" condition of FINAL_SIGMA.
43641         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
43642         (output_casing_properties): New function.
43643         (main): Call it.
43644         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
43645         * lib/unicase/cased.c: Include unictype/bitmap.h.
43646         (uc_is_cased): Define through a bitmap lookup.
43647         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
43648         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
43649         (uc_is_case_ignorable): Define through a bitmap lookup.
43650         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
43651         lib/unictype/bitmap.h.
43652         (Depends-on): Add inline. Clean up.
43653         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
43654         lib/unictype/bitmap.h.
43655         (Depends-on): Add inline. Clean up.
43656         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
43657         recognition.
43658         * tests/unicase/test-u16-tolower.c (main): Likewise.
43659         * tests/unicase/test-u32-tolower.c (main): Likewise.
43660
43661 2009-06-30  Bruno Haible  <bruno@clisp.org>
43662
43663         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
43664         * lib/unicase/u16-casemap.c: Likewise.
43665         * lib/unicase/u32-casemap.c: Likewise.
43666
43667 2009-06-29  Bruno Haible  <bruno@clisp.org>
43668
43669         Define u32_casefold as a wrapper around u32_ct_casefold.
43670         * lib/unicase/u32-casefold.c: Update.
43671         * modules/unicase/u32-casefold (Depends-on): Add
43672         unicase/u32-ct-casefold, unicase/empty-prefix-context,
43673         unicase/empty-suffix-context. Clean up.
43674
43675         Define u16_casefold as a wrapper around u16_ct_casefold.
43676         * lib/unicase/u16-casefold.c: Update.
43677         * modules/unicase/u16-casefold (Depends-on): Add
43678         unicase/u16-ct-casefold, unicase/empty-prefix-context,
43679         unicase/empty-suffix-context. Clean up.
43680
43681         Define u8_casefold as a wrapper around u8_ct_casefold.
43682         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
43683         * lib/unicase/u8-casefold.c: Update.
43684         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
43685         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
43686
43687         Define u32_totitle as a wrapper around u32_ct_totitle.
43688         * lib/unicase/u32-totitle.c: Update.
43689         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
43690         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
43691
43692         Define u16_totitle as a wrapper around u16_ct_totitle.
43693         * lib/unicase/u16-totitle.c: Update.
43694         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
43695         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
43696
43697         Define u8_totitle as a wrapper around u8_ct_totitle.
43698         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
43699         functions.
43700         (FUNC): Delegate to U_CT_TOTITLE.
43701         * lib/unicase/u8-totitle.c: Update.
43702         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
43703         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
43704
43705         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
43706         invocation.
43707         * modules/unicase/u32-tolower (Depends-on): Add
43708         unicase/empty-prefix-context, unicase/empty-suffix-context.
43709
43710         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
43711         invocation.
43712         * modules/unicase/u16-tolower (Depends-on): Add
43713         unicase/empty-prefix-context, unicase/empty-suffix-context.
43714
43715         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
43716         * modules/unicase/u8-tolower (Depends-on): Add
43717         unicase/empty-prefix-context, unicase/empty-suffix-context.
43718
43719         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
43720         invocation.
43721         * modules/unicase/u32-toupper (Depends-on): Add
43722         unicase/empty-prefix-context, unicase/empty-suffix-context.
43723
43724         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
43725         invocation.
43726         * modules/unicase/u16-toupper (Depends-on): Add
43727         unicase/empty-prefix-context, unicase/empty-suffix-context.
43728
43729         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
43730         * modules/unicase/u8-toupper (Depends-on): Add
43731         unicase/empty-prefix-context, unicase/empty-suffix-context.
43732
43733         New module 'unicase/u32-ct-casefold'.
43734         * lib/unicase/u32-ct-casefold.c: New file.
43735         * modules/unicase/u32-ct-casefold: New file.
43736
43737         New module 'unicase/u16-ct-casefold'.
43738         * lib/unicase/u16-ct-casefold.c: New file.
43739         * modules/unicase/u16-ct-casefold: New file.
43740
43741         New module 'unicase/u8-ct-casefold'.
43742         * lib/unicase/u8-ct-casefold.c: New file.
43743         * lib/unicase/u-ct-casefold.h: New file, derived from
43744         lib/unicase/u-casefold.h.
43745         * modules/unicase/u8-ct-casefold: New file.
43746
43747         New module 'unicase/u32-ct-totitle'.
43748         * lib/unicase/u32-ct-totitle.c: New file.
43749         * modules/unicase/u32-ct-totitle: New file.
43750
43751         New module 'unicase/u16-ct-totitle'.
43752         * lib/unicase/u16-ct-totitle.c: New file.
43753         * modules/unicase/u16-ct-totitle: New file.
43754
43755         New module 'unicase/u8-ct-totitle'.
43756         * lib/unicase/u8-ct-totitle.c: New file.
43757         * lib/unicase/u-ct-totitle.h: New file, derived from
43758         lib/unicase/u-totitle.h.
43759         * modules/unicase/u8-ct-totitle: New file.
43760
43761         New module 'unicase/u32-ct-tolower'.
43762         * lib/unicase/u32-ct-tolower.c: New file.
43763         * modules/unicase/u32-ct-tolower: New file.
43764
43765         New module 'unicase/u16-ct-tolower'.
43766         * lib/unicase/u16-ct-tolower.c: New file.
43767         * modules/unicase/u16-ct-tolower: New file.
43768
43769         New module 'unicase/u8-ct-tolower'.
43770         * lib/unicase/u8-ct-tolower.c: New file.
43771         * modules/unicase/u8-ct-tolower: New file.
43772
43773         New module 'unicase/u32-ct-toupper'.
43774         * lib/unicase/u32-ct-toupper.c: New file.
43775         * modules/unicase/u32-ct-toupper: New file.
43776
43777         New module 'unicase/u16-ct-toupper'.
43778         * lib/unicase/u16-ct-toupper.c: New file.
43779         * modules/unicase/u16-ct-toupper: New file.
43780
43781         New module 'unicase/u8-ct-toupper'.
43782         * lib/unicase/u8-ct-toupper.c: New file.
43783         * modules/unicase/u8-ct-toupper: New file.
43784
43785         Add context arguments to u*_casemap functions.
43786         * lib/unicase/unicasemap.h: Include unicase.h.
43787         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
43788         suffix_context arguments.
43789         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
43790         functions.
43791         (FUNC): Add prefix_context and suffix_context arguments. Use
43792         uc_is_cased and uc_is_case_ignorable.
43793         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
43794         * lib/unicase/u16-casemap.c: Likewise.
43795         * lib/unicase/u32-casemap.c: Likewise.
43796         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
43797         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
43798         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
43799         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
43800         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
43801         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
43802
43803         New module 'unicase/u32-suffix-context'.
43804         * lib/unicase/u32-suffix-context.c: New file.
43805         * modules/unicase/u32-suffix-context: New file.
43806
43807         New module 'unicase/u16-suffix-context'.
43808         * lib/unicase/u16-suffix-context.c: New file.
43809         * modules/unicase/u16-suffix-context: New file.
43810
43811         New module 'unicase/u8-suffix-context'.
43812         * lib/unicase/u8-suffix-context.c: New file.
43813         * lib/unicase/u-suffix-context.h: New file.
43814         * modules/unicase/u8-suffix-context: New file.
43815
43816         New module 'unicase/empty-suffix-context'.
43817         * lib/unicase/empty-suffix-context.c: New file.
43818         * modules/unicase/empty-suffix-context: New file.
43819
43820         New module 'unicase/u32-prefix-context'.
43821         * lib/unicase/u32-prefix-context.c: New file.
43822         * modules/unicase/u32-prefix-context: New file.
43823
43824         New module 'unicase/u16-prefix-context'.
43825         * lib/unicase/u16-prefix-context.c: New file.
43826         * modules/unicase/u16-prefix-context: New file.
43827
43828         New module 'unicase/u8-prefix-context'.
43829         * lib/unicase/u8-prefix-context.c: New file.
43830         * lib/unicase/u-prefix-context.h: New file.
43831         * lib/unicase/context.h: New file.
43832         * modules/unicase/u8-prefix-context: New file.
43833
43834         New module 'unicase/empty-prefix-context'.
43835         * lib/unicase/empty-prefix-context.c: New file.
43836         * modules/unicase/empty-prefix-context: New file.
43837
43838         New module 'unicase/ignorable'.
43839         * lib/unicase/ignorable.c: New file.
43840         * modules/unicase/ignorable: New file.
43841
43842         New module 'unicase/cased'.
43843         * lib/unicase/caseprop.h: New file.
43844         * lib/unicase/cased.c: New file.
43845         * modules/unicase/cased: New file.
43846
43847         New functions for case mapping of substrings.
43848         * lib/unicase.h (casing_prefix_context_t): New type.
43849         (unicase_empty_prefix_context): New variable.
43850         (u8_casing_prefix_context, u16_casing_prefix_context,
43851         u32_casing_prefix_context, u8_casing_prefixes_context,
43852         u16_casing_prefixes_context, u32_casing_prefixes_context): New
43853         declarations.
43854         (casing_suffix_context_t): New type.
43855         (unicase_empty_suffix_context): New variable.
43856         (u8_casing_suffix_context, u16_casing_suffix_context,
43857         u32_casing_suffix_context, u8_casing_suffixes_context,
43858         u16_casing_suffixes_context, u32_casing_suffixes_context,
43859         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
43860         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
43861         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
43862         declarations.
43863
43864 2009-06-28  Jim Meyering  <meyering@redhat.com>
43865
43866         boostrap: indent only with spaces
43867         * build-aux/bootstrap: Indent only with spaces, never TABs.
43868
43869         bootstrap: split long lines
43870         * build-aux/bootstrap: Keep line length < 80.
43871
43872         bootstrap: sync from coreutils
43873         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
43874         just as autoreconf does.  Verify a list of prerequisite
43875         package-name,version-number pairs if defined in bootstrap.conf.
43876         Refer to README-prereq, if prerequisites are not satisfied.
43877
43878 2009-06-27  Eric Blake  <ebb9@byu.net>
43879
43880         tests: add test for bogus NULL definition
43881         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
43882         * tests/test-stdlib.c: Likewise.
43883         * tests/test-string.c: Likewise.
43884         * tests/test-locale.c: Likewise.
43885         * tests/test-unistd.c: Likewise.
43886         * modules/stdio-tests (Depends-on): Add verify.
43887         * modules/stdlib-tests (Depends-on): Likewise.
43888         * modules/string-tests (Depends-on): Likewise.
43889         * modules/locale-tests (Depends-on): Likewise.
43890         * modules/unistd-tests (Depends-on): Likewise.
43891
43892 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
43893
43894         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
43895         self-explaining comment.
43896         * m4/selinux-selinux-h: Update serial.
43897         (gl_LIBSELINUX): New macro, adding a warning for missing development
43898         packages to code extracted from...
43899         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
43900         Add warning for missing development packages here, too.
43901
43902 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
43903
43904         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
43905
43906 2009-06-25  Eric Blake  <ebb9@byu.net>
43907
43908         version-etc: fix regression
43909         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
43910         gcc.
43911         (version_etc): Use it, to catch bugs with trailing NULL.
43912         * lib/version-etc.c (version_etc_arn): Delete unused argument.
43913         (version_etc_va): Fix logic bug.
43914         * modules/version-etc-tests: Add test.
43915         * tests/test-version-etc.c: New file.
43916         * tests/test-version-etc.sh: Likewise.
43917
43918 2009-06-25  Sam Steingold  <sds@gnu.org>
43919
43920         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
43921         mbtowc declaration.
43922
43923 2009-06-25  Eric Blake  <ebb9@byu.net>
43924
43925         fpurge: migrate into <stdio.h>
43926         * lib/fpurge.h: Delete...
43927         * lib/stdio.in.h (fpurge): ...and declare here, instead.
43928         * lib/fpurge.c (fpurge): Change declaring header.
43929         * modules/fpurge (Files): Drop deleted file.
43930         (Depends-on): Add stdio.
43931         (configure.ac): Set witness.
43932         * modules/stdio (Makefile.am): Support fpurge macros.
43933         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
43934         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
43935         * lib/fflush.c: Update client.
43936         * tests/test-fpurge.c: Likewise.
43937         * NEWS: Mention the change.
43938
43939 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
43940
43941         * lib/argp-version-etc.c (program_authors): Add const
43942         qualifier.
43943         * lib/version-etc.c: Fix typos in the comments.
43944         * modules/argp-version-etc: Depends on version-etc.
43945
43946 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
43947
43948         argp-version-etc: new module.
43949
43950         * lib/argp-version-etc.c: New file.
43951         * lib/argp-version-etc.h: New file.
43952         * modules/argp-version-etc: New file.
43953         * modules/argp-version-etc-tests: New file.
43954         * tests/test-argp-version-etc.c: New test.
43955         * tests/test-argp-version-etc-1.sh: New test.
43956
43957 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
43958
43959         Provide additional interfaces and documentation for version-etc
43960         module.
43961
43962         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
43963         interfaces.
43964         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
43965         prototypes.
43966
43967 2009-06-24  Bruno Haible  <bruno@clisp.org>
43968
43969         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
43970         HAVE_LIB${NAME} macro.
43971         Reported by Sam Steingold <sds@gnu.org>.
43972
43973 2009-06-23  Simon Josefsson  <simon@josefsson.org>
43974
43975         * modules/hash-tests (test_hash_LDADD): Link to libintl when
43976         needed.
43977
43978 2009-06-21  Bruno Haible  <bruno@clisp.org>
43979
43980         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
43981         work.
43982         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
43983         together with LIB${NAME}, LTLIB${NAME}.
43984         Reported by Sam Steingold <sds@gnu.org>.
43985
43986 2009-06-20  Jim Meyering  <meyering@redhat.com>
43987
43988         tests: make sc_require_test_exit_idiom more generic
43989         * top/maint.mk (Exit_witness_file): New overridable variable.
43990         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
43991         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
43992
43993 2009-06-19  Jim Meyering  <meyering@redhat.com>
43994
43995         hash: reverse order of src/dst parameters in an internal interface
43996         * lib/hash.c (transfer_entries): Reverse order of parameters to
43997         put DST before SRC.  Adjust callers.
43998
43999         tests: test-hash: avoid wholesale duplication
44000         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
44001         Instead, use a loop and add a single conditional.
44002
44003         tests: test-hash: allow seed selection via a command line argument
44004         * tests/test-hash.c (get_seed): New function.
44005         (main): Use it.
44006
44007 2009-06-19  Eric Blake  <ebb9@byu.net>
44008
44009         hash: avoid memory leak on allocation failure
44010         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
44011         failure.  Factor repeated algorithm...
44012         (transfer_entries): ...into new helper routine.
44013         (hash_delete): React to hash_rehash return value.
44014
44015         hash: reduce memory pressure in hash_rehash no-op case
44016         * lib/hash.c (next_prime): Avoid overflow.
44017         (hash_initialize): Factor bucket size computation...
44018         (compute_bucket_size): ...into new helper function.
44019         (hash_rehash): Use new function and open coding to reduce memory
44020         pressure, and avoid a memory leak in USE_OBSTACK code.
44021         Reported by Jim Meyering.
44022
44023 2009-06-18  Eric Blake  <ebb9@byu.net>
44024
44025         hash: make rotation more obvious
44026         * modules/hash (Depends-on): Add bitrotate and stdint.
44027         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
44028         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
44029         (SIZE_MAX): Rely on headers for definition.
44030         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
44031         (raw_hasher): Use rotr_sz.
44032         Suggested by Jim Meyering.
44033
44034         hash: fix memory leak in last patch
44035         * lib/hash.c (hash_rehash): Avoid memory leak.
44036
44037         hash: avoid no-op rehashing
44038         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
44039
44040         hash: provide default callback functions
44041         * lib/hash.c (raw_hasher, raw_comparator): New functions.
44042         (hash_initialize): Use them as defaults.
44043         * tests/test-hash.c (main): Test this.
44044
44045         hash: minor optimization
44046         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
44047         when possible.
44048         (hash_initialize): Document this promise.
44049         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
44050         * tests/test-hash.c (hash_compare_strings): Test this.
44051
44052 2009-06-18  Bruno Haible  <bruno@clisp.org>
44053
44054         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
44055         going to be replaced anyway.
44056
44057 2009-06-18  Bruno Haible  <bruno@clisp.org>
44058
44059         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
44060         in one place.
44061         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
44062         be replaced anyway.
44063
44064 2009-06-18  Eric Blake  <ebb9@byu.net>
44065
44066         hash: check for resize before insertion
44067         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
44068         threshold before insertion, so that a pathological hash_rehash
44069         that fills every bucket can still trigger another rehash.
44070
44071 2009-06-18  Jim Meyering  <meyering@redhat.com>
44072
44073         hash-tests: add a loop around the small tests
44074         * tests/test-hash.c (main): Repeat small tests with selected
44075         small initial table sizes.
44076
44077 2009-06-17  Eric Blake  <ebb9@byu.net>
44078
44079         hash: minor cleanups
44080         * lib/hash.h (hash_entry): Make opaque, by moving...
44081         * lib/hash.c (hash_entry): ...here.
44082         (hash_insert): Clarify restrictions on what can be inserted.
44083         (hash_get_next): Clarify when it is safe to remove an element
44084         during traversal.
44085         (check_tuning): Skip verification when tuning is known safe.
44086         (hash_initialize): Clarify restrictions on tuning.
44087
44088 2009-06-17  Jim Meyering  <jim@meyering.net>
44089         and Eric Blake  <ebb9@byu.net>
44090
44091         hash-tests: new module
44092         * modules/hash-tests: New file.
44093         * tests/test-hash.c: New file.
44094
44095 2009-06-17  Eric Blake  <ebb9@byu.net>
44096
44097         strstr-simple: document new module
44098         * MODULES.html.sh: Document new module.
44099
44100         strstr, strcasestr: replace on platforms with broken memchr
44101         * modules/strstr: Split into...
44102         * modules/strstr-simple: ...new module that does not care about
44103         performance, but does care about glibc bug.
44104         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
44105         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
44106         if platform memchr is broken, per Debian bug 521737.
44107         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
44108         memchr.
44109         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
44110         * doc/posix-functions/strstr.texi (strstr): Document the fix.
44111         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
44112         * modules/mountlist (Depends-on): Add strstr-simple.
44113         * modules/gen-uni-tables (Depends-on): Likewise.
44114         * modules/argz (Depends-on): Add strstr.
44115
44116 2009-06-17  Bruno Haible  <bruno@clisp.org>
44117
44118         * modules/posix_spawn-internal (Depends-on): Add errno.
44119
44120 2009-06-17  Bruno Haible  <bruno@clisp.org>
44121
44122         Define missing ESTALE on Interix 3.5.
44123         * lib/errno.in.h (ESTALE): Assign a value if missing.
44124         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
44125         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
44126         missing.
44127         * doc/posix-headers/errno.texi: Mention the Interix bug.
44128         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
44129
44130 2009-06-15  Eric Blake  <ebb9@byu.net>
44131
44132         memchr, memchr2: add valgrind exception
44133         * lib/memchr.valgrind: New file.
44134         * lib/memchr2.valgrind: New file.
44135         * modules/memchr (Files): Distribute valgrind file.
44136         * modules/memchr2 (Files): Likewise.
44137
44138         docs: memchr is no longer obsolete
44139         * MODULES.html.sh: Move memchr from obsolete to string.h section.
44140         * lib/string.in.h (memchr): Simplify logic.
44141
44142 2009-06-14  Jim Meyering  <meyering@redhat.com>
44143
44144         link-follow: fix the "checking..." message to not mention trailing slash
44145         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
44146         never considered trailing slashes.
44147
44148 2009-06-14  Bruno Haible  <bruno@clisp.org>
44149
44150         * m4/memchr.m4: Mention also the bug on IA-64.
44151         * doc/posix-functions/memchr.texi: Likewise.
44152
44153 2009-06-12  Eric Blake  <ebb9@byu.net>
44154
44155         memchr: detect broken x86_64 and alpha implementations
44156         * modules/memchr-tests (Depends-on): Move mmap detection...
44157         * modules/memchr (Depends-on): ...here.
44158         (configure.ac): Set indicator.
44159         * lib/string.in.h (memchr): Declare replacement.
44160         * modules/string (Makefile.am): Trigger replacement.
44161         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
44162         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
44163         bugs.
44164         * doc/posix-functions/memchr.texi (memchr): Document the bug.
44165         * modules/getpagesize (License): Relax license.
44166
44167 2009-06-11  Bruno Haible  <bruno@clisp.org>
44168
44169         * lib/idpriv.h: Add more references.
44170
44171 2009-06-08  Bruno Haible  <bruno@clisp.org>
44172
44173         Tests for module 'idpriv-droptemp'.
44174         * modules/idpriv-droptemp-tests: New file.
44175         * tests/test-idpriv-droptemp.sh: New file.
44176         * tests/test-idpriv-droptemp.su.sh: New file.
44177         * tests/test-idpriv-droptemp.c: New file.
44178
44179         New module 'idpriv-droptemp'.
44180         * lib/idpriv-droptemp.c: New file.
44181         * modules/idpriv-droptemp: New file.
44182
44183 2009-06-08  Bruno Haible  <bruno@clisp.org>
44184
44185         Tests for module 'idpriv-drop'.
44186         * modules/idpriv-drop-tests: New file.
44187         * tests/test-idpriv-drop.sh: New file.
44188         * tests/test-idpriv-drop.su.sh: New file.
44189         * tests/test-idpriv-drop.c: New file.
44190
44191         New module 'idpriv-drop'.
44192         * lib/idpriv.h: New file.
44193         * lib-idpriv-drop.c: New file.
44194         * m4/idpriv.m4: New file.
44195         * modules/idpriv-drop: New file.
44196
44197 2009-06-08  Bruno Haible  <bruno@clisp.org>
44198
44199         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
44200         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
44201         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
44202         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
44203         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
44204         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
44205         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
44206
44207 2009-06-08  Eric Blake  <ebb9@byu.net>
44208
44209         test-strstr: use memory fence, when possible
44210         * tests/test-strstr.c (main): Use memory fence, in order to be
44211         more likely to trigger Debian bug 521737.
44212         * modules/strstr-tests (Files): Pull in additional files.
44213
44214         memchr: no longer obsolete, for wider field testing
44215         * modules/memchr (Status, Notice): Delete, this module is no
44216         longer obsolete.
44217         * modules/vasnprintf (Depends-on): Add memchr.
44218
44219 2009-06-07  Jim Meyering  <meyering@redhat.com>
44220
44221         hash: declare some functions with the warn_unused_result attribute
44222         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
44223
44224 2009-06-07  Bruno Haible  <bruno@clisp.org>
44225
44226         * tests/test-alignof.c: Don't test int64_t if it does not exist.
44227         Reported by Eric Blake.
44228
44229 2009-06-06  Eric Blake  <ebb9@byu.net>
44230
44231         test-alignof: fix typo with long double
44232         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
44233         compiler error.
44234
44235 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
44236
44237         Escape non-texinfo { and }s.
44238         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
44239         markup error.
44240
44241 2009-06-04  Jim Meyering  <meyering@redhat.com>
44242
44243         gitlog-to-changelog: don't infloop on an empty commit log
44244         * build-aux/gitlog-to-changelog: Warn about an empty log message.
44245         Reported by Boris Petersen <transacid@centerim.org>.
44246
44247 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
44248
44249         version-etc: extend for packagers
44250         Add three new configure options, intended for packagers:
44251           --with-packager="packager name"
44252           --with-packager-version="packager-specific version"
44253           --with-packager-bug-reports="packager bug reporting"
44254         An example with coreutils:
44255           $ ./configure \
44256             --with-packager=Gentoo \
44257             --with-packager-bug-report=http://bugs.gentoo.org/ \
44258             --with-packager-version="patchset 1.6"
44259           $ ./src/ls --version | head -n2
44260           ls (GNU coreutils) 7.1-dirty
44261           Packaged by Gentoo (patchset 1.6)
44262         Note that the bug reporting info via --help doesn't show up because
44263         coreutils uses its own custom emit_bug_reporting_address() implementation
44264         in src/system.h.  If it didn't, it'd look like:
44265           $ ./src/ls --help | tail -n4
44266           Report bugs to <bug-coreutils@gnu.org>.
44267           Report Gentoo bugs to <http://bugs.gentoo.org/>.
44268           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
44269           General help using GNU software: <http://www.gnu.org/gethelp/>.
44270         * lib/version-etc.c: Print new information, if provided.
44271         * m4/version-etc.m4: New file.
44272         * modules/version-etc (Files): Add m4/version-etc.m4.
44273         (configure.ac): Add gl_VERSION_ETC.
44274
44275 2009-05-31  Bruno Haible  <bruno@clisp.org>
44276
44277         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
44278         and 'int64_t'.
44279         * modules/alignof-tests (Dependencies): Add stdint.
44280         Reported by Eric Blake.
44281
44282 2009-05-31  Bruno Haible  <bruno@clisp.org>
44283
44284         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
44285         restriction due to compiler bugs.
44286         Reported by Eric Blake.
44287
44288 2009-05-31  Simon Josefsson  <simon@josefsson.org>
44289             Bruno Haible  <bruno@clisp.org>
44290
44291         Fix test-alignof failure.
44292         * lib/alignof.h (alignof_slot): New macro.
44293         (alignof_type): New macro, with the same semantics as the previous
44294         'alignof'.
44295         (alignof): Alias to alignof_slot.
44296         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
44297         check that the results are usable as constant expressions.
44298
44299 2009-05-31  Bruno Haible  <bruno@clisp.org>
44300
44301         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
44302         * tests/test-memchr.c (main): Check that memchr does not read past the
44303         first occurrence of the byte.
44304         * tests/test-strstr.c (main): Update comment.
44305         Suggested by Eric Blake.
44306
44307 2009-05-30  Bruno Haible  <bruno@clisp.org>
44308
44309         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
44310         detail how to use dumpbin.
44311         Reported by David Byron <dbyron@dbyron.com>.
44312
44313 2009-06-02  Simon Josefsson  <simon@josefsson.org>
44314
44315         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
44316
44317 2009-06-02  Simon Josefsson  <simon@josefsson.org>
44318
44319         * m4/manywarnings.m4: Add GCC 4.4 warnings.
44320
44321 2009-05-28  Bruno Haible  <bruno@clisp.org>
44322
44323         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
44324         build-aux/ files.
44325
44326 2009-05-28  Simon Josefsson  <simon@josefsson.org>
44327
44328         * gnulib-tool (func_import): Transform license on build-aux/ files too.
44329
44330 2009-05-27  Simon Josefsson  <simon@josefsson.org>
44331
44332         * gnulib-tool (sed_transform_main_lib_file)
44333         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
44334         regexps.
44335
44336 2009-05-26  Simon Josefsson  <simon@josefsson.org>
44337
44338         * tests/test-strstr.c: Add another self-test.
44339         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
44340         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
44341
44342 2009-05-23  Bruno Haible  <bruno@clisp.org>
44343
44344         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
44345         change.
44346
44347 2009-05-21  Bruno Haible  <bruno@clisp.org>
44348
44349         Simplify use of mode_t varargs.
44350         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
44351         uses 'mode_t' or 'int'.
44352         * lib/openat.c (openat): Likewise.
44353         * lib/open-safer.c (open_safer): Likewise.
44354         * m4/mode_t.m4: New file.
44355         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
44356         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
44357         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
44358         * modules/open (Files): Add m4/mode_t.m4.
44359         * modules/openat (Files): Likewise.
44360         * modules/fcntl-safer (Files): Likewise.
44361         Suggested by Eric Blake.
44362
44363 2009-05-21  Pádraig Brady  <P@draigbrady.com>
44364
44365         * doc/glibc-functions/fallocate.texi: New file.
44366         * doc/gnulib.texi: Include it.
44367
44368 2009-05-21  Eric Blake  <ebb9@byu.net>
44369             Bruno Haible  <bruno@clisp.org>
44370
44371         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
44372         invocations.
44373         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
44374
44375 2009-05-21  Eric Blake  <ebb9@byu.net>
44376             Bruno Haible  <bruno@clisp.org>
44377
44378         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
44379         include_next. Fix of 2008-11-20 commit.
44380         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
44381         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
44382         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
44383         NEXT_MATH_H.
44384         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
44385         instead of NEXT_MATH_H.
44386
44387 2009-05-21  Bruno Haible  <bruno@clisp.org>
44388
44389         Avoid redefinition warnings for SIZE_MAX.
44390         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
44391         Reported by Simon Josefsson.
44392
44393 2009-05-21  Bruno Haible  <bruno@clisp.org>
44394
44395         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
44396         AC_CACHE_VAL.
44397
44398 2009-05-20  Bruno Haible  <bruno@clisp.org>
44399
44400         Make zeroptr.h work on mingw.
44401         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
44402         mprotect.
44403         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
44404         * modules/memchr2-tests (configure.ac): Likewise.
44405         * modules/memcmp-tests (configure.ac): Likewise.
44406         * modules/memmem-tests (configure.ac): Likewise.
44407         * modules/memrchr-tests (configure.ac): Likewise.
44408         Reported by Simon Josefsson.
44409
44410 2009-05-20  Simon Josefsson  <simon@josefsson.org>
44411
44412         * tests/test-glob.c: Include string.h for strcmp prototype.
44413
44414 2009-05-20  Simon Josefsson  <simon@josefsson.org>
44415
44416         * modules/getdelim (Depends-on): Add explicit stdint, although it
44417         was implicitly already pulled in via realloc-posix.
44418         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
44419
44420 2009-05-20  Simon Josefsson  <simon@josefsson.org>
44421
44422         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
44423         G. Christensen" <tgc@jupiterrise.com>.
44424         * m4/sys_socket_h.m4: Check for sa_family_t.
44425         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
44426         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
44427         * tests/test-sys_socket.c: Check that sa_family_t works.
44428
44429 2009-05-18  Eric Blake  <ebb9@byu.net>
44430
44431         maint.mk: allow gnulib_dir in VPATH build
44432         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
44433
44434 2009-05-15  Jim Meyering  <meyering@redhat.com>
44435
44436         maint.mk: Give gnulib_dir a default definition.
44437         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
44438         Thus, most packages no longer need to specify this variable in cfg.mk
44439
44440 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
44441
44442         rename.m4: fix typos that would make non-mingw cross-configure fail
44443         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
44444
44445 2009-05-13  Eric Blake  <ebb9@byu.net>
44446
44447         mmap-anon: avoid out-of-order autoconf expansion
44448         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
44449         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
44450         * modules/memchr-tests (Depends-on): Add extensions.
44451         * modules/memchr2-tests (Depends-on): Add extensions.
44452         * modules/memcmp-tests (Depends-on): Add extensions.
44453         * modules/memmem-tests (Depends-on): Add extensions.
44454         * modules/memrchr-tests (Depends-on): Add extensions.
44455
44456 2009-05-13  Bruno Haible  <bruno@clisp.org>
44457
44458         Make some tests ISO C 99 compliant.
44459         * tests/zerosize-ptr.h: New file.
44460         * tests/test-memchr.c: Include zerosize-ptr.h.
44461         (main): Use a zero-size object pointer instead of NULL.
44462         * tests/test-memchr2.c: Include zerosize-ptr.h.
44463         (main): Use a zero-size object pointer instead of NULL.
44464         * tests/test-memcmp.c: Include zerosize-ptr.h.
44465         (main): Use a zero-size object pointer instead of NULL.
44466         * tests/test-memmem.c: Include zerosize-ptr.h.
44467         (main): Use a zero-size object pointer instead of NULL.
44468         * tests/test-memrchr.c: Include zerosize-ptr.h.
44469         (main): Use a zero-size object pointer instead of NULL.
44470         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
44471         m4/mmap-anon.m4.
44472         (Depends-on): Add getpagesize.
44473         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
44474         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
44475         m4/mmap-anon.m4.
44476         (Depends-on): Add getpagesize.
44477         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
44478         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
44479         m4/mmap-anon.m4.
44480         (Depends-on): Add getpagesize.
44481         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
44482         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
44483         m4/mmap-anon.m4.
44484         (Depends-on): Add getpagesize.
44485         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
44486         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
44487         m4/mmap-anon.m4.
44488         (Depends-on): Add getpagesize.
44489         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
44490
44491 2009-05-12  Bruno Haible  <bruno@clisp.org>
44492
44493         Tests for module 'alignof'.
44494         * modules/alignof-tests: New file.
44495         * tests/test-alignof.c: New file.
44496
44497 2009-05-12  Bruno Haible  <bruno@clisp.org>
44498
44499         Fix alignof macro.
44500         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
44501         vendor compilers that are always correct.
44502
44503 2009-05-12  Bruno Haible  <bruno@clisp.org>
44504
44505         Make the MAP_ANONYMOUS detection work on HP-UX 11.
44506         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
44507         not whether its fully works.
44508
44509 2009-05-12  Bruno Haible  <bruno@clisp.org>
44510
44511         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
44512
44513 2009-05-12  Jim Meyering  <meyering@redhat.com>
44514
44515         * top/maint.mk: Adjust backslash alignment.
44516
44517 2009-05-11  Simon Josefsson  <simon@josefsson.org>
44518
44519         * top/maint.mk: Make $(srcdir)/build-aux configurable.
44520
44521 2009-05-11  Eric Blake  <ebb9@byu.net>
44522
44523         argp: avoid undefined behavior
44524         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
44525         macros.
44526
44527 2009-05-08  Simon Josefsson  <simon@josefsson.org>
44528
44529         * tests/test-vc-list-files-git.sh: Do git config of user.email and
44530         user.name to prevent git commit from complaining.
44531
44532 2009-05-10  Bruno Haible  <bruno@clisp.org>
44533
44534         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
44535         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
44536         it rewrites every file name only once.
44537         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
44538
44539 2009-05-08  Bruno Haible  <bruno@clisp.org>
44540
44541         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
44542         instead of 'max'.
44543
44544 2009-05-08  Simon Josefsson  <simon@josefsson.org>
44545
44546         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
44547         sockaddr_storage test.
44548
44549 2009-05-07  Simon Josefsson  <simon@josefsson.org>
44550
44551         * modules/sys_socket (Makefile.am): Substitute
44552         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
44553         * m4/sys_socket_h.m4: Check for sockaddr_storage.
44554         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
44555         * tests/test-sys_socket.c: Check sockaddr_storage.
44556
44557 2009-05-08  Bruno Haible  <bruno@clisp.org>
44558
44559         New module 'alignof'.
44560         * lib/alignof.h: New file.
44561         * modules/alignof: New file.
44562
44563 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
44564             Bruno Haible  <bruno@clisp.org>
44565
44566         Fix test-file-has-acl on FreeBSD.
44567         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
44568         mask is implicitly added.
44569         * tests/test-file-has-acl.c: Include <signal.h>.
44570         (main): Terminate the test after 5 seconds.
44571         * modules/acl-tests (configure.ac): Check for alarm function.
44572
44573 2009-05-04  Bruno Haible  <bruno@clisp.org>
44574
44575         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
44576         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
44577         * modules/errno (configure.ac): Drop AC_REQUIRE.
44578         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
44579         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
44580
44581 2009-05-04  Simon Josefsson  <simon@josefsson.org>
44582
44583         * modules/glob-tests: New module.
44584         * tests/test-glob.c: Add.
44585
44586 2009-05-04  Simon Josefsson  <simon@josefsson.org>
44587
44588         * modules/fnmatch-tests: New module.
44589         * tests/test-fnmatch.c: Add.
44590
44591 2009-05-04  Eric Blake  <ebb9@byu.net>
44592
44593         maint: make the new no-submodule-changes rule VPATH-safe
44594         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
44595
44596 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
44597             Bruno Haible  <bruno@clisp.org>
44598
44599         acl: Fix infinite loop on FreeBSD.
44600         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
44601         of return value from acl_get_entry.
44602         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
44603         Likewise.
44604
44605 2009-05-03  Bruno Haible  <bruno@clisp.org>
44606
44607         * lib/acl-internal.h (acl_entries): Clarify return value.
44608         * lib/acl_entries.c (acl_entries): Likewise.
44609
44610 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
44611
44612         Bug fix in acl module.
44613         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
44614
44615 2009-05-03  Bruno Haible  <bruno@clisp.org>
44616
44617         Create gperf-generated file in the source dir, not in the build dir.
44618         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
44619         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
44620         * modules/unicase/locale-language (unicase/locale-languages.h):
44621         Likewise.
44622         * modules/unicase/special-casing (unicase/special-casing-table.h):
44623         Likewise.
44624         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
44625         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
44626         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
44627         Reported by Ralf Wildenhues.
44628
44629 2009-05-03  Bruno Haible  <bruno@clisp.org>
44630
44631         * modules/fnmatch (Description, configure.ac): Taken from
44632         fnmatch-posix.
44633         * modules/fnmatch-posix: Turn into a symbolic reference to the
44634         'fnmatch' module, and deprecate.
44635         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
44636
44637 2009-05-03  Bruno Haible  <bruno@clisp.org>
44638
44639         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
44640         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
44641         Reported by Ralf Wildenhues.
44642
44643 2009-05-04  Simon Josefsson  <simon@josefsson.org>
44644
44645         * m4/fnmatch.m4: Fix fnmatch re-define.
44646
44647 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
44648
44649         priv-set: new module and tests; adapt write-any-file
44650         * lib/priv-set.c: New file.
44651         * lib/priv-set.h: New file.
44652         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
44653         * lib/write-any-file.c: Simplify by using priv-set module.
44654         * m4/priv-set.m4: New file.
44655         * modules/priv-set: New file.
44656         * modules/unlinkdir: Add dependency on priv-set module.
44657         * modules/write-any-file: Likewise.
44658
44659         Tests for module 'priv-set'.
44660         * modules/priv-set-tests: New file.
44661         * tests/test-priv-set.c: New file.
44662
44663 2009-05-03  Jim Meyering  <meyering@redhat.com>
44664             Bruno Haible  <bruno@clisp.org>
44665
44666         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
44667         use the converted UTF-8 variant of the name instead.
44668
44669 2009-05-03  Jim Meyering  <meyering@redhat.com>
44670
44671         tests: tighten some getdate tests
44672         * tests/test-getdate.c (main): Tighten tests: require equality,
44673         not just greater than.  Set TZ envvar to UTC0.
44674
44675 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
44676
44677         getdate: correctly interpret "next monday" when run on a Monday
44678         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
44679         that e.g., "next tues" (when run on a tuesday) results in a date
44680         that is one week in the future, and not today's date.
44681         I.e., add a week when the wday is the same as the current one.
44682         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
44683         and earlier by Martin Bernreuther and Jan Minář.
44684         * tests/test-getdate.c (main): Check that "next DAY" is always in
44685         the future and that "last DAY" is always in the past.
44686
44687 2009-05-02  Jim Meyering  <meyering@redhat.com>
44688
44689         build: ensure that a release build fails when a submodule is unclean
44690         * top/maint.mk (no-submodule-changes): New rule.
44691         (alpha beta major): Depend on it.
44692
44693 2009-05-02  Bruno Haible  <bruno@clisp.org>
44694
44695         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
44696         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
44697         shell variable gl_fnmatch_required to detect which variant is
44698         requested.
44699         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
44700         gl_FUNC_FNMATCH_POSIX.
44701         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
44702         exclude fnmatch-posix.
44703
44704 2009-05-02  Bruno Haible  <bruno@clisp.org>
44705
44706         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
44707         * modules/mbsrtowcs (License): Change to LGPLv2+.
44708         * modules/strnlen1 (License): Likewise.
44709         Reported by Simon Josefsson.
44710
44711 2009-05-02  Bruno Haible  <bruno@clisp.org>
44712
44713         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
44714         "cross".
44715         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
44716         gnulib-tool was called with option --source-base=lib.
44717
44718 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44719
44720         Use automake *-local hooks without commands, for extensibility.
44721         * modules/localcharset (Makefile.am): Rename install-exec-local
44722         rule to install-exec-localcharset, and make it a prerequisite of
44723         install-exec-local.  Likewise, rename the uninstall-local rule to
44724         uninstall-localcharset, and make it a prerequisite of the former.
44725
44726 2009-05-01  Bruno Haible  <bruno@clisp.org>
44727
44728         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
44729         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
44730         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
44731         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
44732         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
44733         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
44734         m4/locale-zh.m4, m4/codeset.m4.
44735
44736         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
44737         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
44738         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
44739         m4/locale-zh.m4.
44740
44741         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
44742         REPLACE_WCRTOMB if mbstate_t must be replaced.
44743         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
44744         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
44745
44746 2009-05-01  Bruno Haible  <bruno@clisp.org>
44747
44748         Avoid compiler warnings when redefining macros defined by <libintl.h>.
44749         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
44750         dngettext, dcngettext, textdomain, bindtextdomain,
44751         bind_textdomain_codeset): Undefine before redefining.
44752
44753 2009-04-30  Bruno Haible  <bruno@clisp.org>
44754
44755         Fix bug introduced on 2009-04-25.
44756         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
44757         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
44758         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
44759         is defined.
44760         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
44761         is defined.
44762         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
44763         is defined.
44764         Reported by Elbert_Pol <elbert.pol@gmail.com>.
44765
44766 2009-04-28  Bruno Haible  <bruno@clisp.org>
44767
44768         Comment tweaks.
44769         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
44770         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
44771         * lib/unicase.h (u*_casexfrm): Likewise.
44772         Reported by Paolo Bonzini.
44773
44774 2009-04-28  Bruno Haible  <bruno@clisp.org>
44775
44776         Fix a compilation error.
44777         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
44778         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
44779         Reported by Jim Meyering.
44780
44781 2009-04-27  Bruno Haible  <bruno@clisp.org>
44782
44783         New module 'libunistring'.
44784         * modules/libunistring: New file.
44785         * m4/libunistring.m4: New file.
44786         * MODULES.html.sh (Unicode string functions): Add it.
44787
44788 2009-04-27  Eric Blake  <ebb9@byu.net>
44789
44790         maint.mk: allow package-specific header to provide <config.h>
44791         * top/maint.mk (sc_require_config_h): New variable.
44792         (sc_require_config_h, sc_require_config_h_first): Use it.
44793
44794 2009-04-27  Simon Josefsson  <simon@josefsson.org>
44795
44796         * top/maint.mk (sc_avoid_if_before_free): Except
44797         useless-if-before-free script.
44798
44799 2009-04-27  Eric Blake  <ebb9@byu.net>
44800
44801         maintainer-makefile: depend on all required helper scripts
44802         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
44803         useless-if-before-free.
44804         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
44805         version, rather than assuming gnulib checkout is available.
44806         Reported by Simen Josefsson.
44807
44808 2009-04-26  Bruno Haible  <bruno@clisp.org>
44809
44810         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
44811         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
44812         "../" or "..".
44813
44814 2009-04-26  Bruno Haible  <bruno@clisp.org>
44815
44816         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
44817         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
44818         AC_LIB_HAVE_LINKFLAGS.
44819
44820 2009-04-26  Bruno Haible  <bruno@clisp.org>
44821
44822         Simplify calling convention of u*_conv_from_encoding.
44823         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
44824         u32_conv_from_encoding): Expect a resultbuf argument and return the
44825         result directly as a pointer.
44826         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
44827         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
44828         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
44829         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
44830         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
44831         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
44832         Update.
44833         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
44834         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
44835         * lib/vasnprintf.c (VASNPRINTF): Update.
44836         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
44837         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
44838         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
44839         * NEWS: Mention the change.
44840
44841 2009-04-26  Bruno Haible  <bruno@clisp.org>
44842
44843         Simplify calling convention of u*_conv_to_encoding.
44844         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
44845         u32_conv_to_encoding): Expect a resultbuf argument and return the
44846         result directly as a pointer.
44847         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
44848         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
44849         freeing scaled_offsets if mem_iconveha failed.
44850         * lib/unicase/u-casexfrm.h (FUNC): Update.
44851         * lib/uninorm/u-normxfrm.h (FUNC): Update.
44852         * lib/vasnprintf.c (VASNPRINTF): Update.
44853         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
44854         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
44855         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
44856         * NEWS: Mention the change.
44857
44858 2009-04-26  Bruno Haible  <bruno@clisp.org>
44859
44860         Avoid test failures on AIX and OSF/1.
44861         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
44862         malloc(0).
44863         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
44864         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
44865         Likewise.
44866         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
44867         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
44868         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
44869         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
44870         * doc/posix-functions/malloc.texi: Document the portability problem
44871         related to malloc(0).
44872
44873 2009-04-26  Bruno Haible  <bruno@clisp.org>
44874
44875         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
44876         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
44877         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
44878
44879 2009-04-25  Bruno Haible  <bruno@clisp.org>
44880
44881         Avoid link error when creating a namespace clean library.
44882         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
44883         as macro with arguments if already defined as an alias.
44884         * lib/signbitf.c (gl_signbitf): Don't undefine.
44885         * lib/signbitd.c (gl_signbitd): Don't undefine.
44886         * lib/signbitl.c (gl_signbitl): Don't undefine.
44887
44888 2009-04-25  Jim Meyering  <meyering@redhat.com>
44889
44890         vc-list-files: fix another quoting bug
44891         * build-aux/vc-list-files: Avoid sed backslash expansion
44892         of pathological directory names.
44893
44894 2009-04-25  Eric Blake  <ebb9@byu.net>
44895
44896         vc-list-files: fix shell quoting error
44897         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
44898         timestamp.
44899
44900 2009-04-25  Jim Meyering  <meyering@redhat.com>
44901
44902         vc-list-files: restore lost functionality with subdir argument
44903         * build-aux/vc-list-files: When given a non-"." sub-directory
44904         argument, substitute the $dir/ prefix back onto each resulting name.
44905         Otherwise, coreutils' root_tests check would fail.
44906
44907 2009-04-24  Eric Blake  <ebb9@byu.net>
44908
44909         vc-list-files: ignore git symlinks
44910         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
44911         than ls-files, to ignore git symlinks.
44912
44913         maint.mk: import improvements from m4
44914         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
44915         (move_if_change): Delete unused macro.
44916         (news-date-check, vc-diff-check): Support VPATH builds.
44917         (announcement): Likewise.  Split --bootstrap-tools list...
44918         (boostrap-tools): ...into separate list, which can be overridden
44919         in cfg.mk.
44920         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
44921         requiring dependency on useless-if-before-free module.
44922         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
44923         Support VPATH builds.
44924
44925 2009-04-24  Jim Meyering  <meyering@redhat.com>
44926
44927         maint.mk: remove coreutils-specific rules and variables
44928         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
44929         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
44930         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
44931
44932         maint.mk: remove obsolete rule
44933         * top/maint.mk (rel-check): Remove rule.
44934         (WGET, WGETFLAGS): Remove now-unused variables.
44935
44936 2009-04-24  Simon Josefsson  <simon@josefsson.org>
44937
44938         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
44939         consistency.
44940
44941         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
44942         '$(PATH_SEPARATOR)' instead of ':'.
44943
44944 2009-04-24  Simon Josefsson  <simon@josefsson.org>
44945
44946         * lib/getopt1.c (main): Use 'const' for static array.
44947
44948 2009-04-24  Simon Josefsson  <simon@josefsson.org>
44949
44950         * top/maint.mk: Sync with coreutils.
44951         * NEWS: Explain incompatibilities.
44952
44953 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44954             Bruno Haible  <bruno@clisp.org>
44955
44956         Fix cross-compilation results.
44957         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
44958         statement, as third argument of AC_TRY_RUN.
44959         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
44960         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
44961         Likewise.
44962         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
44963         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
44964         Likewise.
44965         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
44966         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
44967         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
44968
44969 2009-04-20  Bruno Haible  <bruno@clisp.org>
44970
44971         Avoid test failure on mingw.
44972         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
44973
44974 2009-04-20  Bruno Haible  <bruno@clisp.org>
44975
44976         Avoid compilation error on mingw.
44977         * modules/localename-tests (Depends-on): Add locale.
44978
44979 2009-04-19  Bruno Haible  <bruno@clisp.org>
44980
44981         Support for building a shared library on Windows platforms.
44982         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
44983         (main): Test the presence of UNINORM_NFC here.
44984         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
44985         (main): Test the presence of UNINORM_NFD here.
44986         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
44987         (main): Test the presence of UNINORM_NFKC here.
44988         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
44989         (main): Test the presence of UNINORM_NFKD here.
44990
44991 2009-04-19  Bruno Haible  <bruno@clisp.org>
44992
44993         Avoid a compiler warning.
44994         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
44995         Change type of variable 'sequence'.
44996
44997 2009-04-19  Bruno Haible  <bruno@clisp.org>
44998
44999         * modules/configmake (Makefile.am): When the contents of configmake.h
45000         does not change, arrange to preserve its modification time.
45001
45002 2009-04-17  Simon Josefsson  <simon@josefsson.org>
45003
45004         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
45005         gettext domain.
45006
45007 2009-04-16  Jim Meyering  <meyering@redhat.com>
45008
45009         useless-if-before-free: improve conversion code
45010         * build-aux/useless-if-before-free: Adjust code-in-comment to match
45011         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
45012
45013 2009-04-14  Bruno Haible  <bruno@clisp.org>
45014
45015         * modules/fcntl (Depends-on): Add extensions.
45016         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
45017
45018 2009-04-12  Ben Pfaff  <blp@gnu.org>
45019
45020         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
45021         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
45022
45023 2009-03-20  Ben Pfaff  <blp@gnu.org>
45024
45025         Make rename replace existing destinations on Windows.
45026         * m4/rename.m4: Add test for Mingw.
45027         * lib/rename.c: Add rename replacement that uses MoveFileEx with
45028         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
45029         * doc/posix-functions/rename.texi: Document.
45030
45031 2009-04-10  Bruno Haible  <bruno@clisp.org>
45032
45033         New include file "iconveh.h".
45034         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
45035         * lib/striconveh.h: Include it.
45036         (enum iconv_ilseq_handler): Remove definition.
45037         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
45038         striconveh.h.
45039         * lib/striconveha.c: Include striconveh.h.
45040         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
45041         * modules/striconveh (Files): Add lib/iconveh.h.
45042         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
45043         lib/striconveh.h.
45044
45045 2009-04-10  Bruno Haible  <bruno@clisp.org>
45046
45047         * lib/uniconv.h: Update comment.
45048
45049 2009-04-10  Bruno Haible  <bruno@clisp.org>
45050
45051         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
45052         always.
45053         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
45054         * lib/unistr/u16-mbtouc-aux.c: Likewise.
45055         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
45056         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
45057         "unistring-notinline.h", so that the function gets defined always.
45058         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
45059         * lib/unistr/u8-uctomb.c: Likewise.
45060         * lib/unistr/u16-mbtouc.c: Likewise.
45061         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
45062         * lib/unistr/u16-uctomb.c: Likewise.
45063         * lib/unistr/u32-mbtouc.c: Likewise.
45064         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
45065         * lib/unistr/u32-uctomb.c: Likewise.
45066
45067 2009-04-10  Bruno Haible  <bruno@clisp.org>
45068
45069         Mark 'utime' obsolete.
45070         * modules/utime (Status, Notice): New sections.
45071         Suggested by Jim Meyering.
45072
45073         Fix cross-compile guess for utime test.
45074         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
45075         autoconf.
45076         * doc/posix-functions/utime.texi: Give more precisions.
45077         Reported by Jan <ipif@ymail.com>.
45078
45079 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
45080
45081         filevercmp: correct today's change
45082         * lib/filevercmp.c: Also handle coreutils' test inputs.
45083         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
45084
45085         Fix regression in 'filevercmp' module. Thanks Sven Joachim
45086         for reporting it.
45087         * lib/filevercmp.c: Special handle for "", "." and "..".
45088         * tests/test-filevercmp.c: Enlarge the set suite.
45089
45090 2009-04-07  Jim Meyering  <meyering@redhat.com>
45091
45092         useless-if-before-free: show how to remove braced useless free, too
45093         * build-aux/useless-if-before-free: still only in a comment, though.
45094
45095 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
45096
45097         maint.mk: import changes to syntax-check macros from coreutils
45098         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
45099         Use them in the relevant macros.
45100
45101 2009-04-06  Bruno Haible  <bruno@clisp.org>
45102
45103         Fix unportable use of bit-fields.
45104         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
45105         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
45106         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
45107
45108 2009-04-06  Bruno Haible  <bruno@clisp.org>
45109
45110         Avoid test failures on AIX and OSF/1.
45111         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
45112         that malloc(0) = NULL.
45113         * tests/unicase/test-u8-tolower.c (check): Likewise.
45114         * tests/unicase/test-u8-totitle.c (check): Likewise.
45115         * tests/unicase/test-u8-toupper.c (check): Likewise.
45116         * tests/unicase/test-u16-casefold.c (check): Likewise.
45117         * tests/unicase/test-u16-tolower.c (check): Likewise.
45118         * tests/unicase/test-u16-totitle.c (check): Likewise.
45119         * tests/unicase/test-u16-toupper.c (check): Likewise.
45120         * tests/unicase/test-u32-casefold.c (check): Likewise.
45121         * tests/unicase/test-u32-tolower.c (check): Likewise.
45122         * tests/unicase/test-u32-totitle.c (check): Likewise.
45123         * tests/unicase/test-u32-toupper.c (check): Likewise.
45124         * tests/uninorm/test-u8-nfc.c (check): Likewise.
45125         * tests/uninorm/test-u8-nfd.c (check): Likewise.
45126         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
45127         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
45128         * tests/uninorm/test-u16-nfc.c (check): Likewise.
45129         * tests/uninorm/test-u16-nfd.c (check): Likewise.
45130         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
45131         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
45132         * tests/uninorm/test-u32-nfc.c (check): Likewise.
45133         * tests/uninorm/test-u32-nfd.c (check): Likewise.
45134         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
45135         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
45136
45137 2009-04-05  Bruno Haible  <bruno@clisp.org>
45138
45139         Work around an autoconf limitation.
45140         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
45141         comment line if it would be longer than 3 KB.
45142
45143 2009-04-05  Bruno Haible  <bruno@clisp.org>
45144
45145         Avoid test failure with libiconv-1.13.
45146         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
45147         of the expected test results.
45148
45149 2009-04-05  Bruno Haible  <bruno@clisp.org>
45150
45151         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
45152         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
45153         that it should be installed.
45154
45155 2009-04-05  Bruno Haible  <bruno@clisp.org>
45156
45157         * gnulib-tool: New option --copy-file.
45158         (func_usage): Document it.
45159         (func_dest_tmpfilename): Moved out of func_import.
45160         (func_add_file, func_update_file): New functions, extracted from
45161         func_import.
45162         (func_import): Update.
45163
45164 2009-04-05  Karl Berry  <karl@gnu.org>
45165
45166         * README: prominently mention gnulib-tool.
45167         Rearrange sections so getting the code is near the top.
45168
45169 2009-04-05  Bruno Haible  <bruno@clisp.org>
45170
45171         * lib/unicase.h: Mention u*_cmp2.
45172         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
45173         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
45174         * lib/unicase/ulc-casecmp.c: Likewise.
45175         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
45176         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
45177         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
45178         unistr/u8-cmp.
45179         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
45180         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
45181         unistr/u16-cmp.
45182         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
45183         unistr/u32-cmp.
45184
45185         * lib/uninorm.h: Mention u*_cmp2.
45186         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
45187         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
45188         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
45189         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
45190         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
45191         unistr/u8-cmp.
45192         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
45193         unistr/u16-cmp.
45194         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
45195         unistr/u32-cmp.
45196
45197         New module 'unistr/u32-cmp2'.
45198         * lib/unistr/u32-cmp2.c: New file.
45199         * modules/unistr/u32-cmp2: New file.
45200
45201         New module 'unistr/u16-cmp2'.
45202         * lib/unistr/u16-cmp2.c: New file.
45203         * modules/unistr/u16-cmp2: New file.
45204
45205         New module 'unistr/u8-cmp2'.
45206         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
45207         * lib/unistr/u8-cmp2.c: New file.
45208         * lib/unistr/u-cmp2.h: New file.
45209         * modules/unistr/u8-cmp2: New file.
45210
45211 2009-04-05  Bruno Haible  <bruno@clisp.org>
45212
45213         * lib/unictype.h (uc_property_is_valid): New macro.
45214         * tests/unictype/test-pr_byname.c (main): Use it.
45215
45216         * lib/unistr.h: Doc fixes.
45217         * lib/uniconv.h: Doc fixes.
45218         * lib/unictype.h: Doc fixes.
45219
45220 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
45221
45222         Port coreutils 7.2 to Solaris 8.
45223
45224         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
45225         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
45226         for Solaris 8.  This is a bit of a hack, as it means it's the
45227         caller's responsibility to add -lnsl if needed, but most likely it
45228         won't be needed since only getaddrinfo uses this and getaddrinfo
45229         isn't needed on Solaris 8.
45230
45231         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
45232         problem to Solaris 8 encountered with coreutils 7.2, which
45233         resulted in a message "fnmatch.c:292: warning: passing argument 4
45234         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
45235         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
45236
45237 2009-04-03  Simon Josefsson  <simon@josefsson.org>
45238
45239         * m4/ld-version-script.m4: Add FIXME comment.
45240
45241 2009-04-02  Simon Josefsson  <simon@josefsson.org>
45242
45243         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
45244         SOVERSION variable.
45245
45246 2009-04-02  Bruno Haible  <bruno@clisp.org>
45247
45248         * Makefile (info, html, dvi, pdf): Combine the rules.
45249         Suggested by Jim Meyering.
45250
45251 2009-04-01  Bruno Haible  <bruno@clisp.org>
45252
45253         * Makefile (info, html, dvi, pdf): New targets.
45254         Reported by Reuben Thomas <rrt@sc3d.org>.
45255
45256 2009-04-01  Bruno Haible  <bruno@clisp.org>
45257
45258         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
45259         can be put into PATH.
45260         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
45261
45262 2009-04-01  Bruno Haible  <bruno@clisp.org>
45263
45264         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
45265
45266 2009-04-01  Bruno Haible  <bruno@clisp.org>
45267
45268         Rename module 'visibility'.
45269         * modules/lib-symbol-visibility: Renamed from modules/visibility.
45270         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
45271         * doc/gnulib.texi: Update.
45272         * MODULES.html.sh (Misc): Update.
45273         * NEWS: Mention the change.
45274
45275 2009-04-01  Simon Josefsson  <simon@josefsson.org>
45276
45277         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
45278         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
45279         Eric Blake <ebb9@byu.net> for review.
45280         * MODULES.html.sh: Add lib-msvc-compat.
45281         * doc/gnulib.texi: Link to new section.
45282         * m4/ld-output-def.m4: New file.
45283         * doc/ld-output-def.texi: New file.
45284
45285 2009-04-01  Simon Josefsson  <simon@josefsson.org>
45286
45287         Rename ld-version-script to lib-symbol-versions.  Suggested by
45288         Bruno Haible <bruno@clisp.org>.
45289         * modules/ld-version-script: Renamed to lib-symbol-versions.
45290         * doc/ld-version-script.texi: Fix module name.
45291         * MODULES.html.sh: Add lib-symbol-versions.
45292
45293 2009-03-31  Simon Josefsson  <simon@josefsson.org>
45294
45295         * modules/u64-tests: New file.
45296         * tests/test-u64.c: New file.
45297
45298 2009-03-04  Simon Josefsson  <simon@josefsson.org>
45299
45300         * MODULES.html.sh: Mention u64.
45301         * modules/u64: New module.
45302         * modules/crypto/sha512: Depend on u64 module instead of providing
45303         u64.h.
45304
45305 2009-03-27  Eric Blake  <ebb9@byu.net>
45306
45307         test-strerror: make debugging EAI_SYSTEM easier
45308         * modules/getaddrinfo-tests (Depends-on): Add strerror.
45309         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
45310         failure was EAI_SYSTEM.
45311
45312 2009-03-25  Bruno Haible  <bruno@clisp.org>
45313
45314         Fix a problem with --enable-relocatable on Solaris 7.
45315         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
45316         since 2008-02-24.
45317
45318 2009-03-25  Eric Blake  <ebb9@byu.net>
45319
45320         test-sockets: avoid gcc warning
45321         * tests/test-sockets.c (main): Silence compiler warning.
45322
45323 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
45324
45325         New modules nproc, pthread, contributed by Glen Lenker.
45326
45327         * MODULES.html.sh: Add pthread, nproc.
45328         * lib/nproc.c: New file.
45329         * lib/nproc.h: New file.
45330         * lib/pthread.in.h: New file.
45331         * m4/pthread.m4: New file.
45332         * modules/nproc: New file.
45333         * modules/pthread: New file.
45334
45335 2009-03-24  Simon Josefsson  <simon@josefsson.org>
45336
45337         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
45338         New variable.
45339
45340 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
45341
45342         filevercmp: handle simple~ and numbered.~3~ backup suffixes
45343         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
45344         * tests/test-filevercmp.c: Add tests for backup suffixes.
45345
45346 2009-03-24  Simon Josefsson  <simon@josefsson.org>
45347
45348         * modules/stdlib (Depends-on): Add stdint, needed when defining
45349         struct random_data on, for example, HP-UX 10.20.  Reported by
45350         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
45351
45352 2009-03-24  Simon Josefsson  <simon@josefsson.org>
45353
45354         * lib/readline.c (readline): Call fflush on stdout after printing
45355         prompt.
45356
45357 2009-03-20  Bruno Haible  <bruno@clisp.org>
45358
45359         Remove dependency from 'close' module to -lws2_32 on native Windows.
45360         * lib/close-hook.h: New file.
45361         * lib/close-hook.c: New file.
45362         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
45363         w32sock.h.
45364         (_gl_close_fd_maybe_socket): Remove function.
45365         (rpl_close): Invoke execute_all_close_hooks instead of
45366         _gl_close_fd_maybe_socket.
45367         * lib/sockets.c: Include close-hook.h, w32sock.h.
45368         (close_fd_maybe_socket): New function, essentially from lib/close.c.
45369         (close_sockets_hook): New variable.
45370         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
45371         (gl_sockets_cleanup): Unregister it.
45372         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
45373         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
45374         * modules/close-hook: New file.
45375         * modules/close (Files): Remove lib/w32sock.h.
45376         (Depends-on): Add close-hook.
45377         (Link): Remove section.
45378         * modules/sockets (Files): Add lib/w32sock.h.
45379         (Depends-on): Add close-hook.
45380         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
45381         invocation.
45382         * NEWS: Mention that LIB_CLOSE is gone.
45383
45384 2009-03-23  Eric Blake  <ebb9@byu.net>
45385
45386         signal-tests: test previous patch
45387         * tests/test-signal.c: New file.
45388         * modules/signal-tests: Likewise.
45389
45390         signal.h: always support 'volatile sig_atomic_t'
45391         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
45392         (gl_SIGNAL_H_DEFAULTS): Add a default.
45393         * modules/signal (Makefile.am): Substitute if needed.
45394         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
45395         users can blindly add volatile.
45396         * doc/posix-headers/signal.texi (signal.h): Document it.
45397         Reported by Matthew Woehlke.
45398
45399 2009-03-23  Jim Meyering  <meyering@redhat.com>
45400
45401         pathmax: PATH_MAX: use pathconf only when available
45402         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
45403         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
45404         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
45405         This avoids a link failure in a PSP cross-compilation environment
45406         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
45407
45408         * lib/vasnprintf.c (divide): Fix typo in comment.
45409
45410 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45411
45412         * gnulib-tool (func_filter_filelist): Fix comment.
45413
45414 2009-03-20  Bruno Haible  <bruno@clisp.org>
45415
45416         Make sockets.h self-contained.
45417         * lib/sockets.c: Include sockets.h first.
45418         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
45419
45420 2009-03-19  Eric Blake  <ebb9@byu.net>
45421
45422         doc: mention more functions added in cygwin 1.7.0
45423         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
45424         addition.
45425         * doc/posix-functions/log2f.texi: Likewise.
45426
45427 2009-03-19  Jim Meyering  <meyering@redhat.com>
45428
45429         fsusage: avoid syntax error due to statement-before-declaration
45430         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
45431         after all declarations.  Reported by Matthew Woehlke in
45432         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
45433
45434 2009-03-18  Eric Blake  <ebb9@byu.net>
45435
45436         build-aux/compile: sync from automake
45437         * build-aux/compile: New file, from automake.
45438         * config/srclist.txt: Mention build-aux/compile.
45439
45440 2009-03-17  Bruno Haible  <bruno@clisp.org>
45441
45442         * lib/git-merge-changelog.c: Fix typo in comment.
45443         Reported by Reuben Thomas <rrt@sc3d.org>.
45444
45445 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
45446
45447         * m4/regex.m4: update and improve help for
45448         --without-included-regex.
45449
45450 2009-03-17  Simon Josefsson  <simon@josefsson.org>
45451
45452         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
45453         failure on missing include files.
45454
45455 2009-03-17  Eric Blake  <ebb9@byu.net>
45456
45457         doc: mention more functions added in cygwin 1.7.0
45458         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
45459         addition.
45460         * doc/posix-functions/fwscanf.texi: Likewise.
45461         * doc/posix-functions/swprintf.texi: Likewise.
45462         * doc/posix-functions/swscanf.texi: Likewise.
45463         * doc/posix-functions/vfwprintf.texi: Likewise.
45464         * doc/posix-functions/vfwscanf.texi: Likewise.
45465         * doc/posix-functions/vswprintf.texi: Likewise.
45466         * doc/posix-functions/vswscanf.texi: Likewise.
45467         * doc/posix-functions/vwprintf.texi: Likewise.
45468         * doc/posix-functions/vwscanf.texi: Likewise.
45469         * doc/posix-functions/wcscasecmp.texi: Likewise.
45470         * doc/posix-functions/wcsdup.texi: Likewise.
45471         * doc/posix-functions/wcsftime.texi: Likewise.
45472         * doc/posix-functions/wcsncasecmp.texi: Likewise.
45473         * doc/posix-functions/wprintf.texi: Likewise.
45474         * doc/posix-functions/wscanf.texi: Likewise.
45475         * doc/glibc-functions/gethostbyname2.texi: Likewise.
45476
45477 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45478
45479         maint.mk: really add $(AM_MAKEFLAGS)
45480         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
45481         was inadvertently omitted in the last commit.
45482         Spotted by Bruno Haible.
45483
45484         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
45485         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
45486         $(AM_MAKEFLAGS)' rather than plain `make'.
45487
45488         gnulib-tool: execute $MAKE not make
45489         * gnulib-tool: Default $MAKE to 'make'.
45490         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
45491         than make.  Initialize $MAKE in the do-autobuild script.
45492
45493         gnulib-tool: use $MAKE not make in generated files
45494         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
45495         make, in generated files.  Initialize $MAKE in the do-autobuild
45496         script.
45497
45498         * top/GNUmakefile (_have-git-version-gen): Fix typo.
45499
45500         GNUmakefile: disable parallelism only for multiple, recursive targets
45501         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
45502         additions in the Makefile.
45503         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
45504         by Automake.
45505         (.NOTPARALLEL): Only disable parallel builds if multiple targets
45506         are listed on the command line and at least one of them is
45507         listed in $(ALL_RECURSIVE_TARGETS).
45508
45509 2009-03-14  Bruno Haible  <bruno@clisp.org>
45510
45511         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
45512         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
45513         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
45514         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
45515         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
45516         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
45517         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
45518         unistr/u8-uctomb.
45519         * modules/unistr/u8-strchr (Depends-on): Likewise.
45520         * modules/unistr/u8-strrchr (Depends-on): Likewise.
45521         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
45522         unistr/u16-uctomb.
45523         * modules/unistr/u16-strchr (Depends-on): Likewise.
45524         * modules/unistr/u16-strrchr (Depends-on): Likewise.
45525
45526 2009-03-12  Bruno Haible  <bruno@clisp.org>
45527
45528         Work around select() bug on Interix 3.5.
45529         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
45530         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
45531         * m4/select.m4: New file.
45532         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
45533         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
45534         * modules/select (Files): Add m4/select.m4.
45535         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
45536         * modules/nanosleep (Depends-on): Add select.
45537         * modules/poll (Depends-on): Likewise.
45538         * doc/posix-functions/select.texi: Mention the Interix bug.
45539         Reported by Markus Duft <mduft@gentoo.org>.
45540
45541         * lib/select.c: Renamed from lib/winsock-select.c.
45542         * modules/select (Files): Add lib/select.c, remove
45543         lib/winsock-select.c.
45544         (configure.ac): Update.
45545
45546 2009-03-12  Jim Meyering  <meyering@redhat.com>
45547
45548         avoid gcc warnings about unused macro definitions
45549         * lib/readtokens.c (STREQ): Remove unused definition.
45550         * lib/xmalloc.c (SIZE_MAX): Likewise.
45551         * lib/openat-die.c (N_): Likewise.
45552         * lib/mountlist.c (SIZE_MAX): Remove definition.
45553         Instead, include <stdint.h>.
45554         * lib/readutmp.c: Likewise.
45555         * modules/readutmp (Depends-on): Add stdint.
45556         * modules/mountlist (Depends-on): Add stdint.
45557         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
45558
45559 2009-03-10  Bruno Haible  <bruno@clisp.org>
45560
45561         Tests for module 'mbmemcasecoll'.
45562         * modules/mbmemcasecoll-tests: New file.
45563         * tests/test-mbmemcasecoll1.sh: New file.
45564         * tests/test-mbmemcasecoll2.sh: New file.
45565         * tests/test-mbmemcasecoll3.sh: New file.
45566         * tests/test-mbmemcasecoll.c: New file.
45567
45568         New module 'mbmemcasecoll'.
45569         * lib/mbmemcasecoll.h: New file.
45570         * lib/mbmemcasecoll.c: New file.
45571         * modules/mbmemcasecoll: New file.
45572
45573         * tests/test-mbmemcasecmp.h: New file, extracted from
45574         tests/test-mbmemcasecmp.c.
45575         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
45576         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
45577         (main): Update.
45578         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
45579
45580 2009-03-09  Bruno Haible  <bruno@clisp.org>
45581
45582         Tests for module 'mbmemcasecmp'.
45583         * modules/mbmemcasecmp-tests: New file.
45584         * tests/test-mbmemcasecmp1.sh: New file.
45585         * tests/test-mbmemcasecmp2.sh: New file.
45586         * tests/test-mbmemcasecmp3.sh: New file.
45587         * tests/test-mbmemcasecmp.c: New file.
45588
45589         New module 'mbmemcasecmp'.
45590         * lib/mbmemcasecmp.h: New file.
45591         * lib/mbmemcasecmp.c: New file.
45592         * modules/mbmemcasecmp: New file.
45593
45594 2009-03-09  Bruno Haible  <bruno@clisp.org>
45595
45596         Tests for module 'unicase/ulc-casecoll'.
45597         * modules/unicase/ulc-casecoll-tests: New file.
45598         * tests/unicase/test-ulc-casecoll1.sh: New file.
45599         * tests/unicase/test-ulc-casecoll2.sh: New file.
45600         * tests/unicase/test-ulc-casecoll.c: New file.
45601
45602         New module 'unicase/ulc-casecoll'.
45603         * lib/unicase.h (ulc_casecoll): New declaration.
45604         * lib/unicase/ulc-casecoll.c: New file.
45605         * modules/unicase/ulc-casecoll: New file.
45606
45607         New module 'unicase/ulc-casexfrm'.
45608         * lib/unicase.h (ulc_casexfrm): New declaration.
45609         * lib/unicase/ulc-casexfrm.c: New file.
45610         * modules/unicase/ulc-casexfrm: New file.
45611
45612 2009-03-09  Bruno Haible  <bruno@clisp.org>
45613
45614         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
45615         invocations.
45616
45617         * m4/mbscasecmp.m4: Remove file.
45618         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
45619         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
45620
45621         * m4/mbscasestr.m4: Remove file.
45622         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
45623         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
45624
45625         * m4/mbschr.m4: Remove file.
45626         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
45627         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
45628
45629         * m4/mbscspn.m4: Remove file.
45630         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
45631         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
45632
45633         * m4/mbslen.m4: Remove file.
45634         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
45635         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
45636
45637         * m4/mbsncasecmp.m4: Remove file.
45638         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
45639         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
45640
45641         * m4/mbsnlen.m4: Remove file.
45642         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
45643         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
45644
45645         * m4/mbspbrk.m4: Remove file.
45646         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
45647         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
45648
45649         * m4/mbspcasecmp.m4: Remove file.
45650         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
45651         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
45652
45653         * m4/mbsrchr.m4: Remove file.
45654         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
45655         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
45656
45657         * m4/mbssep.m4: Remove file.
45658         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
45659         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
45660
45661         * m4/mbsspn.m4: Remove file.
45662         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
45663         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
45664
45665         * m4/mbsstr.m4: Remove file.
45666         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
45667         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
45668
45669         * m4/mbstok_r.m4: Remove file.
45670         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
45671         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
45672
45673         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
45674
45675         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
45676         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
45677
45678         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
45679
45680 2009-03-08  Bruno Haible  <bruno@clisp.org>
45681
45682         Tests for module 'unicase/ulc-casecmp'.
45683         * modules/unicase/ulc-casecmp-tests: New file.
45684         * tests/unicase/test-ulc-casecmp1.sh: New file.
45685         * tests/unicase/test-ulc-casecmp2.sh: New file.
45686         * tests/unicase/test-ulc-casecmp.c: New file.
45687
45688         New module 'unicase/ulc-casecmp'.
45689         * lib/unicase.h (ulc_casecmp): New declaration.
45690         * lib/unicase/ulc-casecmp.c: New file.
45691         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
45692         'const SRC_UNIT *'.
45693         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
45694         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
45695         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
45696         * modules/unicase/ulc-casecmp: New file.
45697
45698         Tests for module 'unicase/u32-is-cased'.
45699         * modules/unicase/u32-is-cased-tests: New file.
45700         * tests/unicase/test-u32-is-cased.c: New file.
45701
45702         Tests for module 'unicase/u16-is-cased'.
45703         * modules/unicase/u16-is-cased-tests: New file.
45704         * tests/unicase/test-u16-is-cased.c: New file.
45705
45706         Tests for module 'unicase/u8-is-cased'.
45707         * modules/unicase/u8-is-cased-tests: New file.
45708         * tests/unicase/test-u8-is-cased.c: New file.
45709         * tests/unicase/test-is-cased.h: New file.
45710
45711         New module 'unicase/u32-is-cased'.
45712         * lib/unicase/u32-is-cased.c: New file.
45713         * modules/unicase/u32-is-cased: New file.
45714
45715         New module 'unicase/u16-is-cased'.
45716         * lib/unicase/u16-is-cased.c: New file.
45717         * modules/unicase/u16-is-cased: New file.
45718
45719         New module 'unicase/u8-is-cased'.
45720         * lib/unicase/u8-is-cased.c: New file.
45721         * lib/unicase/u-is-cased.h: New file.
45722         * modules/unicase/u8-is-cased: New file.
45723
45724         Tests for module 'unicase/u32-is-casefolded'.
45725         * modules/unicase/u32-is-casefolded-tests: New file.
45726         * tests/unicase/test-u32-is-casefolded.c: New file.
45727
45728         Tests for module 'unicase/u16-is-casefolded'.
45729         * modules/unicase/u16-is-casefolded-tests: New file.
45730         * tests/unicase/test-u16-is-casefolded.c: New file.
45731
45732         Tests for module 'unicase/u8-is-casefolded'.
45733         * modules/unicase/u8-is-casefolded-tests: New file.
45734         * tests/unicase/test-u8-is-casefolded.c: New file.
45735         * tests/unicase/test-is-casefolded.h: New file.
45736
45737         New module 'unicase/u32-is-casefolded'.
45738         * lib/unicase/u32-is-casefolded.c: New file.
45739         * modules/unicase/u32-is-casefolded: New file.
45740
45741         New module 'unicase/u16-is-casefolded'.
45742         * lib/unicase/u16-is-casefolded.c: New file.
45743         * modules/unicase/u16-is-casefolded: New file.
45744
45745         New module 'unicase/u8-is-casefolded'.
45746         * lib/unicase/u8-is-casefolded.c: New file.
45747         * modules/unicase/u8-is-casefolded: New file.
45748
45749         Tests for module 'unicase/u32-is-titlecase'.
45750         * modules/unicase/u32-is-titlecase-tests: New file.
45751         * tests/unicase/test-u32-is-titlecase.c: New file.
45752
45753         Tests for module 'unicase/u16-is-titlecase'.
45754         * modules/unicase/u16-is-titlecase-tests: New file.
45755         * tests/unicase/test-u16-is-titlecase.c: New file.
45756
45757         Tests for module 'unicase/u8-is-titlecase'.
45758         * modules/unicase/u8-is-titlecase-tests: New file.
45759         * tests/unicase/test-u8-is-titlecase.c: New file.
45760         * tests/unicase/test-is-titlecase.h: New file.
45761
45762         New module 'unicase/u32-is-titlecase'.
45763         * lib/unicase/u32-is-titlecase.c: New file.
45764         * modules/unicase/u32-is-titlecase: New file.
45765
45766         New module 'unicase/u16-is-titlecase'.
45767         * lib/unicase/u16-is-titlecase.c: New file.
45768         * modules/unicase/u16-is-titlecase: New file.
45769
45770         New module 'unicase/u8-is-titlecase'.
45771         * lib/unicase/u8-is-titlecase.c: New file.
45772         * modules/unicase/u8-is-titlecase: New file.
45773
45774         Tests for module 'unicase/u32-is-lowercase'.
45775         * modules/unicase/u32-is-lowercase-tests: New file.
45776         * tests/unicase/test-u32-is-lowercase.c: New file.
45777
45778         Tests for module 'unicase/u16-is-lowercase'.
45779         * modules/unicase/u16-is-lowercase-tests: New file.
45780         * tests/unicase/test-u16-is-lowercase.c: New file.
45781
45782         Tests for module 'unicase/u8-is-lowercase'.
45783         * modules/unicase/u8-is-lowercase-tests: New file.
45784         * tests/unicase/test-u8-is-lowercase.c: New file.
45785         * tests/unicase/test-is-lowercase.h: New file.
45786
45787         New module 'unicase/u32-is-lowercase'.
45788         * lib/unicase/u32-is-lowercase.c: New file.
45789         * modules/unicase/u32-is-lowercase: New file.
45790
45791         New module 'unicase/u16-is-lowercase'.
45792         * lib/unicase/u16-is-lowercase.c: New file.
45793         * modules/unicase/u16-is-lowercase: New file.
45794
45795         New module 'unicase/u8-is-lowercase'.
45796         * lib/unicase/u8-is-lowercase.c: New file.
45797         * modules/unicase/u8-is-lowercase: New file.
45798
45799         Tests for module 'unicase/u32-is-uppercase'.
45800         * modules/unicase/u32-is-uppercase-tests: New file.
45801         * tests/unicase/test-u32-is-uppercase.c: New file.
45802
45803         Tests for module 'unicase/u16-is-uppercase'.
45804         * modules/unicase/u16-is-uppercase-tests: New file.
45805         * tests/unicase/test-u16-is-uppercase.c: New file.
45806
45807         Tests for module 'unicase/u8-is-uppercase'.
45808         * modules/unicase/u8-is-uppercase-tests: New file.
45809         * tests/unicase/test-u8-is-uppercase.c: New file.
45810         * tests/unicase/test-is-uppercase.h: New file.
45811
45812         New module 'unicase/u32-is-uppercase'.
45813         * lib/unicase/u32-is-uppercase.c: New file.
45814         * modules/unicase/u32-is-uppercase: New file.
45815
45816         New module 'unicase/u16-is-uppercase'.
45817         * lib/unicase/u16-is-uppercase.c: New file.
45818         * modules/unicase/u16-is-uppercase: New file.
45819
45820         New module 'unicase/u8-is-uppercase'.
45821         * lib/unicase/u8-is-uppercase.c: New file.
45822         * modules/unicase/u8-is-uppercase: New file.
45823
45824         New module 'unicase/u32-is-invariant'.
45825         * lib/unicase/u32-is-invariant.c: New file.
45826         * modules/unicase/u32-is-invariant: New file.
45827
45828         New module 'unicase/u16-is-invariant'.
45829         * lib/unicase/u16-is-invariant.c: New file.
45830         * modules/unicase/u16-is-invariant: New file.
45831
45832         New module 'unicase/u8-is-invariant'.
45833         * lib/unicase/u8-is-invariant.c: New file.
45834         * lib/unicase/invariant.h: New file.
45835         * lib/unicase/u-is-invariant.h: New file.
45836         * modules/unicase/u8-is-invariant: New file.
45837
45838         Tests for module 'unicase/u32-casecoll'.
45839         * modules/unicase/u32-casecoll-tests: New file.
45840         * tests/unicase/test-u32-casecoll.c: New file.
45841
45842         Tests for module 'unicase/u16-casecoll'.
45843         * modules/unicase/u16-casecoll-tests: New file.
45844         * tests/unicase/test-u16-casecoll.c: New file.
45845
45846         Tests for module 'unicase/u8-casecoll'.
45847         * modules/unicase/u8-casecoll-tests: New file.
45848         * tests/unicase/test-u8-casecoll.c: New file.
45849
45850         New module 'unicase/u32-casecoll'.
45851         * lib/unicase/u32-casecoll.c: New file.
45852         * modules/unicase/u32-casecoll: New file.
45853
45854         New module 'unicase/u16-casecoll'.
45855         * lib/unicase/u16-casecoll.c: New file.
45856         * modules/unicase/u16-casecoll: New file.
45857
45858         New module 'unicase/u8-casecoll'.
45859         * lib/unicase/u8-casecoll.c: New file.
45860         * lib/unicase/u-casecoll.h: New file.
45861         * modules/unicase/u8-casecoll: New file.
45862
45863         New module 'unicase/u32-casexfrm'.
45864         * lib/unicase/u32-casexfrm.c: New file.
45865         * modules/unicase/u32-casexfrm: New file.
45866
45867         New module 'unicase/u16-casexfrm'.
45868         * lib/unicase/u16-casexfrm.c: New file.
45869         * modules/unicase/u16-casexfrm: New file.
45870
45871         New module 'unicase/u8-casexfrm'.
45872         * lib/unicase/u8-casexfrm.c: New file.
45873         * lib/unicase/u-casexfrm.h: New file.
45874         * modules/unicase/u8-casexfrm: New file.
45875
45876         Tests for module 'unicase/u32-casecmp'.
45877         * modules/unicase/u32-casecmp-tests: New file.
45878         * tests/unicase/test-u32-casecmp.c: New file.
45879
45880         Tests for module 'unicase/u16-casecmp'.
45881         * modules/unicase/u16-casecmp-tests: New file.
45882         * tests/unicase/test-u16-casecmp.c: New file.
45883
45884         Tests for module 'unicase/u8-casecmp'.
45885         * modules/unicase/u8-casecmp-tests: New file.
45886         * tests/unicase/test-u8-casecmp.c: New file.
45887         * tests/unicase/test-casecmp.h: New file.
45888
45889         New module 'unicase/u32-casecmp'.
45890         * lib/unicase/u32-casecmp.c: New file.
45891         * modules/unicase/u32-casecmp: New file.
45892
45893         New module 'unicase/u16-casecmp'.
45894         * lib/unicase/u16-casecmp.c: New file.
45895         * modules/unicase/u16-casecmp: New file.
45896
45897         New module 'unicase/u8-casecmp'.
45898         * lib/unicase/u8-casecmp.c: New file.
45899         * lib/unicase/u-casecmp.h: New file.
45900         * modules/unicase/u8-casecmp: New file.
45901
45902         Tests for module 'unicase/u32-casefold'.
45903         * modules/unicase/u32-casefold-tests: New file.
45904         * tests/unicase/test-u32-casefold.c: New file.
45905
45906         Tests for module 'unicase/u16-casefold'.
45907         * modules/unicase/u16-casefold-tests: New file.
45908         * tests/unicase/test-u16-casefold.c: New file.
45909
45910         Tests for module 'unicase/u8-casefold'.
45911         * modules/unicase/u8-casefold-tests: New file.
45912         * tests/unicase/test-u8-casefold.c: New file.
45913
45914         New module 'unicase/u32-casefold'.
45915         * lib/unicase/u32-casefold.c: New file.
45916         * modules/unicase/u32-casefold: New file.
45917
45918         New module 'unicase/u16-casefold'.
45919         * lib/unicase/u16-casefold.c: New file.
45920         * modules/unicase/u16-casefold: New file.
45921
45922         New module 'unicase/u8-casefold'.
45923         * lib/unicase/u8-casefold.c: New file.
45924         * lib/unicase/u-casefold.h: New file.
45925         * modules/unicase/u8-casefold: New file.
45926
45927         New module 'unicase/tocasefold'.
45928         * lib/unicase/casefold.h: New file.
45929         * lib/unicase/tocasefold.c: New file.
45930         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
45931         * modules/unicase/tocasefold: New file.
45932
45933         Tests for module 'unicase/u32-totitle'.
45934         * modules/unicase/u32-totitle-tests: New file.
45935         * tests/unicase/test-u32-totitle.c: New file.
45936
45937         Tests for module 'unicase/u16-totitle'.
45938         * modules/unicase/u16-totitle-tests: New file.
45939         * tests/unicase/test-u16-totitle.c: New file.
45940
45941         Tests for module 'unicase/u8-totitle'.
45942         * modules/unicase/u8-totitle-tests: New file.
45943         * tests/unicase/test-u8-totitle.c: New file.
45944
45945         New module 'unicase/u32-totitle'.
45946         * lib/unicase/u32-totitle.c: New file.
45947         * modules/unicase/u32-totitle: New file.
45948
45949         New module 'unicase/u16-totitle'.
45950         * lib/unicase/u16-totitle.c: New file.
45951         * modules/unicase/u16-totitle: New file.
45952
45953         New module 'unicase/u8-totitle'.
45954         * lib/unicase/u8-totitle.c: New file.
45955         * lib/unicase/u-totitle.h: New file.
45956         * modules/unicase/u8-totitle: New file.
45957
45958         Tests for module 'unicase/u32-tolower'.
45959         * modules/unicase/u32-tolower-tests: New file.
45960         * tests/unicase/test-u32-tolower.c: New file.
45961
45962         Tests for module 'unicase/u16-tolower'.
45963         * modules/unicase/u16-tolower-tests: New file.
45964         * tests/unicase/test-u16-tolower.c: New file.
45965
45966         Tests for module 'unicase/u8-tolower'.
45967         * modules/unicase/u8-tolower-tests: New file.
45968         * tests/unicase/test-u8-tolower.c: New file.
45969
45970         New module 'unicase/u32-tolower'.
45971         * lib/unicase/u32-tolower.c: New file.
45972         * modules/unicase/u32-tolower: New file.
45973
45974         New module 'unicase/u16-tolower'.
45975         * lib/unicase/u16-tolower.c: New file.
45976         * modules/unicase/u16-tolower: New file.
45977
45978         New module 'unicase/u8-tolower'.
45979         * lib/unicase/u8-tolower.c: New file.
45980         * modules/unicase/u8-tolower: New file.
45981
45982         Tests for module 'unicase/u32-toupper'.
45983         * modules/unicase/u32-toupper-tests: New file.
45984         * tests/unicase/test-u32-toupper.c: New file.
45985
45986         Tests for module 'unicase/u16-toupper'.
45987         * modules/unicase/u16-toupper-tests: New file.
45988         * tests/unicase/test-u16-toupper.c: New file.
45989
45990         Tests for module 'unicase/u8-toupper'.
45991         * modules/unicase/u8-toupper-tests: New file.
45992         * tests/unicase/test-u8-toupper.c: New file.
45993
45994         New module 'unicase/u32-toupper'.
45995         * lib/unicase/u32-toupper.c: New file.
45996         * modules/unicase/u32-toupper: New file.
45997
45998         New module 'unicase/u16-toupper'.
45999         * lib/unicase/u16-toupper.c: New file.
46000         * modules/unicase/u16-toupper: New file.
46001
46002         New module 'unicase/u8-toupper'.
46003         * lib/unicase/u8-toupper.c: New file.
46004         * modules/unicase/u8-toupper: New file.
46005
46006         New module 'unicase/u32-casemap'.
46007         * lib/unicase/u32-casemap.c: New file.
46008         * modules/unicase/u32-casemap: New file.
46009
46010         New module 'unicase/u16-casemap'.
46011         * lib/unicase/u16-casemap.c: New file.
46012         * modules/unicase/u16-casemap: New file.
46013
46014         New module 'unicase/u8-casemap'.
46015         * lib/unicase/unicasemap.h: New file.
46016         * lib/unicase/u8-casemap.c: New file.
46017         * lib/unicase/u-casemap.h: New file.
46018         * modules/unicase/u8-casemap: New file.
46019
46020         New module 'unicase/special-casing'.
46021         * lib/unicase/special-casing.h: New file.
46022         * lib/unicase/special-casing.c: New file.
46023         * lib/unicase/special-casing-table.gperf: New file, generated by
46024         gen-uni-tables.c.
46025         * modules/unicase/special-casing: New file.
46026
46027         Tests for module 'unicase/locale-language'.
46028         * modules/unicase/locale-language-tests: New file.
46029         * tests/unicase/test-locale-language.sh: New file.
46030         * tests/unicase/test-locale-language.c: New file.
46031
46032         New module 'unicase/locale-language'.
46033         * lib/unicase/locale-language.c: New file.
46034         * lib/unicase/locale-languages.gperf: New file.
46035         * modules/unicase/locale-language: New file.
46036
46037         Generate more tables for case conversion and case folding.
46038         * lib/gen-uni-tables.c (SCC_*): New enum items.
46039         (struct special_casing_rule): New type.
46040         (casing_rules, num_casing_rules, allocated_casing_rules): New
46041         variables.
46042         (add_casing_rule, fill_casing_rules): New functions.
46043         (struct casefold_rule): New type.
46044         (casefolding_rules, num_casefolding_rules,
46045         allocated_casefolding_rules): New variables.
46046         (fill_casefolding_rules): New function.
46047         (unicode_casefold): New variable.
46048         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
46049         sort_casing_rules, output_casing_rules): New functions.
46050         (main): Accept to more arguments: SpecialCasing.txt and
46051         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
46052         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
46053         Output mapping for casefolding.
46054
46055         * lib/unicase.h: Include stdbool.h, uninorm.h.
46056         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
46057         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
46058         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
46059         arguments.
46060         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
46061         resultp arguments.
46062         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
46063         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
46064         resultp arguments.
46065         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
46066         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
46067         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
46068         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
46069         declarations.
46070         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
46071
46072 2009-03-08  Bruno Haible  <bruno@clisp.org>
46073
46074         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
46075         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
46076         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
46077         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
46078
46079 2009-03-07  Bruno Haible  <bruno@clisp.org>
46080
46081         Adjust u*_normcmp, u*_normcoll API.
46082         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
46083         u16_normcoll, u32_normcoll): Change failure conventions.
46084         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
46085         errno and return -1.
46086         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
46087
46088 2009-03-07  Bruno Haible  <bruno@clisp.org>
46089
46090         Tests for module 'uninorm/u32-normcoll'.
46091         * modules/uninorm/u32-normcoll-tests: New file.
46092         * tests/uninorm/test-u32-normcoll.c: New file.
46093
46094         Tests for module 'uninorm/u16-normcoll'.
46095         * modules/uninorm/u16-normcoll-tests: New file.
46096         * tests/uninorm/test-u16-normcoll.c: New file.
46097
46098         Tests for module 'uninorm/u8-normcoll'.
46099         * modules/uninorm/u8-normcoll-tests: New file.
46100         * tests/uninorm/test-u8-normcoll.c: New file.
46101
46102 2009-03-07  Bruno Haible  <bruno@clisp.org>
46103
46104         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
46105         tests/uninorm/test-u32-normcmp.c.
46106         * tests/uninorm/test-u32-normcmp.c: Include it.
46107         (test_nonascii): New function, extracted from main. Add some more
46108         tests.
46109         (main): Invoke test_ascii and test_nonascii.
46110         * modules/uninorm/u32-normcmp-tests (Files): Add
46111         tests/uninorm/test-u32-normcmp.h.
46112         (Depends-on): Remove uninorm/u32-normcmp.
46113
46114         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
46115         tests/uninorm/test-u16-normcmp.c.
46116         * tests/uninorm/test-u16-normcmp.c: Include it.
46117         (test_nonascii): New function, extracted from main. Add some more
46118         tests.
46119         (main): Invoke test_ascii and test_nonascii.
46120         * modules/uninorm/u16-normcmp-tests (Files): Add
46121         tests/uninorm/test-u16-normcmp.h.
46122         (Depends-on): Remove uninorm/u16-normcmp.
46123
46124         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
46125         tests/uninorm/test-u8-normcmp.c.
46126         * tests/uninorm/test-u8-normcmp.c: Include it.
46127         (test_nonascii): New function, extracted from main. Add some more
46128         tests.
46129         (main): Invoke test_ascii and test_nonascii.
46130         * modules/uninorm/u8-normcmp-tests (Files): Add
46131         tests/uninorm/test-u8-normcmp.h.
46132         (Depends-on): Remove uninorm/u8-normcmp.
46133
46134 2009-03-07  Bruno Haible  <bruno@clisp.org>
46135
46136         New module 'uninorm/u32-normcoll'.
46137         * lib/uninorm/u32-normcoll.c: New file.
46138         * modules/uninorm/u32-normcoll: New file.
46139
46140         New module 'uninorm/u16-normcoll'.
46141         * lib/uninorm/u16-normcoll.c: New file.
46142         * modules/uninorm/u16-normcoll: New file.
46143
46144         New module 'uninorm/u8-normcoll'.
46145         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
46146         declarations.
46147         * lib/uninorm/u8-normcoll.c: New file.
46148         * lib/uninorm/u-normcoll.h: New file.
46149         * modules/uninorm/u8-normcoll: New file.
46150
46151         New module 'uninorm/u32-normxfrm'.
46152         * lib/uninorm/u32-normxfrm.c: New file.
46153         * modules/uninorm/u32-normxfrm: New file.
46154
46155         New module 'uninorm/u16-normxfrm'.
46156         * lib/uninorm/u16-normxfrm.c: New file.
46157         * modules/uninorm/u16-normxfrm: New file.
46158
46159         New module 'uninorm/u8-normxfrm'.
46160         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
46161         declarations.
46162         * lib/uninorm/u8-normxfrm.c: New file.
46163         * lib/uninorm/u-normxfrm.h: New file.
46164         * modules/uninorm/u8-normxfrm: New file.
46165
46166 2009-03-07  Bruno Haible  <bruno@clisp.org>
46167
46168         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
46169         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
46170         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
46171
46172 2009-03-07  Bruno Haible  <bruno@clisp.org>
46173
46174         New module 'memxfrm'.
46175         * lib/memxfrm.h: New file.
46176         * lib/memxfrm.c: New file.
46177         * modules/memxfrm: New file.
46178
46179 2009-03-07  Bruno Haible  <bruno@clisp.org>
46180
46181         New module 'memcmp2'.
46182         * lib/memcmp2.h: New file.
46183         * lib/memcmp2.c: New file.
46184         * modules/memcmp2: New file.
46185
46186 2009-03-07  Bruno Haible  <bruno@clisp.org>
46187
46188         Tests for module 'uninorm/decomposing-form'.
46189         * modules/uninorm/decomposing-form-tests: New file.
46190         * tests/uninorm/test-decomposing-form.c: New file.
46191
46192         New module 'uninorm/decomposing-form'.
46193         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
46194         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
46195         Add 'decomposing_variant' field.
46196         * lib/uninorm/decomposing-form.c: New file.
46197         * lib/uninorm/nfc.c (uninorm_nfc): Update.
46198         * lib/uninorm/nfd.c (uninorm_nfd): Update.
46199         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
46200         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
46201         * modules/uninorm/decomposing-form: New file.
46202         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
46203         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
46204
46205 2009-03-07  Bruno Haible  <bruno@clisp.org>
46206
46207         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
46208         strings.
46209
46210 2009-03-06  Bruno Haible  <bruno@clisp.org>
46211
46212         Tests for module 'uninorm/u32-normcmp'.
46213         * tests/uninorm/test-u32-normcmp.c: New file.
46214         * modules/uninorm/u32-normcmp-tests: New file.
46215
46216         Tests for module 'uninorm/u16-normcmp'.
46217         * tests/uninorm/test-u16-normcmp.c: New file.
46218         * modules/uninorm/u16-normcmp-tests: New file.
46219
46220         Tests for module 'uninorm/u8-normcmp'.
46221         * tests/uninorm/test-u8-normcmp.c: New file.
46222         * modules/uninorm/u8-normcmp-tests: New file.
46223
46224         New module 'uninorm/u32-normcmp'.
46225         * lib/uninorm/u32-normcmp.c: New file.
46226         * modules/uninorm/u32-normcmp: New file.
46227
46228         New module 'uninorm/u16-normcmp'.
46229         * lib/uninorm/u16-normcmp.c: New file.
46230         * modules/uninorm/u16-normcmp: New file.
46231
46232         New module 'uninorm/u8-normcmp'.
46233         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
46234         declarations.
46235         * lib/uninorm/u8-normcmp.c: New file.
46236         * lib/uninorm/u-normcmp.h: New file.
46237         * modules/uninorm/u8-normcmp: New file.
46238
46239 2009-03-06  Bruno Haible  <bruno@clisp.org>
46240
46241         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
46242         Reported by Eric Blake.
46243
46244 2009-03-06  Eric Blake  <ebb9@byu.net>
46245             Bruno Haible  <bruno@clisp.org>
46246
46247         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
46248         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
46249         condition.
46250         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
46251         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
46252         condition.
46253         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
46254
46255 2009-03-06  Eric Blake  <ebb9@byu.net>
46256
46257         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
46258         to avoid compiler warnings.
46259         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
46260
46261 2009-03-05  Bruno Haible  <bruno@clisp.org>
46262
46263         * tests/test-ftell.c (main): Disable test beyond end of file on
46264         FreeMiNT.
46265         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
46266
46267 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
46268
46269         * lib/filevercmp.c: Move hidden files up in ordering.
46270         * tests/test-filevercmp.c: Add tests for hidden files.
46271
46272 2009-03-04  Bruno Haible  <bruno@clisp.org>
46273
46274         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
46275         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
46276         AM_CFLAGS.
46277         Reported by Simon Josefsson.
46278
46279 2009-03-03  Bruno Haible  <bruno@clisp.org>
46280
46281         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
46282         Reported by Simon Josefsson.
46283
46284         * doc/ld-version-script.texi: Update node reference.
46285
46286 2009-03-03  Bruno Haible  <bruno@clisp.org>
46287
46288         * modules/visibility (License): Change to 'unlimited'.
46289         Suggested by Simon Josefsson.
46290
46291 2009-03-03  Jim Meyering  <meyering@redhat.com>
46292
46293         unlinkdir: cannot_unlink_dir may modify process state
46294         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
46295         it's neither thread-safe nor appropriate for use in a library.
46296
46297 2009-03-03  Eric Blake  <ebb9@byu.net>
46298
46299         test-closein: silence test under Darwin
46300         * tests/test-closein.sh: Ignore stderr from cat, since we don't
46301         care if it dies from EPIPE or EBADF.
46302
46303 2009-03-03  Bruno Haible  <bruno@clisp.org>
46304
46305         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
46306         earlier.
46307         * doc/visibility.texi: Fix @node and @section.
46308
46309 2009-03-03  Simon Josefsson  <simon@josefsson.org>
46310
46311         * doc/gnulib.texi: Link to sections for ld version script and
46312         visibility.
46313         * doc/visibility.texi: Add @node and @section.
46314         * modules/ld-version-script: New module.
46315         * m4/ld-version-script.m4: New file.
46316         * doc/ld-version-script.texi: New file.
46317
46318 2009-03-02  David Lutterkort  <lutter@redhat.com>
46319
46320         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
46321         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46322
46323 2009-03-02  Bruno Haible  <bruno@clisp.org>
46324
46325         * doc/visibility.texi: Mention libtool's -export-symbols option.
46326
46327 2009-03-02  Jim Meyering  <meyering@redhat.com>
46328
46329         announce-gen: new option: --no-print-checksums
46330         * build-aux/announce-gen (usage): Describe it.
46331         (print_checksums): Print a newline here, not in the [*] footnote.
46332         (main): Honor it.
46333
46334 2009-03-01  Bruno Haible  <bruno@clisp.org>
46335
46336         Use socklen_t in the native Windows replacements prototypes.
46337         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
46338         instead of 'int'.
46339         * lib/getsockopt.c (rpl_getsockopt): Likewise.
46340         * lib/setsockopt.c (rpl_setsockopt): Likewise.
46341         * modules/getsockopt (Depends-on): Add socklen.
46342         * modules/setsockopt (Depends-on): Add socklen.
46343
46344 2009-03-01  Bruno Haible  <bruno@clisp.org>
46345
46346         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
46347         least 4.2.
46348
46349 2009-03-01  Eric Blake  <ebb9@byu.net>
46350             Bruno Haible  <bruno@clisp.org>
46351
46352         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
46353         error messages.
46354         * lib/wait-process.c (wait_subprocess): Omit error message about
46355         deadly signal sent to the child of termsigp != NULL.
46356
46357 2009-03-01  Eric Blake  <ebb9@byu.net>
46358
46359         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
46360
46361 2009-03-01  Bruno Haible  <bruno@clisp.org>
46362
46363         Avoid a gcc warning.
46364         * tests/test-sched.c (b): Make global.
46365         Reported by Eric Blake.
46366
46367 2009-01-19  Martin Lambers  <marlam@marlam.de>
46368
46369         Provide POSIX semantics for socket timeout options on W32.
46370         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
46371         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
46372         * modules/setsockopt: Depend on sys_time module for struct timeval.
46373         * modules/getsockopt: Depend on sys_time module for struct timeval.
46374
46375 2009-03-01  Simon Josefsson  <simon@josefsson.org>
46376
46377         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
46378         __USE_GNU, for consistency with netdb.in.h.
46379         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46380
46381 2009-03-01  Bruno Haible  <bruno@clisp.org>
46382
46383         More support for FreeMiNT.
46384         * lib/fseeko.c (rpl_fseeko): Complete last commit.
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/fpurge.c (fpurge): Correct last commit.
46391         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46392
46393 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46394
46395         Fix unportable awk script in vc-list-files.
46396         * build-aux/vc-list-files: In the replacement awk script, use
46397         substr with a second argument of 1, not zero.
46398         Report by Simon Josefsson.
46399
46400 2009-02-28  Bruno Haible  <bruno@clisp.org>
46401
46402         More support for FreeMiNT.
46403         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
46404         to FreeMiNT today.
46405         * lib/fwriting.c (fwriting): Likewise.
46406         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
46407
46408 2009-02-28  Bruno Haible  <bruno@clisp.org>
46409
46410         * tests/test-freadseek.c (main): Disable test beyond end of file on
46411         FreeMiNT.
46412         * tests/test-ftello.c (main): Likewise.
46413         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
46414
46415 2009-02-28  Bruno Haible  <bruno@clisp.org>
46416
46417         Add tentative support for FreeMiNT.
46418         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
46419         * lib/fpurge.c (fpurge): Likewise.
46420         * lib/freadable.c (freadable): Likewise.
46421         * lib/freading.c (freading): Likewise.
46422         * lib/freadptr.c (freadptr): Likewise.
46423         * lib/freadseek.c (freadptrinc): Likewise.
46424         * lib/fseeko.c (rpl_fseeko): Likewise.
46425         * lib/fseterr.c (fseterr): Likewise.
46426         * lib/fwritable.c (fwritable): Likewise.
46427         * lib/fwriting.c (fwriting): Likewise.
46428         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
46429         Hourihane.
46430         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46431
46432 2009-02-28  Bruno Haible  <bruno@clisp.org>
46433
46434         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
46435         SIGCHLD.
46436         Reported by Jim Meyering.
46437
46438 2009-02-28  Bruno Haible  <bruno@clisp.org>
46439
46440         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
46441         Mention the results of these tests on various platforms.
46442         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
46443         order.
46444         * doc/posix-functions/printf.texi: Likewise.
46445         * doc/posix-functions/snprintf.texi: Likewise.
46446         * doc/posix-functions/sprintf.texi: Likewise.
46447         * doc/posix-functions/vfprintf.texi: Likewise.
46448         * doc/posix-functions/vprintf.texi: Likewise.
46449         * doc/posix-functions/vsnprintf.texi: Likewise.
46450         * doc/posix-functions/vsprintf.texi: Likewise.
46451         * doc/glibc-functions/obstack_printf.texi: Likewise.
46452         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
46453
46454 2009-02-28  Bruno Haible  <bruno@clisp.org>
46455
46456         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
46457         Reported by Loïc Minier <lool@dooz.org>.
46458
46459 2009-02-27  Bruno Haible  <bruno@clisp.org>
46460
46461         * gnulib-tool (func_import): Make the sed expression used to create the
46462         sed script for updating the .gitignore file POSIX compliant.
46463         Reported by Eric Blake.
46464
46465 2009-02-27  Bruno Haible  <bruno@clisp.org>
46466
46467         * gnulib-tool (sed): Don't alias as "sed --posix".
46468         Reported by Eric Blake.
46469
46470 2009-02-27  Bruno Haible  <bruno@clisp.org>
46471
46472         Avoid test link errors.
46473         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
46474         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
46475         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
46476         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
46477         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46478
46479 2009-02-27  Bruno Haible  <bruno@clisp.org>
46480
46481         Avoid spurious "(cached)" in configure output.
46482         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
46483         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
46484         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
46485         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
46486         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
46487         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
46488         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
46489         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
46490         Reported by Eric Blake.
46491
46492 2009-02-27  Eric Blake  <ebb9@byu.net>
46493
46494         printf: fix regression in previous patch
46495         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
46496
46497 2009-02-27  Bruno Haible  <bruno@clisp.org>
46498
46499         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
46500         value.
46501         * lib/stdint.in.h: Likewise.
46502         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
46503
46504 2009-02-27  Eric Blake  <ebb9@byu.net>
46505
46506         doc: mention more functions added in cygwin 1.7.0
46507         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
46508         addition.
46509         * doc/posix-functions/open_wmemstream.texi: Likewise.
46510         * doc/posix-functions/wcsnlen.texi: Likewise.
46511         * doc/posix-functions/wcsnrtombs.texi: Likewise.
46512         * doc/posix-functions/wcstod.texi: Likewise.
46513         * doc/posix-functions/wcstof.texi: Likewise.
46514         * doc/posix-functions/wcstoimax.texi: Likewise.
46515         * doc/posix-functions/wcstok.texi: Likewise.
46516         * doc/posix-functions/wcstoumax.texi: Likewise.
46517
46518         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
46519         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
46520         * doc/posix-functions/fprintf.texi: Update.
46521         * doc/posix-functions/printf.texi: Update.
46522         * doc/posix-functions/snprintf.texi: Update.
46523         * doc/posix-functions/sprintf.texi: Update.
46524         * doc/posix-functions/vfprintf.texi: Update.
46525         * doc/posix-functions/vprintf.texi: Update.
46526         * doc/posix-functions/vsnprintf.texi: Update.
46527         * doc/posix-functions/vsprintf.texi: Update.
46528         * doc/glibc-functions/obstack_printf.texi: Update.
46529         * doc/glibc-functions/obstack_vprintf.texi: Update.
46530
46531 2009-02-26  Eric Blake  <ebb9@byu.net>
46532
46533         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
46534         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
46535         compilation bug by using runtime conversion.
46536         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
46537         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
46538         * modules/ceill-tests (Files): Use nan.h.
46539         * modules/floorl-tests (Files): Likewise.
46540         * modules/frexpl-tests (Files): Likewise.
46541         * modules/isnanl-tests (Files): Likewise.
46542         * modules/ldexpl-tests (Files): Likewise.
46543         * modules/roundl-tests (Files): Likewise.
46544         * modules/truncl-tests (Files): Likewise.
46545         * tests/test-ceill.c (main): Use a working NaN.
46546         * tests/test-floorl.c (main): Likewise.
46547         * tests/test-frexpl.c (main): Likewise.
46548         * tests/test-isnan.c (test_long_double): Likewise.
46549         * tests/test-isnanl.h (main): Likewise.
46550         * tests/test-ldexpl.h (main): Likewise.
46551         * tests/test-roundl.h (main): Likewise.
46552         * tests/test-truncl.h (main): Likewise.
46553         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
46554
46555 2009-02-26  Eric Blake  <ebb9@byu.net>
46556             Bruno Haible  <bruno@clisp.org>
46557
46558         Work around a *printf bug with %ls on Solaris.
46559         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
46560         precision is specified, sprintf stops converting the wide string
46561         argument when the number of bytes that have been produced by this
46562         conversion equals or exceeds the precision.
46563         * doc/posix-functions/fprintf.texi: Update.
46564         * doc/posix-functions/printf.texi: Update.
46565         * doc/posix-functions/snprintf.texi: Update.
46566         * doc/posix-functions/sprintf.texi: Update.
46567         * doc/posix-functions/vfprintf.texi: Update.
46568         * doc/posix-functions/vprintf.texi: Update.
46569         * doc/posix-functions/vsnprintf.texi: Update.
46570         * doc/posix-functions/vsprintf.texi: Update.
46571         * doc/glibc-functions/obstack_printf.texi: Update.
46572         * doc/glibc-functions/obstack_vprintf.texi: Update.
46573
46574 2009-02-26  Eric Blake  <ebb9@byu.net>
46575
46576         stdlib: favor compiler check of random.h
46577         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
46578         to avoid an ObjC random.h installed by Swarm.
46579
46580 2009-02-26  Bruno Haible  <bruno@clisp.org>
46581
46582         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
46583         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
46584         Reported by Gary V. Vaughan <gary@gnu.org>.
46585
46586 2009-02-26  Bruno Haible  <bruno@clisp.org>
46587
46588         Fix *printf behaviour regarding the %ls directive.
46589         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
46590         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
46591         NEED_PRINTF_DIRECTIVE_LS.
46592         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
46593         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
46594         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
46595         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
46596         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
46597         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
46598         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
46599         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
46600         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
46601         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
46602         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
46603         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
46604         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
46605         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
46606         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
46607         * doc/posix-functions/fprintf.texi: Update.
46608         * doc/posix-functions/printf.texi: Update.
46609         * doc/posix-functions/snprintf.texi: Update.
46610         * doc/posix-functions/sprintf.texi: Update.
46611         * doc/posix-functions/vfprintf.texi: Update.
46612         * doc/posix-functions/vprintf.texi: Update.
46613         * doc/posix-functions/vsnprintf.texi: Update.
46614         * doc/posix-functions/vsprintf.texi: Update.
46615         * doc/glibc-functions/obstack_printf.texi: Update.
46616         * doc/glibc-functions/obstack_vprintf.texi: Update.
46617         Reported by Eric Blake.
46618
46619 2009-02-25  Bruno Haible  <bruno@clisp.org>
46620
46621         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
46622         with known value.
46623         Reported by Gary V. Vaughan <gary@gnu.org>.
46624
46625 2009-02-25  Bruno Haible  <bruno@clisp.org>
46626
46627         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
46628         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
46629         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
46630         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
46631         Reported by Gary V. Vaughan <gary@gnu.org>.
46632
46633 2009-02-25  Bruno Haible  <bruno@clisp.org>
46634
46635         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
46636         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
46637         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
46638         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
46639         Reported by Gary V. Vaughan <gary@gnu.org>.
46640
46641 2009-02-25  Eric Blake  <ebb9@byu.net>
46642
46643         tests: skip fseek/ftell tests if ungetc is broken
46644         * m4/ungetc.m4: New file.
46645         * modules/fseek-tests: Split test, so ungetc dependency is
46646         separate from rest of test.
46647         * modules/fseeko-tests: Likewise.
46648         * modules/ftell-tests: Likewise.
46649         * modules/ftello-tests: Likewise.
46650         * tests/test-fseek.c (main): Isolate ungetc dependency.
46651         * tests/test-fseeko.c (main): Likewise.
46652         * tests/test-ftell.c (main): Likewise.
46653         * tests/test-ftello.c (main): Likewise.
46654         * tests/test-fseek2.sh: New file.
46655         * tests/test-fseeko2.sh: Likewise.
46656         * tests/test-ftell2.sh: Likewise.
46657         * tests/test-ftello2.sh: Likewise.
46658
46659 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
46660
46661         test-getaddrinfo: fix usage of skip return code 77
46662         * tests/test-gettaddrinfo.c: Return skip code 77 only
46663         for first occurance of skip (4x77 is not 77)
46664
46665 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
46666
46667         strtod: avoid C99 decl-after-statement
46668         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
46669
46670 2009-02-24  Eric Blake  <ebb9@byu.net>
46671
46672         strtod: detect HP-UX 11.31 bug
46673         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
46674         Reported by Gary V. Vaughan.
46675
46676 2009-02-23  Bruno Haible  <bruno@clisp.org>
46677
46678         Fix invalid read past end of memory block.
46679         * lib/vasnprintf.c (DCHAR_SET): Define.
46680         (local_wcslen): Define only when needed.
46681         (local_strnlen, local_wcsnlen): New functions.
46682         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
46683         directives that involve a conversion ourselves.
46684         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
46685         wcsnlen, mbrtowc, wcrtomb.
46686         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
46687         * tests/test-vasprintf-posix.c (test_function): Likewise.
46688         * tests/test-snprintf-posix.h (test_function): Likewise.
46689         * tests/test-sprintf-posix.h (test_function): Likewise.
46690         Reported by Ben Pfaff <blp@cs.stanford.edu>.
46691
46692 2009-02-22  Bruno Haible  <bruno@clisp.org>
46693
46694         Implement new clarified decomposition of Hangul syllables.
46695         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
46696         of type LTV, return only a pairwise decomposition.
46697         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
46698         Likewise.
46699         * tests/uninorm/test-decomposition.c (main): Updated expected result.
46700         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
46701         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
46702
46703 2009-02-22  Bruno Haible  <bruno@clisp.org>
46704
46705         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
46706         zero-length results and shrink excess allocated memory.
46707         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
46708         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
46709         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
46710         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
46711         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
46712         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
46713         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
46714         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
46715         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
46716         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
46717         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
46718         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
46719
46720 2009-02-21  Bruno Haible  <bruno@clisp.org>
46721
46722         * doc/gnulib.texi: Include safe-alloc.texi earlier.
46723         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
46724         spaces after a period. Put a space between a macro name and its
46725         argument list. Trivial rewordings.
46726         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
46727         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
46728         (main): Return 0 explicitly.
46729
46730 2009-02-21  Bruno Haible  <bruno@clisp.org>
46731
46732         Tests for module 'uninorm/filter'.
46733         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
46734         * modules/uninorm/filter-tests: New file.
46735
46736         New module 'uninorm/filter'.
46737         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
46738         uninorm_filter_flush, uninorm_filter_free): New declarations.
46739         * lib/uninorm/uninorm-filter.c: New file.
46740         * modules/uninorm/filter: New file.
46741
46742 2009-02-21  Bruno Haible  <bruno@clisp.org>
46743
46744         Tests for module 'uninorm/nfkc'.
46745         * tests/uninorm/test-nfkc.c: New file.
46746         * tests/uninorm/test-u8-nfkc.c: New file.
46747         * tests/uninorm/test-u16-nfkc.c: New file.
46748         * tests/uninorm/test-u32-nfkc.c: New file.
46749         * tests/uninorm/test-u32-nfkc-big.sh: New file.
46750         * tests/uninorm/test-u32-nfkc-big.c: New file.
46751         * modules/uninorm/nfkc-tests: New file.
46752
46753         New module 'uninorm/nfkc'.
46754         * lib/uninorm/nfkc.c: New file.
46755         * modules/uninorm/nfkc: New file.
46756
46757         Tests for module 'uninorm/nfkd'.
46758         * tests/uninorm/test-nfkd.c: New file.
46759         * tests/uninorm/test-u8-nfkd.c: New file.
46760         * tests/uninorm/test-u16-nfkd.c: New file.
46761         * tests/uninorm/test-u32-nfkd.c: New file.
46762         * tests/uninorm/test-u32-nfkd-big.sh: New file.
46763         * tests/uninorm/test-u32-nfkd-big.c: New file.
46764         * modules/uninorm/nfkd-tests: New file.
46765
46766         New module 'uninorm/nfkd'.
46767         * lib/uninorm/nfkd.c: New file.
46768         * modules/uninorm/nfkd: New file.
46769
46770         Tests for module 'uninorm/nfc'.
46771         * tests/uninorm/test-nfc.c: New file.
46772         * tests/uninorm/test-u8-nfc.c: New file.
46773         * tests/uninorm/test-u16-nfc.c: New file.
46774         * tests/uninorm/test-u32-nfc.c: New file.
46775         * tests/uninorm/test-u32-nfc-big.sh: New file.
46776         * tests/uninorm/test-u32-nfc-big.c: New file.
46777         * modules/uninorm/nfc-tests: New file.
46778
46779         New module 'uninorm/nfc'.
46780         * lib/uninorm/nfc.c: New file.
46781         * modules/uninorm/nfc: New file.
46782
46783         Tests for module 'uninorm/nfd'.
46784         * tests/uninorm/test-nfd.c: New file.
46785         * tests/uninorm/test-u8-nfd.c: New file.
46786         * tests/uninorm/test-u16-nfd.c: New file.
46787         * tests/uninorm/test-u32-nfd.c: New file.
46788         * tests/uninorm/test-u32-nfd-big.sh: New file.
46789         * tests/uninorm/test-u32-nfd-big.c: New file.
46790         * tests/uninorm/test-u32-normalize-big.h: New file.
46791         * tests/uninorm/test-u32-normalize-big.c: New file.
46792         * tests/uninorm/NormalizationTest.txt: New file, created from
46793         Unicode 5.1.0 NormalizationTest.txt.
46794         * modules/uninorm/nfd-tests: New file.
46795
46796         New module 'uninorm/nfd'.
46797         * lib/uninorm/nfd.c: New file.
46798         * modules/uninorm/nfd: New file.
46799
46800         New module 'uninorm/u32-normalize'.
46801         * lib/uninorm/u32-normalize.c: New file.
46802         * modules/uninorm/u32-normalize: New file.
46803
46804         New module 'uninorm/u16-normalize'.
46805         * lib/uninorm/u16-normalize.c: New file.
46806         * modules/uninorm/u16-normalize: New file.
46807
46808         New module 'uninorm/u8-normalize'.
46809         * lib/uninorm/u8-normalize.c: New file.
46810         * lib/uninorm/normalize-internal.h: New file.
46811         * lib/uninorm/u-normalize-internal.h: New file.
46812         * modules/uninorm/u8-normalize: New file.
46813
46814         New module 'uninorm/decompose-internal'.
46815         * lib/uninorm/decompose-internal.c: New file.
46816         * modules/uninorm/decompose-internal: New file.
46817
46818         Tests for module 'uninorm/composition'.
46819         * tests/uninorm/test-composition.c: New file.
46820         * modules/uninorm/composition-tests: New file.
46821
46822         New module 'uninorm/composition'.
46823         * lib/uninorm/composition.c: New file.
46824         * lib/uninorm/composition-table.gperf: New file, generated by
46825         gen-uni-tables.
46826         * modules/uninorm/composition: New file.
46827
46828         Tests for module 'uninorm/compat-decomposition'.
46829         * tests/uninorm/test-compat-decomposition.c: New file.
46830         * modules/uninorm/compat-decomposition-tests: New file.
46831
46832         New module 'uninorm/compat-decomposition'.
46833         * lib/uninorm/decompose-internal.h: New file.
46834         * lib/uninorm/compat-decomposition.c: New file.
46835         * modules/uninorm/compat-decomposition: New file.
46836
46837         Tests for module 'uninorm/canonical-decomposition'.
46838         * tests/uninorm/test-canonical-decomposition.c: New file.
46839         * modules/uninorm/canonical-decomposition-tests: New file.
46840
46841         New module 'uninorm/canonical-decomposition'.
46842         * lib/uninorm/canonical-decomposition.c: New file.
46843         * modules/uninorm/canonical-decomposition: New file.
46844
46845         Tests for module 'uninorm/decomposition'.
46846         * tests/uninorm/test-decomposition.c: New file.
46847         * modules/uninorm/decomposition-tests: New file.
46848
46849         New module 'uninorm/decomposition'.
46850         * lib/uninorm/decomposition.c: New file.
46851         * modules/uninorm/decomposition: New file.
46852
46853         New module 'uninorm/decomposition-table'.
46854         * lib/uninorm/decomposition-table.h: New file.
46855         * lib/uninorm/decomposition-table.c: New file.
46856         * lib/uninorm/decomposition-table1.h: New file, generated by
46857         gen-uni-tables.
46858         * lib/uninorm/decomposition-table2.h: New file, generated by
46859         gen-uni-tables.
46860         * modules/uninorm/decomposition-table: New file.
46861
46862         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
46863         (UC_DECOMP_*): New enumeration items.
46864         (get_decomposition): New function.
46865         (struct decomp_table): New type.
46866         (output_decomposition, output_decomposition_tables): New functions.
46867         (unicode_composition_exclusions): New variable.
46868         (fill_composition_exclusions, debug_output_composition_tables): New
46869         functions.
46870         (main): Accept one more argument. Invoke fill_composition_exclusions.
46871         Output decomposition and composition tables.
46872
46873         New module 'uninorm/base'.
46874         * lib/uninorm.h: New file.
46875         * lib/unictype.h: Update comment.
46876         * modules/uninorm/base: New file.
46877
46878 2009-02-21  David Lutterkort  <lutter@redhat.com>
46879
46880         Tests for module 'safe-alloc'.
46881         * tests/test-safe-alloc.c: New file.
46882         * modules/safe-alloc-tests: New file.
46883
46884         New module 'safe-alloc'.
46885         * lib/safe-alloc.h: New file.
46886         * lib/safe-alloc.c: New file.
46887         * m4/safe-alloc.m4: New file.
46888         * modules/safe-alloc: New file.
46889         * doc/safe-alloc.texi: New file.
46890         * doc/gnulib.texi: Include it.
46891         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
46892         safe-alloc.
46893
46894 2009-02-18  Bruno Haible  <bruno@clisp.org>
46895
46896         Fix link error on non-glibc systems.
46897         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
46898         variable.
46899         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46900
46901 2009-02-18  Jim Meyering  <meyering@redhat.com>
46902
46903         fts: avoid used-uninitialized error due to recent change
46904         * lib/fts.c (fts_read): Guard uses of the new member,
46905         parent->fts_n_dirs_remaining, since it's not relevant for
46906         the parent of a directory specified on the command-line.
46907
46908 2009-02-17  James Youngman  <jay@gnu.org>
46909             Bruno Haible  <bruno@clisp.org>
46910
46911         * m4/include_next.m4: Reformulate comment.
46912
46913 2009-02-16  Jim Meyering  <meyering@redhat.com>
46914
46915         fts: add #if guards so that the fts_lgpl module still builds
46916         * lib/fts.c: Guard just-added hash-table-using parts with
46917         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
46918         Reported by Simon Josefsson.
46919
46920 2009-02-15  Bruno Haible  <bruno@clisp.org>
46921
46922         * modules/array-mergesort-tests: New file.
46923         * tests/test-array-mergesort.c: New file.
46924
46925         New module 'array-mergesort'.
46926         * modules/array-mergesort: New file.
46927         * lib/array-mergesort.h: New file.
46928
46929 2009-02-15  Bruno Haible  <bruno@clisp.org>
46930
46931         Fix 2009-02-07 commit.
46932         * lib/gen-uni-tables.c (output_predicate, output_category,
46933         output_combclass, output_bidi_category, output_decimal_digit,
46934         output_digit, output_numeric, output_mirror, output_scripts,
46935         output_ident_category, output_simple_mapping): Fix format directives.
46936         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
46937
46938 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
46939
46940         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
46941         fixes are available from IBM.
46942
46943 2009-02-13  Jim Meyering  <meyering@redhat.com>
46944
46945         fts: arrange not to stat non-directories in more cases
46946         This makes GNU find (when it doesn't need to stat each file)
46947         *much* more efficient at traversing reiserfs file systems.
46948         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
46949         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
46950         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
46951         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
46952         (leaf_optimization_applies): New function.
46953         (LCO_hash, LCO_compare): New helper functions.
46954         (link_count_optimize_ok): New function.
46955         (fts_stat): Initialize new member (if dir).
46956         (fts_read): Decrement parent's fts_n_dirs_remaining count if
46957         we've just stat'ed a directory.  Skip the stat call when possible.
46958         ---
46959         Note this AFS-related exchange:
46960         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
46961         and note find's pioctl call in find/fstype.c.
46962         But that is necessary only if you want to enable the
46963         optimization for AFS, and for now, I don't.
46964
46965         fts: move a function definition "up" (no semantic change)
46966         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
46967         "up" to precede upcoming use of a related function.
46968
46969 2009-02-11  Jim Meyering  <meyering@redhat.com>
46970
46971         fts: correct internal computation of nlinks (optimization-related)
46972         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
46973         whether the current entry is a directory, so don't test it.
46974
46975 2009-02-10  Bruno Haible  <bruno@clisp.org>
46976
46977         Tests for module 'uniwbrk/ulc-wordbreaks'.
46978         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
46979         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
46980         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
46981
46982         Tests for module 'uniwbrk/u32-wordbreaks'.
46983         * modules/uniwbrk/u32-wordbreaks-tests: New file.
46984         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
46985
46986         Tests for module 'uniwbrk/u16-wordbreaks'.
46987         * modules/uniwbrk/u16-wordbreaks-tests: New file.
46988         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
46989
46990         Tests for module 'uniwbrk/u8-wordbreaks'.
46991         * modules/uniwbrk/u8-wordbreaks-tests: New file.
46992         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
46993
46994 2009-02-10  Bruno Haible  <bruno@clisp.org>
46995
46996         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
46997         property.
46998         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
46999         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
47000         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
47001
47002 2009-02-10  Simon Josefsson  <simon@josefsson.org>
47003
47004         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
47005         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
47006
47007 2009-02-10  Bruno Haible  <bruno@clisp.org>
47008
47009         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
47010         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
47011         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
47012         * lib/unilbrk/u8-possible-linebreaks.c: Update.
47013         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
47014         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
47015
47016 2009-02-09  Simon Josefsson  <simon@josefsson.org>
47017
47018         * lib/sockets.h (gl_fd_to_handle): New function.
47019
47020         * tests/test-sockets.c: Call gl_fd_to_handle.
47021
47022 2009-02-09  Bruno Haible  <bruno@clisp.org>
47023
47024         * doc/havelib.texi: Document the conventions on bi-arch systems.
47025
47026 2009-02-08  Bruno Haible  <bruno@clisp.org>
47027
47028         Document the AC_LIB_LINKFLAGS macro.
47029         * doc/havelib.texi: New file, mostly written on 2005-05-24.
47030         * doc/gnulib.texi: Include it.
47031
47032 2009-02-08  Bruno Haible  <bruno@clisp.org>
47033
47034         Fix wrong order of sections, compared to TOC.
47035         * doc/gnulib.texi: Include relocatable-maint.texi after the
47036         "Regular expressions" node, not before.
47037
47038 2009-02-08  Bruno Haible  <bruno@clisp.org>
47039
47040         Tests for module 'unicase/totitle'.
47041         * modules/unicase/totitle-tests: New file.
47042
47043         Tests for module 'unicase/tolower'.
47044         * modules/unicase/tolower-tests: New file.
47045
47046         Tests for module 'unicase/toupper'.
47047         * modules/unicase/toupper-tests: New file.
47048         * tests/unicase/test-mapping-part1.h: New file.
47049         * tests/unicase/test-mapping-part2.h: New file.
47050
47051         New module 'unicase/totitle'.
47052         * modules/unicase/totitle: New file.
47053         * lib/unicase/totitle.c: New file.
47054
47055         New module 'unicase/tolower'.
47056         * modules/unicase/tolower: New file.
47057         * lib/unicase/tolower.c: New file.
47058
47059         New module 'unicase/toupper'.
47060         * modules/unicase/toupper: New file.
47061         * lib/unicase/toupper.c: New file.
47062         * lib/unicase/simple-mapping.h: New file.
47063
47064         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
47065         (mapping_table): New structure.
47066         (output_simple_mapping): New function.
47067         (main): Invoke output_simple_mapping_test and output_simple_mapping.
47068         * modules/gen-uni-tables (Description): Update.
47069         * lib/unicase/toupper.h: New file, automatically generated by
47070         gen-uni-tables.
47071         * lib/unicase/tolower.h: New file, automatically generated by
47072         gen-uni-tables.
47073         * lib/unicase/totitle.h: New file, automatically generated by
47074         gen-uni-tables.
47075         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
47076         gen-uni-tables.
47077         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
47078         gen-uni-tables.
47079         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
47080         gen-uni-tables.
47081
47082         New module 'unicase/base'.
47083         * modules/unicase/base: New file.
47084         * lib/unicase.h: New file.
47085
47086 2009-02-08  Bruno Haible  <bruno@clisp.org>
47087
47088         New module 'uniwbrk/ulc-wordbreaks'.
47089         * modules/uniwbrk/ulc-wordbreaks: New file.
47090         * lib/uniwbrk/ulc-wordbreaks.c: New file.
47091
47092         New module 'uniwbrk/u32-wordbreaks'.
47093         * modules/uniwbrk/u32-wordbreaks: New file.
47094         * lib/uniwbrk/u32-wordbreaks.c: New file.
47095
47096         New module 'uniwbrk/u16-wordbreaks'.
47097         * modules/uniwbrk/u16-wordbreaks: New file.
47098         * lib/uniwbrk/u16-wordbreaks.c: New file.
47099
47100         New module 'uniwbrk/u8-wordbreaks'.
47101         * modules/uniwbrk/u8-wordbreaks: New file.
47102         * lib/uniwbrk/u8-wordbreaks.c: New file.
47103         * lib/uniwbrk/u-wordbreaks.h: New file.
47104
47105         New module 'uniwbrk/table'.
47106         * modules/uniwbrk/table: New file.
47107         * lib/uniwbrk/wbrktable.h: New file.
47108         * lib/uniwbrk/wbrktable.c: New file.
47109
47110         New module 'uniwbrk/wordbreak-property'.
47111         * modules/uniwbrk/wordbreak-property: New file.
47112         * lib/uniwbrk/wordbreak-property.c: New file.
47113
47114         * lib/gen-uni-tables.c (WBP_*): New enum items.
47115         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
47116         (unicode_org_wbp): New variable.
47117         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
47118         New functions.
47119         (wbp_table): New structure.
47120         (output_wbp, output_wbrk_tables): New functions.
47121         (main): Accept additional argument. Invoke fill_org_wbp,
47122         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
47123         output_wbrk_tables.
47124         * modules/gen-uni-tables (Description): Update.
47125         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
47126         gen-uni-tables.
47127
47128         New module 'uniwbrk/base'.
47129         * modules/uniwbrk/base: New file.
47130         * lib/uniwbrk.h: New file.
47131
47132 2009-02-08  Bruno Haible  <bruno@clisp.org>
47133
47134         Update to Unicode 5.1.0.
47135         * lib/gen-uni-tables.c (is_property_alphabetic): Include
47136         U+2185..U+2188.
47137         (is_property_default_ignorable_code_point): Don't include characters
47138         of category Cc or Cs and not-a-characters.
47139         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
47140         U+0D79, U+109E, U+109F, U+A60C.
47141         * lib/unictype/bidi_of.h: Regenerated.
47142         * lib/unictype/blocks.h: Regenerated.
47143         * lib/unictype/categ_C.h: Regenerated.
47144         * lib/unictype/categ_Cf.h: Regenerated.
47145         * lib/unictype/categ_Cn.h: Regenerated.
47146         * lib/unictype/categ_L.h: Regenerated.
47147         * lib/unictype/categ_Ll.h: Regenerated.
47148         * lib/unictype/categ_Lm.h: Regenerated.
47149         * lib/unictype/categ_Lo.h: Regenerated.
47150         * lib/unictype/categ_Lu.h: Regenerated.
47151         * lib/unictype/categ_M.h: Regenerated.
47152         * lib/unictype/categ_Mc.h: Regenerated.
47153         * lib/unictype/categ_Me.h: Regenerated.
47154         * lib/unictype/categ_Mn.h: Regenerated.
47155         * lib/unictype/categ_N.h: Regenerated.
47156         * lib/unictype/categ_Nd.h: Regenerated.
47157         * lib/unictype/categ_Nl.h: Regenerated.
47158         * lib/unictype/categ_No.h: Regenerated.
47159         * lib/unictype/categ_P.h: Regenerated.
47160         * lib/unictype/categ_Pd.h: Regenerated.
47161         * lib/unictype/categ_Pe.h: Regenerated.
47162         * lib/unictype/categ_Pf.h: Regenerated.
47163         * lib/unictype/categ_Pi.h: Regenerated.
47164         * lib/unictype/categ_Po.h: Regenerated.
47165         * lib/unictype/categ_Ps.h: Regenerated.
47166         * lib/unictype/categ_S.h: Regenerated.
47167         * lib/unictype/categ_Sk.h: Regenerated.
47168         * lib/unictype/categ_Sm.h: Regenerated.
47169         * lib/unictype/categ_So.h: Regenerated.
47170         * lib/unictype/categ_of.h: Regenerated.
47171         * lib/unictype/combining.h: Regenerated.
47172         * lib/unictype/ctype_alnum.h: Regenerated.
47173         * lib/unictype/ctype_alpha.h: Regenerated.
47174         * lib/unictype/ctype_graph.h: Regenerated.
47175         * lib/unictype/ctype_lower.h: Regenerated.
47176         * lib/unictype/ctype_print.h: Regenerated.
47177         * lib/unictype/ctype_punct.h: Regenerated.
47178         * lib/unictype/ctype_upper.h: Regenerated.
47179         * lib/unictype/decdigit.h: Regenerated.
47180         * lib/unictype/digit.h: Regenerated.
47181         * lib/unictype/mirror.h: Regenerated.
47182         * lib/unictype/numeric.h: Regenerated.
47183         * lib/unictype/pr_alphabetic.h: Regenerated.
47184         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
47185         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
47186         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
47187         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
47188         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
47189         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
47190         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
47191         * lib/unictype/pr_combining.h: Regenerated.
47192         * lib/unictype/pr_dash.h: Regenerated.
47193         * lib/unictype/pr_decimal_digit.h: Regenerated.
47194         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
47195         * lib/unictype/pr_deprecated.h: Regenerated.
47196         * lib/unictype/pr_diacritic.h: Regenerated.
47197         * lib/unictype/pr_extender.h: Regenerated.
47198         * lib/unictype/pr_format_control.h: Regenerated.
47199         * lib/unictype/pr_grapheme_base.h: Regenerated.
47200         * lib/unictype/pr_grapheme_extend.h: Regenerated.
47201         * lib/unictype/pr_grapheme_link.h: Regenerated.
47202         * lib/unictype/pr_id_continue.h: Regenerated.
47203         * lib/unictype/pr_id_start.h: Regenerated.
47204         * lib/unictype/pr_ideographic.h: Regenerated.
47205         * lib/unictype/pr_ignorable_control.h: Regenerated.
47206         * lib/unictype/pr_lowercase.h: Regenerated.
47207         * lib/unictype/pr_math.h: Regenerated.
47208         * lib/unictype/pr_numeric.h: Regenerated.
47209         * lib/unictype/pr_other_alphabetic.h: Regenerated.
47210         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
47211         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
47212         * lib/unictype/pr_other_id_continue.h: Regenerated.
47213         * lib/unictype/pr_other_lowercase.h: Regenerated.
47214         * lib/unictype/pr_other_math.h: Regenerated.
47215         * lib/unictype/pr_punctuation.h: Regenerated.
47216         * lib/unictype/pr_sentence_terminal.h: Regenerated.
47217         * lib/unictype/pr_soft_dotted.h: Regenerated.
47218         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
47219         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
47220         * lib/unictype/pr_unified_ideograph.h: Regenerated.
47221         * lib/unictype/pr_uppercase.h: Regenerated.
47222         * lib/unictype/pr_xid_continue.h: Regenerated.
47223         * lib/unictype/pr_xid_start.h: Regenerated.
47224         * lib/unictype/pr_zero_width.h: Regenerated.
47225         * lib/unictype/scripts.h: Regenerated.
47226         * lib/unictype/scripts_byname.gperf: Regenerated.
47227         * lib/unictype/sy_java_ident.h: Regenerated.
47228         * lib/unilbrk/lbrkprop1.h: Regenerated.
47229         * lib/unilbrk/lbrkprop2.h: Regenerated.
47230         * tests/unictype/test-categ_C.c: Regenerated.
47231         * tests/unictype/test-categ_Cf.c: Regenerated.
47232         * tests/unictype/test-categ_Cn.c: Regenerated.
47233         * tests/unictype/test-categ_L.c: Regenerated.
47234         * tests/unictype/test-categ_Ll.c: Regenerated.
47235         * tests/unictype/test-categ_Lm.c: Regenerated.
47236         * tests/unictype/test-categ_Lo.c: Regenerated.
47237         * tests/unictype/test-categ_Lu.c: Regenerated.
47238         * tests/unictype/test-categ_M.c: Regenerated.
47239         * tests/unictype/test-categ_Mc.c: Regenerated.
47240         * tests/unictype/test-categ_Me.c: Regenerated.
47241         * tests/unictype/test-categ_Mn.c: Regenerated.
47242         * tests/unictype/test-categ_N.c: Regenerated.
47243         * tests/unictype/test-categ_Nd.c: Regenerated.
47244         * tests/unictype/test-categ_Nl.c: Regenerated.
47245         * tests/unictype/test-categ_No.c: Regenerated.
47246         * tests/unictype/test-categ_P.c: Regenerated.
47247         * tests/unictype/test-categ_Pd.c: Regenerated.
47248         * tests/unictype/test-categ_Pe.c: Regenerated.
47249         * tests/unictype/test-categ_Pf.c: Regenerated.
47250         * tests/unictype/test-categ_Pi.c: Regenerated.
47251         * tests/unictype/test-categ_Po.c: Regenerated.
47252         * tests/unictype/test-categ_Ps.c: Regenerated.
47253         * tests/unictype/test-categ_S.c: Regenerated.
47254         * tests/unictype/test-categ_Sk.c: Regenerated.
47255         * tests/unictype/test-categ_Sm.c: Regenerated.
47256         * tests/unictype/test-categ_So.c: Regenerated.
47257         * tests/unictype/test-ctype_alnum.c: Regenerated.
47258         * tests/unictype/test-ctype_alpha.c: Regenerated.
47259         * tests/unictype/test-ctype_graph.c: Regenerated.
47260         * tests/unictype/test-ctype_lower.c: Regenerated.
47261         * tests/unictype/test-ctype_print.c: Regenerated.
47262         * tests/unictype/test-ctype_punct.c: Regenerated.
47263         * tests/unictype/test-ctype_upper.c: Regenerated.
47264         * tests/unictype/test-decdigit.h: Regenerated.
47265         * tests/unictype/test-digit.h: Regenerated.
47266         * tests/unictype/test-numeric.h: Regenerated.
47267         * tests/unictype/test-pr_alphabetic.c: Regenerated.
47268         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
47269         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
47270         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
47271         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
47272         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
47273         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
47274         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
47275         * tests/unictype/test-pr_combining.c: Regenerated.
47276         * tests/unictype/test-pr_dash.c: Regenerated.
47277         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
47278         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
47279         * tests/unictype/test-pr_deprecated.c: Regenerated.
47280         * tests/unictype/test-pr_diacritic.c: Regenerated.
47281         * tests/unictype/test-pr_extender.c: Regenerated.
47282         * tests/unictype/test-pr_format_control.c: Regenerated.
47283         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
47284         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
47285         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
47286         * tests/unictype/test-pr_id_continue.c: Regenerated.
47287         * tests/unictype/test-pr_id_start.c: Regenerated.
47288         * tests/unictype/test-pr_ideographic.c: Regenerated.
47289         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
47290         * tests/unictype/test-pr_lowercase.c: Regenerated.
47291         * tests/unictype/test-pr_math.c: Regenerated.
47292         * tests/unictype/test-pr_numeric.c: Regenerated.
47293         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
47294         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
47295         Regenerated.
47296         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
47297         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
47298         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
47299         * tests/unictype/test-pr_other_math.c: Regenerated.
47300         * tests/unictype/test-pr_punctuation.c: Regenerated.
47301         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
47302         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
47303         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
47304         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
47305         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
47306         * tests/unictype/test-pr_uppercase.c: Regenerated.
47307         * tests/unictype/test-pr_xid_continue.c: Regenerated.
47308         * tests/unictype/test-pr_xid_start.c: Regenerated.
47309         * tests/unictype/test-pr_zero_width.c: Regenerated.
47310
47311         Update to Unicode 5.1.0.
47312         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
47313         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
47314         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
47315         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
47316         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
47317         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
47318         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
47319         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
47320         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
47321         (nonspacing_table_ind): Update.
47322         * tests/uniwidth/test-uc_width2.sh: Update expected result.
47323
47324         Update to Unicode 5.1.0.
47325         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
47326         code transform.
47327         * lib/uniname/uniname.c (unicode_character_name,
47328         unicode_name_character): Add the range 0x1Fxxx to the code transform.
47329         * lib/uniname/uninames.h: Regenerated.
47330         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
47331
47332 2009-02-07  Bruno Haible  <bruno@clisp.org>
47333
47334         Merge gen-ctype and gen-lbrk into a single program.
47335         * lib/gen-uni-tables.c: New file, incorporating
47336         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
47337         Add directory prefixes to the names of the generated files.
47338         * lib/unictype/gen-ctype.c: Remove file.
47339         * lib/unilbrk/gen-lbrk.c: Remove file.
47340         * modules/gen-uni-tables: New file.
47341         * modules/unictype/gen-ctype: Remove file.
47342         * modules/unilbrk/gen-lbrk: Remove file.
47343
47344 2009-02-07  Bruno Haible  <bruno@clisp.org>
47345
47346         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
47347
47348         New module 'unistr/u32-strcoll'.
47349         * modules/unistr/u32-strcoll: New file.
47350         * lib/unistr/u32-strcoll.c: New file.
47351
47352         New module 'unistr/u16-strcoll'.
47353         * modules/unistr/u16-strcoll: New file.
47354         * lib/unistr/u16-strcoll.c: New file.
47355
47356         New module 'unistr/u8-strcoll'.
47357         * modules/unistr/u8-strcoll: New file.
47358         * lib/unistr/u8-strcoll.c: New file.
47359         * lib/unistr/u-strcoll.h: New file.
47360
47361 2009-02-07  Bruno Haible  <bruno@clisp.org>
47362
47363         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
47364         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
47365         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
47366         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
47367         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
47368         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
47369
47370 2009-02-07  Bruno Haible  <bruno@clisp.org>
47371
47372         Make 64-bit clean.
47373         * lib/unictype/gen-ctype.c (output_predicate, output_category,
47374         output_combclass, output_bidi_category, output_decimal_digit,
47375         output_digit, output_numeric, output_mirror, output_scripts,
47376         output_ident_category): Use proper width specifier in format strings.
47377
47378 2009-02-07  Bruno Haible  <bruno@clisp.org>
47379
47380         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
47381         failure behaviour.
47382
47383 2009-02-07  Jim Meyering  <meyering@redhat.com>
47384
47385         regex: avoid compilation failure with upcoming gcc-4.4
47386         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
47387         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
47388         "... error: integer overflow in preprocessor expression".
47389
47390 2009-02-05  Ben Pfaff  <blp@gnu.org>
47391
47392         Fix link errors on Windows when close module is used.
47393         * modules/close: Add $(LIB_CLOSE) to Link section.
47394         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
47395         $(LIB_CLOSE) on Windows.
47396
47397 2009-02-05  Jim Meyering  <meyering@redhat.com>
47398
47399         still avoid unused-parameter warnings, but do it cleanly
47400         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
47401         (get_fs_usage): Cast to void instead.
47402         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
47403         (dev_from_mount_options, read_file_system_list): Cast to void.
47404         Prompted by Bruno Haible.
47405
47406 2009-02-04  Jim Meyering  <meyering@redhat.com>
47407
47408         fsusage.c: correct copyright year
47409         * lib/fsusage.c: Reflect year in which the change is pushed into
47410
47411         avoid misc. warnings
47412         * lib/fsusage.c (UNUSED_PARAM): Define.
47413         (get_fs_usage): Mark parameter "disk" as unused.
47414         * lib/getugroups.c (getgrent): Use "void" in prototype.
47415         * lib/mountlist.c: Mark unused parameters.
47416         (read_file_system_list): Declare a local with "const".
47417         * lib/nanosleep.c (getnow): Declare static.
47418         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
47419
47420         dirfd: set errno upon failure
47421         * lib/dirfd.c: Include <errno.h>.
47422         Set errno to ENOTSUP when returning -1.
47423         * modules/dirfd (Depends-on): Add errno.
47424         Suggested by John Kodis <kodis@comcast.net>.
47425
47426 2009-02-01  Bruno Haible  <bruno@clisp.org>
47427
47428         Don't assume sizeof (long) >= sizeof (void *).
47429         * lib/memcmp.c: Include stdint.h.
47430         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
47431         srcp2 to 'const byte *'.
47432         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
47433         types to uintptr_t.
47434         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
47435         * modules/memcmp (Depends-on): Add stdint.
47436         Reported by Ozkan Sezer <sezeroz@gmail.com>.
47437
47438 2009-01-30  Eric Blake  <ebb9@byu.net>
47439
47440         fix more require-before-expand issues
47441         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
47442         expand, AC_PROG_AWK.
47443         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
47444
47445 2009-01-28  Eric Blake  <ebb9@byu.net>
47446
47447         version-etc: use consistent URL formatting
47448         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
47449         Improve formatting.  Use fputs for string without %.
47450
47451 2009-01-28  Jim Meyering  <meyering@redhat.com>
47452
47453         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
47454         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
47455         "underquoted definition of NAME" from autoconf-2.59.
47456
47457 2009-01-28  Bruno Haible  <bruno@clisp.org>
47458
47459         * doc/gnulib.texi: Add "Obsolete modules" to index.
47460
47461 2009-01-28  Jim Meyering  <meyering@redhat.com>
47462
47463         useless-if-before-free: recognize more variants
47464         * build-aux/useless-if-before-free: Also recognize e.g.,
47465         if (NULL != p) free (p);
47466
47467 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
47468
47469         test-getaddrinfo: skip (don't fail) this test when there's no network
47470         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
47471         on the presumption that it means you lack network access.
47472
47473 2009-01-26  Jim Meyering  <meyering@redhat.com>
47474
47475         fflush: avoid warnings on modern systems
47476         * lib/fflush.c (rpl_fflush): Move declarations of locals,
47477         pos and result, into scopes where they're used.
47478
47479 2009-01-26  Eric Blake  <ebb9@byu.net>
47480
47481         Silence warning reintroduced by recent extensions patch.
47482         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
47483         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
47484         autoconf.
47485
47486         Backport improved autoconf semantics of AC_DEFUN_ONCE.
47487         * m4/00gnulib.m4: New file.
47488         * gnulib-tool (func_get_filelist): Always use it.
47489         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
47490         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
47491
47492 2009-01-25  Bruno Haible  <bruno@clisp.org>
47493
47494         Make test-quotearg work on MacOS X and AIX.
47495         * tests/test-quotearg.sh: New file.
47496         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
47497         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
47498         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
47499         include <libintl.h>.
47500         (fake_locale): Remove variable.
47501         (gettext, dgettext, dcgettext): Remove functions.
47502         (main): Instead of setting a fake locale, set a real locale. Call
47503         textdomain and bindtextdomain.
47504         * modules/quotearg-tests (Files): Add the new files.
47505         (Depends-on): Add gettext, setenv, unsetenv.
47506         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
47507         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
47508         Augment TESTS_ENVIRONMENT.
47509
47510 2009-01-25  Bruno Haible  <bruno@clisp.org>
47511
47512         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
47513         fr_FR.ISO8859-1 locale on MacOS X.
47514         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
47515         ja_JP.eucJP locale on MacOS X.
47516         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
47517         zh_CN.GB18030 locale on MacOS X.
47518
47519 2009-01-25  Bruno Haible  <bruno@clisp.org>
47520
47521         Avoid link errors on MacOS X 10.3.
47522         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
47523         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
47524
47525 2009-01-25  Bruno Haible  <bruno@clisp.org>
47526
47527         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
47528         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
47529         * modules/pipe (Files): Remove m4/posix_spawn.m4.
47530         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
47531         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
47532         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
47533         posix_spawnattr_init, posix_spawnattr_setsigmask,
47534         posix_spawnattr_setflags, posix_spawnattr_destroy.
47535
47536         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
47537         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
47538         * modules/execute (Files): Remove m4/posix_spawn.m4.
47539         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
47540         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
47541         posix_spawnattr_init, posix_spawnattr_setsigmask,
47542         posix_spawnattr_setflags, posix_spawnattr_destroy.
47543
47544 2009-01-25  Bruno Haible  <bruno@clisp.org>
47545
47546         * lib/glthread/threadlib.c: Include <stdlib.h>.
47547
47548 2009-01-25  Bruno Haible  <bruno@clisp.org>
47549
47550         * lib/glthread/threadlib.c (dummy): New declaration.
47551
47552 2009-01-25  Bruno Haible  <bruno@clisp.org>
47553
47554         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
47555         multibyte characters also for the GB18030 encoding. Don't crash when
47556         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
47557
47558 2009-01-25  Bruno Haible  <bruno@clisp.org>
47559
47560         Avoid redefining 'struct random_data' on OSF/1 5.1.
47561         * lib/stdlib.in.h: Include <random.h> if it exists.
47562         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
47563         HAVE_RANDOM_H. Include <random.h> when testing whether
47564         'struct random_data' exists.
47565         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
47566
47567 2009-01-25  Bruno Haible  <bruno@clisp.org>
47568
47569         Don't install charset.alias on MacOS X >= 10.3.
47570         * lib/localcharset.c (DARWIN7): New macro.
47571         (get_charset_aliases): Hardcode the result for Darwin7.
47572         * modules/localcharset (install-exec-local): Don't install
47573         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
47574
47575 2009-01-25  Bruno Haible  <bruno@clisp.org>
47576
47577         Don't install charset.alias on mingw and Cygwin.
47578         * modules/localcharset (install-exec-local): Don't install
47579         charset.alias on mingw and Cygwin, if the file does not yet exist.
47580         The result for these platforms is hardcoded in localcharset.c.
47581
47582 2009-01-25  Bruno Haible  <bruno@clisp.org>
47583
47584         Make it possible again to use AC_GNU_SOURCE together with gnulib.
47585         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
47586         before requiring AC_USE_SYSTEM_EXTENSIONS.
47587
47588 2009-01-25  Jim Meyering  <meyering@redhat.com>
47589
47590         c-strtod: avoid warnings
47591         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
47592         "assignment discards qualifiers from pointer target type" warnings.
47593
47594 2009-01-24  Bruno Haible  <bruno@clisp.org>
47595
47596         Add support for non-UTF-8 locales on MacOS X.
47597         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
47598         canonical encodings. For Darwin 7 and newer, don't map traditional
47599         encodings to UTF-8.
47600         Reported by Vincent Lefevre <vincent@vinc17.org>
47601         at <http://savannah.gnu.org/bugs/?25235>.
47602
47603 2009-01-24  Bruno Haible  <bruno@clisp.org>
47604
47605         * doc/gnulib.texi (Obsolete modules): New section.
47606         Reported by Mike Frysinger <vapier@gentoo.org>.
47607
47608 2009-01-24  Bruno Haible  <bruno@clisp.org>
47609
47610         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
47611         (%.dvi): New rule.
47612
47613 2009-01-24  Bruno Haible  <bruno@clisp.org>
47614
47615         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
47616         Reported by Eric Blake.
47617
47618 2009-01-24  Bruno Haible  <bruno@clisp.org>
47619
47620         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
47621         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
47622         Reported by Gary V. Vaughan <gary@gnu.org>.
47623
47624 2009-01-24  Bruno Haible  <bruno@clisp.org>
47625
47626         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
47627
47628 2009-01-23  Bruno Haible  <bruno@clisp.org>
47629
47630         Make c-strtod, c-strtold usable in libraries.
47631         * lib/c-strtod.c: Include string.h instead of xalloc.h.
47632         (C_STRTOD): Call strdup instead of xstrdup.
47633         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
47634         * modules/c-strtold (Depends-on): Likewise.
47635         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
47636         * NEWS: Mention the change.
47637         Reported by Michael Gold <mgold@ncf.ca>.
47638
47639 2009-01-23  Jim Meyering  <meyering@redhat.com>
47640
47641         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
47642         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
47643         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
47644
47645 2009-01-23  Simon Josefsson  <simon@josefsson.org>
47646
47647         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
47648         GNU CoreUtils.
47649         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
47650         * modules/version-etc (Description): Update.
47651
47652 2009-01-22  Bruno Haible  <bruno@clisp.org>
47653
47654         Cache the C locale object.
47655         * lib/c-strtod.c (c_locale_cache): New variable.
47656         (c_locale): New function.
47657         (C_STRTOD): Use it, and don't call freelocale.
47658         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
47659         Suggested by Paolo Bonzini.
47660
47661 2009-01-21  Bruno Haible  <bruno@clisp.org>
47662
47663         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
47664         conditions other than overflow.
47665
47666 2009-01-21  Bruno Haible  <bruno@clisp.org>
47667
47668         * lib/c-strtod.c: Include errno.h.
47669         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
47670         value from STRTOD_L and STRTOD.
47671
47672 2009-01-21  Bruno Haible  <bruno@clisp.org>
47673         and Jim Meyering  <meyering@redhat.com>
47674
47675         nanosleep: skip configure test (fail it) for apple universal builds
47676         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
47677         universal builds, assume that nanosleep does not work.
47678         * modules/nanosleep (Depends-on): Add multiarch.
47679
47680         mktime: skip configure test (fail it) for apple universal builds
47681         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
47682         universal builds, assume that mktime does not work.
47683         * modules/mktime (Depends-on): Add multiarch.
47684
47685 2009-01-21  Eric Blake  <ebb9@byu.net>
47686
47687         multiarch: avoid expand-before-require warning
47688         * modules/multiarch (configure.ac): Require, rather than expand,
47689         gl_MULTIARCH.
47690         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
47691         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
47692         enforce that all clients require it.  Partial reversion of
47693         2008-12-29 patch.
47694
47695         error: avoid expand-before-require warning
47696         * modules/errno (configure.ac): Require, rather than expand,
47697         gl_HEADER_ERRNO_H.
47698         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
47699         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
47700         enforce that all clients require it.
47701
47702         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
47703         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
47704         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
47705         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
47706
47707 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
47708
47709         Revert:
47710         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
47711
47712         regex: do not depend on obsolete modules.
47713         * modules/regex: Remove memcmp and memmove.
47714
47715 2009-01-20  Bruno Haible  <bruno@clisp.org>
47716
47717         Make the 'link' module link on Windows NT 4.
47718         * lib/link.c (_WIN32_WINNT): Don't define.
47719         (CreateHardLinkFuncType): New type.
47720         (CreateHardLinkFunc, initialized): New variables.
47721         (initialize): New function.
47722         (link): Invoke CreateHardLink indirectly through the function pointer.
47723
47724 2009-01-20  Bruno Haible  <bruno@clisp.org>
47725
47726         Fix compilation failure on mingw.
47727         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
47728
47729 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
47730
47731         * doc/c-strtod.texi: Mention a couple of restrictions.
47732
47733 2009-01-20  Jim Meyering  <meyering@redhat.com>
47734
47735         gettimeofday: move more declarations out of functions
47736         * lib/gettimeofday.c: Move extern declarations of tzset and
47737         gmtime out of containing functions.  Prompted by Bruno Haible.
47738
47739 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
47740
47741         regex: do not depend on obsolete modules.
47742         * modules/regex: Remove memcmp and memmove.
47743
47744 2009-01-19  Bruno Haible  <bruno@clisp.org>
47745
47746         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
47747         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
47748         gl_BIGENDIAN, not AC_C_BIGENDIAN.
47749         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
47750         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
47751
47752 2009-01-19  Bruno Haible  <bruno@clisp.org>
47753
47754         * tests/test-link.c: Include <errno.h>.
47755         (main): Exit with code 77 when a hard link cannot be created due to
47756         the file system.
47757         * tests/test-link.sh: Skip test when a hard link cannot be created due
47758         to the file system.
47759         Suggested by Eric Blake.
47760
47761 2009-01-19  Martin Lambers  <marlam@marlam.de>
47762
47763         * modules/link-tests: New file.
47764         * tests/test-link.sh: New file.
47765         * tests/test-link.c: New file.
47766
47767 2009-01-19  Eric Blake  <ebb9@byu.net>
47768
47769         doc: mention another function added in cygwin 1.7.0
47770         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
47771         Another new function in cygwin 1.7.
47772
47773 2009-01-19  Bruno Haible  <bruno@clisp.org>
47774
47775         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
47776         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
47777         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
47778         gl_BIGENDIAN, not AC_C_BIGENDIAN.
47779         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
47780         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
47781         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
47782         * m4/md4.m4 (gl_MD4): Likewise.
47783         * m4/md5.m4 (gl_MD5): Likewise.
47784         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
47785         * m4/sha1.m4 (gl_SHA1): Likewise.
47786         * m4/sha256.m4 (gl_SHA256): Likewise.
47787         * m4/sha512.m4 (gl_SHA512): Likewise.
47788
47789 2009-01-19  Bruno Haible  <bruno@clisp.org>
47790
47791         * modules/uniname/uniname-tests (Depends-on): Add progname.
47792         * tests/uniname/test-uninames.c: Include progname.h.
47793         (main): Call set_program_name.
47794
47795         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
47796         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
47797         (main): Call set_program_name.
47798
47799         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
47800         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
47801         (main): Call set_program_name.
47802
47803         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
47804         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
47805         (main): Call set_program_name.
47806
47807         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
47808         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
47809         (main): Call set_program_name.
47810
47811         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
47812         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
47813         (main): Call set_program_name.
47814
47815         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
47816         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
47817         (main): Call set_program_name.
47818
47819         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
47820         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
47821         (main): Call set_program_name.
47822
47823         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
47824         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
47825         (main): Call set_program_name.
47826
47827 2009-01-19  Eric Blake  <ebb9@byu.net>
47828
47829         test-unistd: test previous patch
47830         * tests/test-unistd.c: Test *_FILENO macros.
47831
47832         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
47833         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
47834         Guarantee a definition.
47835         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
47836         * modules/unistd-safer (Depends-on): Add dependency on unistd.
47837         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
47838         * lib/dup-safer.c (STDERR_FILENO): Likewise.
47839         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
47840         Likewise.
47841         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
47842         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
47843         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
47844         Likewise.
47845         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
47846         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
47847         (STDERR_FILENO): Likewise.
47848         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
47849         (STDERR_FILENO): Likewise.
47850         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
47851         (STDERR_FILENO): Likewise.
47852         Reported by Elbert Pol.
47853
47854 2009-01-19  Eric Blake  <ebb9@byu.net>
47855
47856         doc: mention more functions added in cygwin 1.7.0
47857         * doc/posix-functions/abort.texi (abort): Update wording related
47858         to cygwin.
47859         * doc/posix-functions/daylight.texi (daylight): Likewise.
47860         * doc/posix-functions/optarg.texi (optarg): Likewise.
47861         * doc/posix-functions/optarg.texi (opterr): Likewise.
47862         * doc/posix-functions/optarg.texi (optind): Likewise.
47863         * doc/posix-functions/optarg.texi (optopt): Likewise.
47864         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
47865         worked in 1.5.x, and was withdrawn in 1.7.
47866         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
47867         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
47868         cygwin versions.
47869         * doc/posix-functions/perror.texi (perror): Likewise.
47870         * doc/posix-functions/printf.texi (printf): Likewise.
47871         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
47872         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
47873         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
47874         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
47875         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
47876         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
47877         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
47878         Likewise.
47879         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
47880         Likewise.
47881         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
47882         this function.
47883         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
47884         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
47885         Likewise.
47886         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
47887         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
47888         * doc/posix-functions/confstr.texi (confstr): Likewise.
47889         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
47890         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
47891         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
47892         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
47893         * doc/posix-functions/fputws.texi (fputws): Likewise.
47894         * doc/posix-functions/fwide.texi (fwide): Likewise.
47895         * doc/posix-functions/getwc.texi (getwc): Likewise.
47896         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
47897         * doc/posix-functions/putwc.texi (putwc): Likewise.
47898         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
47899         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
47900         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
47901         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
47902         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
47903         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
47904         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
47905         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
47906         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
47907         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
47908         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
47909
47910 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
47911
47912         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
47913         * lib/ioctl.c: Include <sys/ioctl.h>.
47914
47915 2009-01-19  Simon Josefsson  <simon@josefsson.org>
47916
47917         * modules/getdate-tests (Depends-on): Add progname.
47918         * tests/test-getdate.c: Use progname module, to avoid link errors
47919         on non-glibc systems.
47920
47921 2009-01-18  Simon Josefsson  <simon@josefsson.org>
47922
47923         * modules/filenamecat-tests (Depends-on): Add progname.
47924         * modules/fstrcmp-tests (Depends-on): Likewise.
47925
47926         * tests/test-filenamecat.c: Use progname module, to avoid link
47927         errors on non-glibc systems.
47928         * tests/test-fstrcmp.c: Likewise.
47929
47930 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
47931
47932         gettimeofday: avoid warning: nested extern declaration of 'localtime'
47933         * lib/gettimeofday.c: Move extern declaration out of function.
47934
47935 2009-01-18  Bruno Haible  <bruno@clisp.org>
47936
47937         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
47938         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
47939         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
47940
47941 2009-01-18  Bruno Haible  <bruno@clisp.org>
47942
47943         * lib/strftime.c (MEMPCPY): Remove unused macro.
47944         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
47945
47946 2009-01-18  Martin Lambers  <marlam@marlam.de>
47947
47948         New module 'link'.
47949         * lib/unistd.in.h (link): New declaration.
47950         * lib/link.c: New file.
47951         * m4/link.m4: New file.
47952         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
47953         HAVE_LINK.
47954         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
47955         * modules/link: New file.
47956         * doc/posix-functions/link.texi: Mention the new module.
47957
47958 2009-01-18  Bruno Haible  <bruno@clisp.org>
47959
47960         * tests/test-avltree_list.c (main): Call set_program_name.
47961         * tests/test-avltree_oset.c (main): Likewise.
47962         * tests/test-obstack-printf.c: Include progname.h.
47963         (main): Call set_program_name.
47964         * tests/test-quotearg.c: Include progname.h.
47965         (main): Call set_program_name.
47966         * tests/test-xmemdup0.c: Include progname.h.
47967         (main): Call set_program_name.
47968
47969 2009-01-18  Bruno Haible  <bruno@clisp.org>
47970
47971         New module 'alphasort'.
47972         * lib/dirent.in.h (alphasort): New declaration.
47973         * lib/alphasort.c: New file, from glibc with modifications.
47974         * m4/alphasort.m4: New file.
47975         * modules/alphasort: New file.
47976         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
47977         HAVE_ALPHASORT.
47978         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
47979         HAVE_ALPHASORT.
47980         * doc/posix-functions/alphasort.texi: Mention the new module and the
47981         portability problems.
47982
47983 2009-01-18  Bruno Haible  <bruno@clisp.org>
47984
47985         New module 'scandir'.
47986         * lib/dirent.in.h (scandir): New declaration.
47987         * lib/scandir.c: New file, from glibc with modifications.
47988         * m4/scandir.m4: New file.
47989         * modules/scandir: New file.
47990         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
47991         HAVE_SCANDIR.
47992         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
47993         HAVE_SCANDIR.
47994         * doc/posix-functions/scandir.texi: Mention the new module and the
47995         portability problems.
47996
47997 2009-01-17  Bruno Haible  <bruno@clisp.org>
47998
47999         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
48000         Update documentation.
48001         (func_remove_suffix): Escape all dots in the suffix. Update
48002         documentation.
48003         (func_filter_filelist): Update documentation.
48004         Reported by Ralf Wildenhues.
48005
48006 2009-01-17  Bruno Haible  <bruno@clisp.org>
48007
48008         * modules/dprintf-posix-tests: New file.
48009         * tests/test-dprintf-posix.sh: New file.
48010         * tests/test-dprintf-posix.c: New file.
48011
48012         New modules 'dprintf', 'dprintf-posix'.
48013         * lib/stdio.in.h (dprintf): New declaration.
48014         * lib/dprintf.c: New file.
48015         * m4/dprintf.m4: New file.
48016         * m4/dprintf-posix.m4: New file.
48017         * modules/dprintf: New file.
48018         * modules/dprintf-posix: New file.
48019         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
48020         HAVE_DPRINTF, REPLACE_DPRINTF.
48021         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
48022         HAVE_DPRINTF, REPLACE_DPRINTF.
48023         * doc/posix-functions/dprintf.texi: Mention the new modules.
48024
48025 2009-01-17  Bruno Haible  <bruno@clisp.org>
48026
48027         * modules/vdprintf-posix-tests: New file.
48028         * tests/test-vdprintf-posix.sh: New file.
48029         * tests/test-vdprintf-posix.c: New file.
48030
48031         New modules 'vdprintf', 'vdprintf-posix'.
48032         * lib/stdio.in.h (vdprintf): New declaration.
48033         * lib/vdprintf.c: New file.
48034         * m4/vdprintf.m4: New file.
48035         * m4/vdprintf-posix.m4: New file.
48036         * modules/vdprintf: New file.
48037         * modules/vdprintf-posix: New file.
48038         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
48039         HAVE_VDPRINTF, REPLACE_VDPRINTF.
48040         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
48041         HAVE_VDPRINTF, REPLACE_VDPRINTF.
48042         * doc/posix-functions/vdprintf.texi: Mention the new modules.
48043
48044 2009-01-17  Bruno Haible  <bruno@clisp.org>
48045
48046         Fix replacement of fopen on mingw.
48047         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
48048         mingw.
48049
48050 2009-01-17  Bruno Haible  <bruno@clisp.org>
48051
48052         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
48053         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
48054
48055 2009-01-17  Bruno Haible  <bruno@clisp.org>
48056
48057         Avoid test-fflush2.sh failure on mingw.
48058         * tests/test-fflush2.c: Include binary-io.h.
48059         (main): Put standard input into binary mode.
48060         * modules/fflush-tests (Depends-on): Add binary-io.
48061
48062 2009-01-17  Bruno Haible  <bruno@clisp.org>
48063
48064         * lib/wchar.in.h: In another particular situation, include only the
48065         system's <wchar.h> file.
48066         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
48067         Reported by Albert Chin-A-Young <china@thewrittenword.com>
48068         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
48069
48070 2009-01-17  Bruno Haible  <bruno@clisp.org>
48071
48072         Support for stripping executables in --enable-relocatable.
48073         * build-aux/install-reloc: Expect one more argument, or an environment
48074         variable RELOC_STRIP_PROG. If set, strip the destination program and
48075         its wrapper.
48076         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
48077         RELOC_STRIP_PROG.
48078         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
48079         to set RELOCATABLE_STRIP.
48080         * NEWS: Mention the new Makefile requirement.
48081
48082 2009-01-17  Bruno Haible  <bruno@clisp.org>
48083
48084         * build-aux/install-reloc: Remove debugging information left over by
48085         C compiler on MacOS X.
48086
48087 2009-01-17  Bruno Haible  <bruno@clisp.org>
48088
48089         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
48090         * lib/progreloc.c (find_executable): Fix type of pointer passed to
48091         _NSGetExecutablePath.
48092
48093 2009-01-16  Jim Meyering  <meyering@redhat.com>
48094
48095         strerror: avoid warnings about discarding "const"
48096         * lib/strerror.c (rpl_strerror): Instead of returning a const
48097         string from each and every "case", use a variable, and add a single
48098         cast after the switch.
48099
48100 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
48101
48102         * lib/arpa_inet.in.h: Add extern "C" block for C++.
48103
48104 2009-01-16  Bruno Haible  <bruno@clisp.org>
48105
48106         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
48107         array initializer syntax that also works in C++ mode.
48108         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48109
48110 2009-01-16  Jim Meyering  <meyering@redhat.com>
48111
48112         poll: suppress a warning
48113         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
48114         to ignore "...unsigned expression < 0 is always false" warnings.
48115
48116 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
48117
48118         poll: remove declarations of unused variables
48119         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
48120         sockbuf and optlen.
48121
48122 2009-01-15  Bruno Haible  <bruno@clisp.org>
48123
48124         Make fflush-after-ungetc POSIX compliant on BSD systems.
48125         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
48126         (clear_ungetc_buffer): Implement also for other systems.
48127         (rpl_fflush): On glibc systems, invoke
48128         clear_ungetc_buffer_preserving_position. Otherwise, invoke
48129         clear_ungetc_buffer after fetching the stream's position, not before.
48130
48131 2009-01-15  Bruno Haible  <bruno@clisp.org>
48132
48133         Make fflush-after-ungetc POSIX compliant on glibc systems.
48134         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
48135         after ungetc.
48136         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
48137         (rpl_fflush): On glibc systems, simply call the system's fflush
48138         function after clearing the ungetc buffer.
48139         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
48140         Instead, lseek only to the end of file, then use the system's fseeko
48141         for the rest. On glibc systems, reset the EOF indicator bit.
48142
48143 2009-01-15  Jim Meyering  <meyering@redhat.com>
48144
48145         openmp.m4: revert quote-adding change, for portability to older autoconf
48146         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
48147         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
48148         Simon Josefsson noticed the problem when using autoconf-2.61.
48149
48150 2009-01-15  Bruno Haible  <bruno@clisp.org>
48151
48152         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
48153         * tests/test-fflush2.c (ASSERT): Always fail.
48154         (main): Add two tests for fflush() after ungetc(), taking into account
48155         the Austin Group's clarification.
48156         Suggested by Eric Blake.
48157
48158 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
48159
48160         mktime.m4: remove K&R-style function prototypes
48161         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
48162         for the Sun C++ compiler.
48163
48164 2009-01-14  Bruno Haible  <bruno@clisp.org>
48165
48166         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
48167         while including <wchar.h>.
48168         * lib/wchar.in.h: In two particular situations on HP-UX, include only
48169         the system's <wchar.h> file.
48170         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48171
48172 2009-01-14  Bruno Haible  <bruno@clisp.org>
48173
48174         * m4/csharp.m4: Don't mention gettext on the serial number line.
48175         * m4/csharpexec.m4: Likewise.
48176         * m4/eaccess.m4: Likewise.
48177         * m4/javaexec.m4: Likewise.
48178         * m4/sig_atomic_t.m4: Likewise.
48179         * m4/tmpdir.m4: Likewise.
48180         * m4/intldir.m4: Bump gettext version.
48181         * m4/lib-ld.m4: Likewise.
48182
48183 2009-01-14  Bruno Haible  <bruno@clisp.org>
48184
48185         * lib/progname.c (set_program_name): Add more comments.
48186         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
48187
48188 2009-01-14  Simon Josefsson  <simon@josefsson.org>
48189
48190         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
48191         were sys/stat.h does not define it.
48192
48193 2009-01-14  Jim Meyering  <meyering@redhat.com>
48194
48195         many *.m4 files: improve m4 quoting
48196         99% of this change was performed by running the following commands:
48197         git ls-files | grep '\.m4$' | xargs perl -pi \
48198           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
48199           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
48200           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
48201           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
48202         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
48203         The remainder were to add Copyright dates, increment serial numbers,
48204         undo some changes in comments, exclude m4/intl.m4, and add quotes
48205         around the "1" in ",1" where the unusual spacing prohibited the
48206         above regexps from doing the job.  For more details, see
48207         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
48208         * m4/acl.m4: Modified.
48209         * m4/afs.m4: Likewise.
48210         * m4/alloca.m4: Likewise.
48211         * m4/argp.m4: Likewise.
48212         * m4/argz.m4: Likewise.
48213         * m4/atexit.m4: Likewise.
48214         * m4/bison-i18n.m4: Likewise.
48215         * m4/bison.m4: Likewise.
48216         * m4/byteswap.m4: Likewise.
48217         * m4/c-stack.m4: Likewise.
48218         * m4/c-strtod.m4: Likewise.
48219         * m4/calloc.m4: Likewise.
48220         * m4/canonicalize-lgpl.m4: Likewise.
48221         * m4/chown.m4: Likewise.
48222         * m4/clock_time.m4: Likewise.
48223         * m4/codeset.m4: Likewise.
48224         * m4/copy-file.m4: Likewise.
48225         * m4/csharp.m4: Likewise.
48226         * m4/csharpcomp.m4: Likewise.
48227         * m4/csharpexec.m4: Likewise.
48228         * m4/d-ino.m4: Likewise.
48229         * m4/d-type.m4: Likewise.
48230         * m4/dirfd.m4: Likewise.
48231         * m4/double-slash-root.m4: Likewise.
48232         * m4/eaccess.m4: Likewise.
48233         * m4/eealloc.m4: Likewise.
48234         * m4/environ.m4: Likewise.
48235         * m4/errno_h.m4: Likewise.
48236         * m4/euidaccess.m4: Likewise.
48237         * m4/execute.m4: Likewise.
48238         * m4/fatal-signal.m4: Likewise.
48239         * m4/fchdir.m4: Likewise.
48240         * m4/fcntl_h.m4: Likewise.
48241         * m4/fileblocks.m4: Likewise.
48242         * m4/filenamecat.m4: Likewise.
48243         * m4/findprog.m4: Likewise.
48244         * m4/flexmember.m4: Likewise.
48245         * m4/fnmatch.m4: Likewise.
48246         * m4/fopen.m4: Likewise.
48247         * m4/fpending.m4: Likewise.
48248         * m4/fprintf-posix.m4: Likewise.
48249         * m4/free.m4: Likewise.
48250         * m4/frexp.m4: Likewise.
48251         * m4/frexpl.m4: Likewise.
48252         * m4/fsusage.m4: Likewise.
48253         * m4/ftruncate.m4: Likewise.
48254         * m4/gc-camellia.m4: Likewise.
48255         * m4/gc-random.m4: Likewise.
48256         * m4/gc.m4: Likewise.
48257         * m4/getaddrinfo.m4: Likewise.
48258         * m4/getcwd-abort-bug.m4: Likewise.
48259         * m4/getcwd-path-max.m4: Likewise.
48260         * m4/getdate.m4: Likewise.
48261         * m4/getdomainname.m4: Likewise.
48262         * m4/getgroups.m4: Likewise.
48263         * m4/gethostname.m4: Likewise.
48264         * m4/gethrxtime.m4: Likewise.
48265         * m4/getline.m4: Likewise.
48266         * m4/getloadavg.m4: Likewise.
48267         * m4/getndelim2.m4: Likewise.
48268         * m4/getpass.m4: Likewise.
48269         * m4/gettext.m4: Likewise.
48270         * m4/gettime.m4: Likewise.
48271         * m4/gettimeofday.m4: Likewise.
48272         * m4/gnulib-common.m4: Likewise.
48273         * m4/group-member.m4: Likewise.
48274         * m4/host-os.m4: Likewise.
48275         * m4/iconv.m4: Likewise.
48276         * m4/iconv_open.m4: Likewise.
48277         * m4/inet_ntop.m4: Likewise.
48278         * m4/inet_pton.m4: Likewise.
48279         * m4/inline.m4: Likewise.
48280         * m4/intldir.m4: Likewise.
48281         * m4/intlmacosx.m4: Likewise.
48282         * m4/intmax.m4: Likewise.
48283         * m4/intmax_t.m4: Likewise.
48284         * m4/inttypes.m4: Likewise.
48285         * m4/inttypes_h.m4: Likewise.
48286         * m4/inttypes-pri.m4: Likewise.
48287         * m4/isapipe.m4: Likewise.
48288         * m4/isnand.m4: Likewise.
48289         * m4/isnanf.m4: Likewise.
48290         * m4/isnanl.m4: Likewise.
48291         * m4/javacomp.m4: Likewise.
48292         * m4/javaexec.m4: Likewise.
48293         * m4/jm-winsz1.m4: Likewise.
48294         * m4/jm-winsz2.m4: Likewise.
48295         * m4/lchown.m4: Likewise.
48296         * m4/lcmessage.m4: Likewise.
48297         * m4/ldexpl.m4: Likewise.
48298         * m4/lib-ld.m4: Likewise.
48299         * m4/lib-link.m4: Likewise.
48300         * m4/libsigsegv.m4: Likewise.
48301         * m4/link-follow.m4: Likewise.
48302         * m4/localcharset.m4: Likewise.
48303         * m4/locale-fr.m4: Likewise.
48304         * m4/locale-ja.m4: Likewise.
48305         * m4/locale-tr.m4: Likewise.
48306         * m4/locale-zh.m4: Likewise.
48307         * m4/lock.m4: Likewise.
48308         * m4/longlong.m4: Likewise.
48309         * m4/ls-mntd-fs.m4: Likewise.
48310         * m4/lstat.m4: Likewise.
48311         * m4/malloc.m4: Likewise.
48312         * m4/mathl.m4: Likewise.
48313         * m4/mbrtowc.m4: Likewise.
48314         * m4/mbstate_t.m4: Likewise.
48315         * m4/mbswidth.m4: Likewise.
48316         * m4/memchr.m4: Likewise.
48317         * m4/memcmp.m4: Likewise.
48318         * m4/memcpy.m4: Likewise.
48319         * m4/memmem.m4: Likewise.
48320         * m4/memmove.m4: Likewise.
48321         * m4/mempcpy.m4: Likewise.
48322         * m4/memrchr.m4: Likewise.
48323         * m4/memset.m4: Likewise.
48324         * m4/minmax.m4: Likewise.
48325         * m4/mkdir-slash.m4: Likewise.
48326         * m4/mkdtemp.m4: Likewise.
48327         * m4/mktime.m4: Likewise.
48328         * m4/mmap-anon.m4: Likewise.
48329         * m4/mountlist.m4: Likewise.
48330         * m4/nanosleep.m4: Likewise.
48331         * m4/nls.m4: Likewise.
48332         * m4/nocrash.m4: Likewise.
48333         * m4/open.m4: Likewise.
48334         * m4/openat.m4: Likewise.
48335         * m4/openmp.m4: Likewise.
48336         * m4/pathmax.m4: Likewise.
48337         * m4/perl.m4: Likewise.
48338         * m4/physmem.m4: Likewise.
48339         * m4/pipe.m4: Likewise.
48340         * m4/po.m4: Likewise.
48341         * m4/poll.m4: Likewise.
48342         * m4/posixtm.m4: Likewise.
48343         * m4/posixver.m4: Likewise.
48344         * m4/printf-frexp.m4: Likewise.
48345         * m4/printf-frexpl.m4: Likewise.
48346         * m4/printf-posix.m4: Likewise.
48347         * m4/printf-posix-rpl.m4: Likewise.
48348         * m4/printf.m4: Likewise.
48349         * m4/progtest.m4: Likewise.
48350         * m4/putenv.m4: Likewise.
48351         * m4/readline.m4: Likewise.
48352         * m4/readlink.m4: Likewise.
48353         * m4/readutmp.m4: Likewise.
48354         * m4/realloc.m4: Likewise.
48355         * m4/regex.m4: Likewise.
48356         * m4/relocatable.m4: Likewise.
48357         * m4/relocatable-lib.m4: Likewise.
48358         * m4/rename-dest-slash.m4: Likewise.
48359         * m4/rename.m4: Likewise.
48360         * m4/rmdir-errno.m4: Likewise.
48361         * m4/rmdir.m4: Likewise.
48362         * m4/roundf.m4: Likewise.
48363         * m4/roundl.m4: Likewise.
48364         * m4/rpmatch.m4: Likewise.
48365         * m4/save-cwd.m4: Likewise.
48366         * m4/selinux-selinux-h.m4: Likewise.
48367         * m4/setenv.m4: Likewise.
48368         * m4/settime.m4: Likewise.
48369         * m4/sig2str.m4: Likewise.
48370         * m4/sig_atomic_t.m4: Likewise.
48371         * m4/signalblocking.m4: Likewise.
48372         * m4/signbit.m4: Likewise.
48373         * m4/sigpipe.m4: Likewise.
48374         * m4/sockets.m4: Likewise.
48375         * m4/sockpfaf.m4: Likewise.
48376         * m4/st_dm_mode.m4: Likewise.
48377         * m4/stat-time.m4: Likewise.
48378         * m4/stdbool.m4: Likewise.
48379         * m4/stdint.m4: Likewise.
48380         * m4/stdint_h.m4: Likewise.
48381         * m4/stpcpy.m4: Likewise.
48382         * m4/stpncpy.m4: Likewise.
48383         * m4/strcase.m4: Likewise.
48384         * m4/strchrnul.m4: Likewise.
48385         * m4/strcspn.m4: Likewise.
48386         * m4/strdup.m4: Likewise.
48387         * m4/strftime.m4: Likewise.
48388         * m4/strndup.m4: Likewise.
48389         * m4/strnlen.m4: Likewise.
48390         * m4/strpbrk.m4: Likewise.
48391         * m4/strptime.m4: Likewise.
48392         * m4/strsep.m4: Likewise.
48393         * m4/strtod.m4: Likewise.
48394         * m4/strtoimax.m4: Likewise.
48395         * m4/strtok_r.m4: Likewise.
48396         * m4/strtol.m4: Likewise.
48397         * m4/strtoll.m4: Likewise.
48398         * m4/strtoul.m4: Likewise.
48399         * m4/strtoull.m4: Likewise.
48400         * m4/strtoumax.m4: Likewise.
48401         * m4/strverscmp.m4: Likewise.
48402         * m4/threadlib.m4: Likewise.
48403         * m4/timegm.m4: Likewise.
48404         * m4/tm_gmtoff.m4: Likewise.
48405         * m4/tmpdir.m4: Likewise.
48406         * m4/tmpfile.m4: Likewise.
48407         * m4/tzset.m4: Likewise.
48408         * m4/uintmax_t.m4: Likewise.
48409         * m4/unlinkdir.m4: Likewise.
48410         * m4/unlocked-io.m4: Likewise.
48411         * m4/uptime.m4: Likewise.
48412         * m4/userspec.m4: Likewise.
48413         * m4/utimbuf.m4: Likewise.
48414         * m4/utime.m4: Likewise.
48415         * m4/utimes-null.m4: Likewise.
48416         * m4/utimes.m4: Likewise.
48417         * m4/vararrays.m4: Likewise.
48418         * m4/vasnprintf.m4: Likewise.
48419         * m4/vfprintf-posix.m4: Likewise.
48420         * m4/vprintf-posix.m4: Likewise.
48421         * m4/wait-process.m4: Likewise.
48422         * m4/wchar_t.m4: Likewise.
48423         * m4/wint_t.m4: Likewise.
48424         * m4/write-any-file.m4: Likewise.
48425         * m4/yield.m4: Likewise.
48426
48427 2009-01-13  Bruno Haible  <bruno@clisp.org>
48428
48429         Avoid test-copy-file.sh failures when ACL support insufficient.
48430         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
48431         TESTS_ENVIRONMENT.
48432         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
48433         Reported by Jim Meyering.
48434
48435 2009-01-13  Bruno Haible  <bruno@clisp.org>
48436
48437         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
48438         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
48439         * modules/unistdio/u8-printf-parse (Files): Likewise.
48440         * modules/unistdio/u32-printf-parse (Files): Likewise.
48441         * modules/unistdio/ulc-printf-parse (Files): Likewise.
48442
48443 2009-01-13  Simon Josefsson  <simon@josefsson.org>
48444
48445         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
48446         and m4/inttypes_h.m4 too.
48447
48448 2009-01-12  Eric Blake  <ebb9@byu.net>
48449
48450         tests: IRIX 6.2 cc can't compile -0.0 into .data
48451         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
48452         rather than at compile-time.
48453         * tests/test-floorl.c (minus_zero): Likewise.
48454         * tests/test-frexpl.c (minus_zero): Likewise.
48455         * tests/test-isnan.c (minus_zerol): Likewise.
48456         * tests/test-isnanl.h (minus_zero): Likewise.
48457         * tests/test-ldexpl.c (minus_zero): Likewise.
48458         * tests/test-roundl.c (minus_zero): Likewise.
48459         * tests/test-signbit.c (minus_zerol): Likewise.
48460         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
48461         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
48462         * tests/test-truncl.c (minus_zero): Likewise.
48463         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
48464         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
48465         Reported by Tom G. Christensen and Nelson H. F. Beebe.
48466
48467 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
48468
48469         regex: fix glibc bug 9697
48470         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
48471         handling.
48472
48473 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
48474
48475         regex: fix glibc bug 697
48476         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
48477         being NULL also if there are no backreferences.
48478
48479 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
48480
48481         regex: merge glibc changes
48482         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
48483         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
48484         re_string_skip_chars, re_string_reconstruct): Likewise.
48485         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
48486
48487 2009-01-07  Jim Meyering  <meyering@redhat.com>
48488
48489         poll: filter through cppi
48490         * lib/poll.c: Indent cpp directives to reflect nesting.
48491
48492 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
48493
48494         poll: don't return uninitialized
48495         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
48496
48497 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
48498
48499         avoid compile failure on AIX 6.1
48500         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
48501         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
48502
48503 2009-01-04  Jim Meyering  <meyering@redhat.com>
48504
48505         remove duplicate inclusion of <stdio.h>
48506         * tests/test-fprintf-posix.c: Likewise.
48507         * tests/test-printf-posix.c: Likewise.
48508         * tests/test-snprintf-posix.c: Likewise.
48509         * tests/test-sprintf-posix.c: Likewise.
48510         * tests/test-vasprintf-posix.c: Likewise.
48511         * tests/test-vfprintf-posix.c: Likewise.
48512         * tests/test-vprintf-posix.c: Likewise.
48513         * tests/test-vsnprintf-posix.c: Likewise.
48514         * tests/test-vsprintf-posix.c: Likewise.
48515
48516 2009-01-03  Jim Meyering  <meyering@redhat.com>
48517
48518         gnulib-tool: fix sed-based filtering
48519         * gnulib-tool (func_filter_filelist): Remove extra backslash
48520         in sed_fff_filter definition.
48521
48522 2009-01-02  Jim Meyering  <meyering@redhat.com>
48523
48524         strftime: avoid compilation failure on Solaris 2.6
48525         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
48526         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
48527         Don't #define mbrlen or mbsinit, since now they're guaranteed to
48528         be available.  Reported by Tom G. Christensen.  Details in
48529         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
48530
48531 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48532             Bruno Haible  <bruno@clisp.org>
48533
48534         Speed up gnulib-tool by doing more string processing through shell
48535         built-ins.
48536         * gnulib-tool (fast_func_append): New variable.
48537         (func_remove_prefix, func_remove_suffix): New functions.
48538         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
48539         (func_filter_filelist): New function.
48540         (func_get_dependencies): Use func_remove_suffix instead of sed.
48541         (func_get_automake_snippet): Use func_filter_filelist instead of a
48542         subshell and sed invocation.
48543
48544 2009-01-01  Bruno Haible  <bruno@clisp.org>
48545
48546         Fix a security bug.
48547         * gnulib-tool (func_import, import, update): Don't allow the characters
48548         '"', '$', '`', '\' in macro arguments that become part of commands that
48549         are evaluated.
48550
48551 2009-01-01  Bruno Haible  <bruno@clisp.org>
48552
48553         * gnulib-tool (func_reset_sigpipe): Add more comments.
48554
48555 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48556
48557         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
48558         func_emit_tests_Makefile_am, func_import): Abort loops early if we
48559         already know the answer.
48560
48561 2009-01-01  Jim Meyering  <meyering@redhat.com>
48562
48563         * lib/version-etc.c (version_etc_va): Update copyright year.
48564
48565 2008-12-30  Bruno Haible  <bruno@clisp.org>
48566
48567         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
48568         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
48569         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
48570
48571 2008-12-29  Eric Blake  <ebb9@byu.net>
48572
48573         multiarch: avoid autoconf AC_REQUIRE bug
48574         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
48575         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
48576         2.63 and older.
48577         Reported by Bruno Haible, and analyzed in
48578         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
48579
48580 2008-12-29  Bruno Haible  <bruno@clisp.org>
48581
48582         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
48583         files in subdirectories correctly.
48584         Reported by Ralf Wildenhues.
48585
48586 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48587
48588         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
48589         rather than 'join FILE -', for Solaris join.
48590
48591 2008-12-29  Bruno Haible  <bruno@clisp.org>
48592
48593         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
48594         quoting.
48595         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
48596         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
48597         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
48598         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
48599         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
48600         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
48601         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
48602         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
48603         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
48604         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
48605         * m4/nls.m4 (AM_NLS): Likewise.
48606         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
48607         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
48608         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
48609         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
48610         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
48611         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
48612         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
48613         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
48614         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
48615         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
48616         * m4/xsize.m4 (gl_XSIZE): Likewise.
48617         Suggested by Jim Meyering.
48618
48619 2008-11-17  Bruce Korb  <bkorb@gnu.org>
48620
48621         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
48622         * lib/parse-duration.c: use a switch instead of cascading if's.
48623
48624 2008-12-29  Eric Blake  <ebb9@byu.net>
48625
48626         wchar.h: supply WEOF on Irix 5.3
48627         * lib/wchar.in.h (wint_t): Also supply WEOF.
48628         * lib/wctype.in.h (wint_t): Likewise.
48629         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
48630         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
48631         Reported by Tom G. Christensen.
48632
48633 2008-12-26  Bruno Haible  <bruno@clisp.org>
48634
48635         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
48636         i486, i586, i686.
48637
48638 2008-12-26  Bruno Haible  <bruno@clisp.org>
48639
48640         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
48641
48642 2008-12-26  Bruno Haible  <bruno@clisp.org>
48643
48644         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
48645         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
48646         not __STDC_CONSTANT_MACROS.
48647         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
48648
48649 2008-12-25  Bruno Haible  <bruno@clisp.org>
48650
48651         Add support for universal builds to vasnprintf.
48652         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
48653         universal builds, guess no.
48654         * modules/vasnprintf-posix (Depends-on): Add multiarch.
48655         * modules/vasprintf-posix (Depends-on): Likewise.
48656         * modules/fprintf-posix (Depends-on): Likewise.
48657         * modules/vfprintf-posix (Depends-on): Likewise.
48658         * modules/snprintf-posix (Depends-on): Likewise.
48659         * modules/vsnprintf-posix (Depends-on): Likewise.
48660         * modules/sprintf-posix (Depends-on): Likewise.
48661         * modules/vsprintf-posix (Depends-on): Likewise.
48662         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
48663         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
48664         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
48665         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
48666         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
48667         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
48668         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
48669
48670         Add support for universal builds to <inttypes.h>.
48671         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
48672         _SCNu64_PREFIX): In Apple
48673         universal builds, define directly, using _LP64.
48674         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
48675         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
48676         * modules/inttypes (Depends-on): Add multiarch.
48677         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
48678
48679         Add support for universal builds to <stdint.h>.
48680         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
48681         universal builds, define directly, using _LP64.
48682         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
48683         Apple universal builds, don't test for the size and suffix of ptrdiff_t
48684         and size_t.
48685         * modules/stdint (Depends-on): Add multiarch.
48686         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
48687
48688         New module 'multiarch'.
48689         * modules/multiarch: New file.
48690         * m4/multiarch.m4: New file.
48691
48692 2008-12-25  Bruno Haible  <bruno@clisp.org>
48693
48694         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
48695
48696 2008-12-25  Bruno Haible  <bruno@clisp.org>
48697
48698         * modules/btowc (License): Relicense under LGPLv2+.
48699         * modules/mbsinit (License): Likewise.
48700         * modules/mbrtowc (License): Likewise.
48701         * modules/wcrtomb (License): Likewise.
48702         * modules/streq (License): Likewise.
48703         Reported by David Lutterkort <lutter@redhat.com>.
48704
48705 2008-12-23  Bruno Haible  <bruno@clisp.org>
48706
48707         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
48708
48709 2008-12-23  Bruno Haible  <bruno@clisp.org>
48710
48711         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
48712         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
48713         GETADDRINFO_LIB, not in LIBS.
48714         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
48715         * modules/canon-host (Link): Likewise.
48716         * NEWS: Mention the change.
48717         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
48718         GETADDRINFO_LIB.
48719
48720 2008-12-22  Bruno Haible  <bruno@clisp.org>
48721
48722         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
48723         * doc/posix-functions/iswalpha_l.texi: Likewise.
48724         * doc/posix-functions/iswblank_l.texi: Likewise.
48725         * doc/posix-functions/iswcntrl_l.texi: Likewise.
48726         * doc/posix-functions/iswctype_l.texi: Likewise.
48727         * doc/posix-functions/iswdigit_l.texi: Likewise.
48728         * doc/posix-functions/iswgraph_l.texi: Likewise.
48729         * doc/posix-functions/iswlower_l.texi: Likewise.
48730         * doc/posix-functions/iswprint_l.texi: Likewise.
48731         * doc/posix-functions/iswpunct_l.texi: Likewise.
48732         * doc/posix-functions/iswspace_l.texi: Likewise.
48733         * doc/posix-functions/iswupper_l.texi: Likewise.
48734         * doc/posix-functions/iswxdigit_l.texi: Likewise.
48735         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
48736         * doc/posix-functions/open_wmemstream.texi: Likewise.
48737         * doc/posix-functions/swscanf.texi: Likewise.
48738         * doc/posix-functions/towctrans_l.texi: Likewise.
48739         * doc/posix-functions/towlower.texi: Likewise.
48740         * doc/posix-functions/towlower_l.texi: Likewise.
48741         * doc/posix-functions/towupper.texi: Likewise.
48742         * doc/posix-functions/towupper_l.texi: Likewise.
48743         * doc/posix-functions/vfwprintf.texi: Likewise.
48744         * doc/posix-functions/vfwscanf.texi: Likewise.
48745         * doc/posix-functions/vswscanf.texi: Likewise.
48746         * doc/posix-functions/vwprintf.texi: Likewise.
48747         * doc/posix-functions/vwscanf.texi: Likewise.
48748         * doc/posix-functions/wcpcpy.texi: Likewise.
48749         * doc/posix-functions/wcpncpy.texi: Likewise.
48750         * doc/posix-functions/wcscasecmp.texi: Likewise.
48751         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
48752         * doc/posix-functions/wcscoll_l.texi: Likewise.
48753         * doc/posix-functions/wcsdup.texi: Likewise.
48754         * doc/posix-functions/wcsncasecmp.texi: Likewise.
48755         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
48756         * doc/posix-functions/wcsnlen.texi: Likewise.
48757         * doc/posix-functions/wcsnrtombs.texi: Likewise.
48758         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
48759         * doc/posix-functions/wctrans_l.texi: Likewise.
48760         * doc/posix-functions/wctype_l.texi: Likewise.
48761         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
48762         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
48763         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
48764         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
48765         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
48766         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
48767         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
48768         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
48769         * doc/glibc-functions/wcschrnul.texi: Likewise.
48770         * doc/glibc-functions/wcsftime_l.texi: Likewise.
48771         * doc/glibc-functions/wcstod_l.texi: Likewise.
48772         * doc/glibc-functions/wcstof_l.texi: Likewise.
48773         * doc/glibc-functions/wcstol_l.texi: Likewise.
48774         * doc/glibc-functions/wcstold_l.texi: Likewise.
48775         * doc/glibc-functions/wcstoll_l.texi: Likewise.
48776         * doc/glibc-functions/wcstoq.texi: Likewise.
48777         * doc/glibc-functions/wcstoul_l.texi: Likewise.
48778         * doc/glibc-functions/wcstoull_l.texi: Likewise.
48779         * doc/glibc-functions/wcstouq.texi: Likewise.
48780         * doc/glibc-functions/wmempcpy.texi: Likewise.
48781
48782 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
48783             Eric Blake  <ebb9@byu.net>
48784             Paolo Bonzini  <bonzini@gnu.org>
48785             Bruno Haible  <bruno@clisp.org>
48786
48787         Make c-stack work on Haiku.
48788         * lib/c-stack.c (SA_ONSTACK): Define fallback.
48789         (c_stack_action): Use SA_ONSTACK flag.
48790
48791 2008-12-22  Bruno Haible  <bruno@clisp.org>
48792
48793         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
48794
48795 2008-12-22  Bruno Haible  <bruno@clisp.org>
48796
48797         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
48798         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
48799         being overridden.
48800         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
48801         New macros.
48802         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
48803         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
48804         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
48805         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
48806
48807 2008-12-22  Bruno Haible  <bruno@clisp.org>
48808
48809         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
48810         from test code.
48811
48812 2008-12-22  Eric Blake  <ebb9@byu.net>
48813
48814         Avoid gcc warnings on cygwin.
48815         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
48816         Avoid unused variable.
48817         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
48818         Likewise.
48819
48820 2008-12-22  Bruno Haible  <bruno@clisp.org>
48821
48822         Remove HAVE_MBRTOWC conditionals.
48823         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
48824         (mbscasecmp): Assume mbrtowc function.
48825         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
48826         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
48827         * lib/mbschr.c: Include mbuiter.h unconditionally.
48828         (mbschr): Assume mbrtowc function.
48829         * lib/mbscspn.c: Include mbuiter.h unconditionally.
48830         (mbscspn): Assume mbrtowc function.
48831         * lib/mbslen.c: Include mbuiter.h unconditionally.
48832         (mbslen): Assume mbrtowc function.
48833         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
48834         (mbsncasecmp): Assume mbrtowc function.
48835         * lib/mbsnlen.c: Include mbiter.h unconditionally.
48836         (mbsnlen): Assume mbrtowc function.
48837         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
48838         (mbspbrk): Assume mbrtowc function.
48839         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
48840         (mbspcasecmp): Assume mbrtowc function.
48841         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
48842         (mbsrchr): Assume mbrtowc function.
48843         * lib/mbssep.c: Include mbuiter.h unconditionally.
48844         (mbssep): Assume mbrtowc function.
48845         * lib/mbsspn.c: Include mbuiter.h unconditionally.
48846         (mbsspn): Assume mbrtowc function.
48847         * lib/mbsstr.c: Include mbuiter.h unconditionally.
48848         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
48849         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
48850         (mbstok_r): Assume mbrtowc function.
48851         * lib/propername.c: Include mbuiter.h unconditionally.
48852         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
48853         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
48854         (trim2): Assume mbrtowc function.
48855         * lib/mbswidth.c (mbsinit): Remove fallback definition.
48856         (mbsnwidth): Assume mbrtowc function.
48857         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
48858         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
48859         fallback definitions.
48860         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
48861
48862 2008-12-22  Bruno Haible  <bruno@clisp.org>
48863
48864         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
48865
48866 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
48867
48868         * modules/regex: Request emulations for the mb*/wc* functions we need.
48869         * m4/regex.m4: Don't look for those functions here.
48870         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
48871
48872 2008-12-22  Bruno Haible  <bruno@clisp.org>
48873
48874         * modules/fnmatch (Depends-on): Remove duplicated dependency.
48875
48876 2008-12-21  Bruno Haible  <bruno@clisp.org>
48877
48878         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
48879         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
48880         (Include): Remove conditionalization.
48881         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
48882         (Include): Remove conditionalization.
48883         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
48884         (Include): Remove conditionalization.
48885         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
48886         * m4/mbfile.m4 (gl_MBFILE): Likewise.
48887         * NEWS: Mention the change.
48888         Reported by Alan Hourihane <alanh@fairlite.co.uk>
48889         via Sergey Poznyakoff <gray@gnu.org.ua>.
48890
48891 2008-12-21  Bruno Haible  <bruno@clisp.org>
48892
48893         * MODULES.html.sh (Extended multibyte and wide character utilities
48894         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
48895         wcrtomb, wcsrtombs.
48896         (Support for systems lacking POSIX:2008): Add accept, bind, close,
48897         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
48898         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
48899         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
48900
48901 2008-12-21  Bruno Haible  <bruno@clisp.org>
48902
48903         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
48904
48905 2008-12-21  Bruno Haible  <bruno@clisp.org>
48906
48907         * modules/wcsnrtombs-tests: New file.
48908         * tests/test-wcsnrtombs1.sh: New file.
48909         * tests/test-wcsnrtombs2.sh: New file.
48910         * tests/test-wcsnrtombs3.sh: New file.
48911         * tests/test-wcsnrtombs4.sh: New file.
48912         * tests/test-wcsnrtombs.c: New file.
48913
48914         New module 'wcsnrtombs'.
48915         * lib/wchar.in.h (wcsnrtombs): New declaration.
48916         * lib/wcsnrtombs.c: New file.
48917         * lib/wcsrtombs-state.c: New file.
48918         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
48919         (internal_state): Remove variable.
48920         * m4/wcsnrtombs.m4: New file.
48921         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
48922         compilation units.
48923         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
48924         HAVE_WCSNRTOMBS.
48925         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
48926         HAVE_WCSNRTOMBS.
48927         * modules/wcsnrtombs: New file.
48928         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
48929         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
48930
48931 2008-12-21  Bruno Haible  <bruno@clisp.org>
48932
48933         * modules/wcsrtombs-tests: New file.
48934         * tests/test-wcsrtombs1.sh: New file.
48935         * tests/test-wcsrtombs2.sh: New file.
48936         * tests/test-wcsrtombs3.sh: New file.
48937         * tests/test-wcsrtombs4.sh: New file.
48938         * tests/test-wcsrtombs.c: New file.
48939
48940         New module 'wcsrtombs'.
48941         * lib/wchar.in.h (wcsrtombs): New declaration.
48942         * lib/wcsrtombs.c: New file.
48943         * m4/wcsrtombs.m4: New file.
48944         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
48945         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
48946         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
48947         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
48948         * modules/wcsrtombs: New file.
48949         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
48950         bugs.
48951
48952 2008-12-21  Bruno Haible  <bruno@clisp.org>
48953
48954         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
48955         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
48956         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
48957         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
48958         if not correct.
48959         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
48960         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
48961         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
48962         m4/locale-zh.m4, m4/codeset.m4.
48963         * doc/posix-functions/wcrtomb.texi: Document the bug.
48964
48965 2008-12-21  Bruno Haible  <bruno@clisp.org>
48966
48967         Work around a btowc() bug on IRIX 6.5.
48968         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
48969         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
48970         REPLACE_WTOBC if not.
48971         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
48972         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
48973         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
48974
48975 2008-12-21  Bruno Haible  <bruno@clisp.org>
48976
48977         * modules/wcrtomb-tests: New file.
48978         * tests/test-wcrtomb.sh: New file.
48979         * tests/test-wcrtomb.c: New file.
48980
48981         New module 'wcrtomb'.
48982         * lib/wchar.in.h (wcrtomb): New declaration.
48983         * lib/wcrtomb.c: New file.
48984         * m4/wcrtomb.m4: New file.
48985         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
48986         HAVE_WCRTOMB.
48987         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
48988         HAVE_WCRTOMB.
48989         * modules/wcrtomb: New file.
48990         * doc/posix-functions/wcrtomb.texi: Mention the new module.
48991
48992 2008-12-21  Bruno Haible  <bruno@clisp.org>
48993
48994         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
48995         * modules/mbsrtowcs (Files): Likewise.
48996         * modules/wctob (Files): Likewise.
48997         * modules/c-strcase-tests (Files): Likewise.
48998         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
48999         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
49000         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
49001         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
49002         * modules/vasnprintf-posix-tests (Files): Likewise.
49003
49004 2008-12-21  William Pursell  <bill.pursell@gmail.com>
49005
49006         gitlog-to-changelog: pass all command-line arguments to git-log
49007         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
49008         it is sometimes convenient to filter the commits in various ways.
49009         gitlog-to-changelog only allows --since to specify a start date,
49010         but git-log itself supports many other filtering mechanisms.
49011         At the moment, I want to filter by branch name.  Rather than
49012         adding a --branch option to gitlog-to-changelog, it seems more
49013         flexible to simply pass all options directly to git-log and let
49014         git do the work.  Notice that this effectively makes --since a
49015         redundant option for gitlog-to-changelog, but removing it would
49016         require current usage to change since calls would then require
49017         an additional '--'.
49018
49019 2008-12-21  Bruno Haible  <bruno@clisp.org>
49020
49021         * modules/mbsnrtowcs-tests: New file.
49022         * tests/test-mbsnrtowcs1.sh: New file.
49023         * tests/test-mbsnrtowcs2.sh: New file.
49024         * tests/test-mbsnrtowcs3.sh: New file.
49025         * tests/test-mbsnrtowcs4.sh: New file.
49026         * tests/test-mbsnrtowcs.c: New file.
49027
49028         New module 'mbsnrtowcs'.
49029         * lib/wchar.in.h (mbsnrtowcs): New declaration.
49030         * lib/mbsnrtowcs.c: New file.
49031         * lib/mbsrtowcs-state.c: New file.
49032         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
49033         (internal_state): Remove variable.
49034         * m4/mbsnrtowcs.m4: New file.
49035         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
49036         compilation units.
49037         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
49038         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
49039         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
49040         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
49041         * modules/mbsnrtowcs: New file.
49042         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
49043         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
49044         portability problem.
49045
49046 2008-12-21  Bruno Haible  <bruno@clisp.org>
49047
49048         Work around mbsrtowcs bug.
49049         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
49050         (gl_FUNC_MBSRTOWCS): Invoke it.
49051         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
49052         m4/locale-zh.m4.
49053         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
49054
49055 2008-12-21  Bruno Haible  <bruno@clisp.org>
49056
49057         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
49058
49059 2008-12-21  Bruno Haible  <bruno@clisp.org>
49060
49061         Update doc for AIX.
49062         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
49063         16-bit wchar_t type.
49064         * doc/posix-functions/btowc.texi: Likewise.
49065         * doc/posix-functions/fgetwc.texi: Likewise.
49066         * doc/posix-functions/fgetws.texi: Likewise.
49067         * doc/posix-functions/fputwc.texi: Likewise.
49068         * doc/posix-functions/fputws.texi: Likewise.
49069         * doc/posix-functions/fwide.texi: Likewise.
49070         * doc/posix-functions/fwprintf.texi: Likewise.
49071         * doc/posix-functions/fwscanf.texi: Likewise.
49072         * doc/posix-functions/getwchar.texi: Likewise.
49073         * doc/posix-functions/getwc.texi: Likewise.
49074         * doc/posix-functions/iswalnum.texi: Likewise.
49075         * doc/posix-functions/iswalpha.texi: Likewise.
49076         * doc/posix-functions/iswblank.texi: Likewise.
49077         * doc/posix-functions/iswcntrl.texi: Likewise.
49078         * doc/posix-functions/iswctype.texi: Likewise.
49079         * doc/posix-functions/iswdigit.texi: Likewise.
49080         * doc/posix-functions/iswgraph.texi: Likewise.
49081         * doc/posix-functions/iswlower.texi: Likewise.
49082         * doc/posix-functions/iswprint.texi: Likewise.
49083         * doc/posix-functions/iswpunct.texi: Likewise.
49084         * doc/posix-functions/iswspace.texi: Likewise.
49085         * doc/posix-functions/iswupper.texi: Likewise.
49086         * doc/posix-functions/iswxdigit.texi: Likewise.
49087         * doc/posix-functions/mbrtowc.texi: Likewise.
49088         * doc/posix-functions/mbsrtowcs.texi: Likewise.
49089         * doc/posix-functions/mbstowcs.texi: Likewise.
49090         * doc/posix-functions/mbtowc.texi: Likewise.
49091         * doc/posix-functions/putwchar.texi: Likewise.
49092         * doc/posix-functions/putwc.texi: Likewise.
49093         * doc/posix-functions/swprintf.texi: Likewise.
49094         * doc/posix-functions/tolower.texi: Likewise.
49095         * doc/posix-functions/toupper.texi: Likewise.
49096         * doc/posix-functions/towctrans.texi: Likewise.
49097         * doc/posix-functions/ungetwc.texi: Likewise.
49098         * doc/posix-functions/vswprintf.texi: Likewise.
49099         * doc/posix-functions/wcrtomb.texi: Likewise.
49100         * doc/posix-functions/wcscat.texi: Likewise.
49101         * doc/posix-functions/wcschr.texi: Likewise.
49102         * doc/posix-functions/wcscmp.texi: Likewise.
49103         * doc/posix-functions/wcscoll.texi: Likewise.
49104         * doc/posix-functions/wcscpy.texi: Likewise.
49105         * doc/posix-functions/wcscspn.texi: Likewise.
49106         * doc/posix-functions/wcsftime.texi: Likewise.
49107         * doc/posix-functions/wcslen.texi: Likewise.
49108         * doc/posix-functions/wcsncat.texi: Likewise.
49109         * doc/posix-functions/wcsncmp.texi: Likewise.
49110         * doc/posix-functions/wcsncpy.texi: Likewise.
49111         * doc/posix-functions/wcspbrk.texi: Likewise.
49112         * doc/posix-functions/wcsrchr.texi: Likewise.
49113         * doc/posix-functions/wcsrtombs.texi: Likewise.
49114         * doc/posix-functions/wcsspn.texi: Likewise.
49115         * doc/posix-functions/wcsstr.texi: Likewise.
49116         * doc/posix-functions/wcstod.texi: Likewise.
49117         * doc/posix-functions/wcstof.texi: Likewise.
49118         * doc/posix-functions/wcstoimax.texi: Likewise.
49119         * doc/posix-functions/wcstok.texi: Likewise.
49120         * doc/posix-functions/wcstold.texi: Likewise.
49121         * doc/posix-functions/wcstoll.texi: Likewise.
49122         * doc/posix-functions/wcstol.texi: Likewise.
49123         * doc/posix-functions/wcstombs.texi: Likewise.
49124         * doc/posix-functions/wcstoull.texi: Likewise.
49125         * doc/posix-functions/wcstoul.texi: Likewise.
49126         * doc/posix-functions/wcstoumax.texi: Likewise.
49127         * doc/posix-functions/wcswidth.texi: Likewise.
49128         * doc/posix-functions/wcsxfrm.texi: Likewise.
49129         * doc/posix-functions/wctob.texi: Likewise.
49130         * doc/posix-functions/wctomb.texi: Likewise.
49131         * doc/posix-functions/wctrans.texi: Likewise.
49132         * doc/posix-functions/wctype.texi: Likewise.
49133         * doc/posix-functions/wcwidth.texi: Likewise.
49134         * doc/posix-functions/wmemchr.texi: Likewise.
49135         * doc/posix-functions/wmemcmp.texi: Likewise.
49136         * doc/posix-functions/wmemcpy.texi: Likewise.
49137         * doc/posix-functions/wmemmove.texi: Likewise.
49138         * doc/posix-functions/wmemset.texi: Likewise.
49139         * doc/posix-functions/wprintf.texi: Likewise.
49140         * doc/posix-functions/wscanf.texi: Likewise.
49141
49142 2008-12-21  Bruno Haible  <bruno@clisp.org>
49143
49144         Update doc for HP-UX 11.11.
49145         * doc/posix-functions/btowc.texi: Clarify that the function is missing
49146         in HP-UX version 11.00, not in all versions of HP-UX 11.
49147         * doc/posix-functions/fwide.texi: Likewise.
49148         * doc/posix-functions/fwprintf.texi: Likewise.
49149         * doc/posix-functions/fwscanf.texi: Likewise.
49150         * doc/posix-functions/inet_ntop.texi: Likewise.
49151         * doc/posix-functions/inet_pton.texi: Likewise.
49152         * doc/posix-functions/mbrlen.texi: Likewise.
49153         * doc/posix-functions/mbrtowc.texi: Likewise.
49154         * doc/posix-functions/mbsinit.texi: Likewise.
49155         * doc/posix-functions/mbsrtowcs.texi: Likewise.
49156         * doc/posix-functions/swprintf.texi: Likewise.
49157         * doc/posix-functions/swscanf.texi: Likewise.
49158         * doc/posix-functions/towctrans.texi: Likewise.
49159         * doc/posix-functions/vfwprintf.texi: Likewise.
49160         * doc/posix-functions/vswprintf.texi: Likewise.
49161         * doc/posix-functions/vwprintf.texi: Likewise.
49162         * doc/posix-functions/wcrtomb.texi: Likewise.
49163         * doc/posix-functions/wcsrtombs.texi: Likewise.
49164         * doc/posix-functions/wcsstr.texi: Likewise.
49165         * doc/posix-functions/wctob.texi: Likewise.
49166         * doc/posix-functions/wctrans.texi: Likewise.
49167         * doc/posix-functions/wmemchr.texi: Likewise.
49168         * doc/posix-functions/wmemcmp.texi: Likewise.
49169         * doc/posix-functions/wmemcpy.texi: Likewise.
49170         * doc/posix-functions/wmemmove.texi: Likewise.
49171         * doc/posix-functions/wmemset.texi: Likewise.
49172         * doc/posix-functions/wprintf.texi: Likewise.
49173         * doc/posix-functions/wscanf.texi: Likewise.
49174
49175 2008-12-21  Bruno Haible  <bruno@clisp.org>
49176
49177         Work around a portability problem.
49178         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
49179         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
49180
49181 2008-12-20  Bruno Haible  <bruno@clisp.org>
49182
49183         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
49184         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
49185         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
49186         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
49187         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
49188
49189         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
49190         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
49191         set.
49192         (GNULIB_defined_mbstate_t): New macro.
49193         (mbsinit): Redefine if REPLACE_MBSINIT is set.
49194         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
49195         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
49196         reuses the system's mbrtowc function but works around the bugs.
49197         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
49198         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
49199         macros.
49200         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
49201         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
49202         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
49203         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
49204         REPLACE_MBSINIT if mbsinit needs to be overridden.
49205         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
49206         REPLACE_MBSINIT, REPLACE_MBRTOWC.
49207         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
49208         REPLACE_MBSINIT, REPLACE_MBRTOWC.
49209         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
49210         m4/locale-zh.m4.
49211         (Depends): Add mbsinit.
49212         * modules/mbsinit (Depends): Add mbrtowc.
49213         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
49214
49215 2008-12-20  Bruno Haible  <bruno@clisp.org>
49216
49217         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
49218         so that there are no conversion errors on AIX.
49219         * tests/test-mbsrtowcs.c (main): LIkewise.
49220
49221 2008-12-20  Bruno Haible  <bruno@clisp.org>
49222
49223         Work around wctob bug on Solaris <= 9.
49224         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
49225         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
49226         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
49227         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
49228         * modules/wctob (Files): Add m4/locale-fr.m4.
49229         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
49230
49231 2008-12-20  Bruno Haible  <bruno@clisp.org>
49232
49233         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
49234         /dev/null.
49235         * tests/test-select-in.sh: Likewise.
49236         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49237
49238 2008-12-20  Bruno Haible  <bruno@clisp.org>
49239
49240         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
49241         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
49242         Cygwin 1.5.x.
49243
49244 2008-12-20  Bruno Haible  <bruno@clisp.org>
49245
49246         Ensure mbstate_t is defined on HP-UX 11.11.
49247         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
49248         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
49249         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
49250         AC_USE_SYSTEM_EXTENSIONS.
49251         * modules/fnmatch (Depends-on): Add extensions.
49252         * modules/mbrlen (Depends-on): Likewise.
49253         * modules/mbrtowc (Depends-on): Likewise.
49254         * modules/mbsinit (Depends-on): Likewise.
49255         * modules/mbsrtowcs (Depends-on): Likewise.
49256         * modules/mbswidth (Depends-on): Likewise.
49257         * modules/quotearg (Depends-on): Likewise.
49258         * modules/strftime (Depends-on): Likewise.
49259
49260 2008-12-20  Bruno Haible  <bruno@clisp.org>
49261
49262         Ensure wctob is declared on IRIX 6.5.
49263         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
49264         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
49265         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
49266         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
49267         of HAVE_WCTOB.
49268         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
49269         HAVE_WCTOB.
49270         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
49271
49272 2008-12-19  Bruno Haible  <bruno@clisp.org>
49273
49274         * modules/mbsrtowcs-tests: New file.
49275         * tests/test-mbsrtowcs1.sh: New file.
49276         * tests/test-mbsrtowcs2.sh: New file.
49277         * tests/test-mbsrtowcs3.sh: New file.
49278         * tests/test-mbsrtowcs4.sh: New file.
49279         * tests/test-mbsrtowcs.c: New file.
49280
49281         New module 'mbsrtowcs'.
49282         * lib/wchar.in.h (mbsrtowcs): New declaration.
49283         * lib/mbsrtowcs.c: New file.
49284         * m4/mbsrtowcs.m4: New file.
49285         * modules/mbsrtowcs: New file.
49286         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
49287         HAVE_MBSRTOWCS.
49288         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
49289         HAVE_MBSRTOWCS.
49290         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
49291
49292 2008-12-19  Bruno Haible  <bruno@clisp.org>
49293
49294         New module 'mbrlen'.
49295         * lib/wchar.in.h (mbrlen): New declaration.
49296         * lib/mbrlen.c: New file.
49297         * m4/mbrlen.m4: New file.
49298         * modules/mbrlen: New file.
49299         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
49300         HAVE_MBRLEN.
49301         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
49302         HAVE_MBRLEN.
49303         * doc/posix-functions/mbrlen.texi: Document the new module.
49304
49305 2008-12-19  Bruno Haible  <bruno@clisp.org>
49306
49307         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
49308         * modules/mbrtowc (Depends-on): Add verify.
49309         Suggested by Paul Eggert.
49310
49311 2008-12-18  Bruno Haible  <bruno@clisp.org>
49312
49313         * modules/mbsinit-tests: New file.
49314         * tests/test-mbsinit.sh: New file.
49315         * tests/test-mbsinit.c: New file.
49316
49317 2008-12-18  Bruno Haible  <bruno@clisp.org>
49318
49319         * modules/mbrtowc-tests: New file.
49320         * tests/test-mbrtowc1.sh: New file.
49321         * tests/test-mbrtowc2.sh: New file.
49322         * tests/test-mbrtowc3.sh: New file.
49323         * tests/test-mbrtowc4.sh: New file.
49324         * tests/test-mbrtowc.c: New file.
49325
49326         New module 'mbrtowc'.
49327         * lib/wchar.in.h (mbstate_t): Override when the system does not have
49328         mbsinit and mbrtowc.
49329         (mbrtowc): New declaration.
49330         * lib/mbrtowc.c: New file.
49331         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
49332         * modules/mbrtowc: New file.
49333         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
49334         HAVE_MBRTOWC.
49335         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
49336         HAVE_MBRTOWC.
49337         * doc/posix-functions/mbrtowc.texi: Document the new module.
49338
49339 2008-12-18  Bruno Haible  <bruno@clisp.org>
49340
49341         New module 'wctob'.
49342         * lib/wchar.in.h (wctob): New declaration.
49343         * lib/wctob.c: New file.
49344         * m4/wctob.m4: New file.
49345         * modules/wctob: New file.
49346         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
49347         HAVE_WCTOB.
49348         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
49349         * doc/posix-functions/wctob.texi: Document the new module.
49350
49351 2008-12-18  Bruno Haible  <bruno@clisp.org>
49352
49353         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
49354         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
49355
49356 2008-12-18  Simon Josefsson  <simon@josefsson.org>
49357
49358         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
49359         G. Christensen" <tgc@jupiterrise.com>.
49360
49361         * lib/flock.c: Need to include errno.h.  Reported by "Tom
49362         G. Christensen" <tgc@jupiterrise.com>.
49363
49364         * lib/flock.c: Need to include string.h.  Reported by "Tom
49365         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
49366         <ebb9@byu.net>.
49367
49368 2008-12-18  Bruno Haible  <bruno@clisp.org>
49369
49370         * m4/locale-ja.m4: New file, from GNU gettext.
49371
49372 2008-12-17  Bruno Haible  <bruno@clisp.org>
49373
49374         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
49375         Suggested by Eric Blake.
49376
49377 2008-12-17  Bruno Haible  <bruno@clisp.org>
49378
49379         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
49380
49381 2008-12-17  Bruno Haible  <bruno@clisp.org>
49382
49383         * lib/mbsinit.c: Include verify.h. Verify an assumption.
49384         * modules/mbsinit (Depends-on): Add verify.
49385         Suggested by Paul Eggert.
49386
49387 2008-12-17  Bruno Haible  <bruno@clisp.org>
49388
49389         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
49390         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
49391         gl_FUNC_MBRTOWC.
49392         * m4/mbiter.m4 (gl_MBITER): LIkewise.
49393         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
49394         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
49395         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
49396         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
49397         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
49398         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
49399         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
49400         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
49401         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
49402         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
49403         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
49404         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
49405         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
49406         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
49407         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
49408         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
49409         * modules/trim (configure.ac): Likewise.
49410
49411 2008-12-17  Bruno Haible  <bruno@clisp.org>
49412
49413         * modules/btowc-tests: New file.
49414         * tests/test-btowc1.sh: New file.
49415         * tests/test-btowc2.sh: New file.
49416         * tests/test-btowc.c: New file.
49417
49418         New module 'btowc'.
49419         * lib/wchar.in.h (btowc): New declaration.
49420         * lib/btowc.c: New file.
49421         * m4/btowc.m4: New file.
49422         * modules/btowc: New file.
49423         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
49424         HAVE_BTOWC.
49425         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
49426         * doc/posix-functions/btowc.texi: Document the new module.
49427
49428 2008-12-17  Bruno Haible  <bruno@clisp.org>
49429
49430         New module 'mbsinit'.
49431         * lib/wchar.in.h (mbsinit): New declaration.
49432         * lib/mbsinit.c: New file.
49433         * m4/mbsinit.m4: New file.
49434         * modules/mbsinit: New file.
49435         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
49436         HAVE_MBSINIT.
49437         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
49438         HAVE_MBSINIT.
49439         * doc/posix-functions/mbsinit.texi: Document the new module.
49440
49441 2008-12-16  Bruno Haible  <bruno@clisp.org>
49442
49443         * lib/unistd.in.h: Add comment.
49444         * tests/test-environ.c: Don't include <stdlib.h>.
49445
49446 2008-12-16  Bruno Haible  <bruno@clisp.org>
49447
49448         * lib/parse-duration.h (parse_duration): Document return value
49449         convention.
49450         * lib/parse-duration.c: Include specification header first. Add
49451         comments.
49452         (_): Remove macro.
49453         (parse_year_month_day, parse_hour_minute_second): Move side effects
49454         outside of strchr call.
49455         (parse_non_iso8601): Move side effects outside of isspace call.
49456         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
49457         call.
49458
49459 2008-12-16  Bruno Haible  <bruno@clisp.org>
49460
49461         * tests/test-parse-duration.sh: Produce no output when the test
49462         succeeds.
49463
49464 2008-12-16  Bruno Haible  <bruno@clisp.org>
49465
49466         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
49467         expressions.
49468
49469 2008-12-15  Bruno Haible  <bruno@clisp.org>
49470
49471         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
49472         * doc/glibc-functions/flistxattr.texi: Likewise.
49473         * doc/glibc-functions/fopencookie.texi: Likewise.
49474         * doc/glibc-functions/fremovexattr.texi: Likewise.
49475         * doc/glibc-functions/fsetxattr.texi: Likewise.
49476         * doc/glibc-functions/getxattr.texi: Likewise.
49477         * doc/glibc-functions/lgetxattr.texi: Likewise.
49478         * doc/glibc-functions/listxattr.texi: Likewise.
49479         * doc/glibc-functions/llistxattr.texi: Likewise.
49480         * doc/glibc-functions/lremovexattr.texi: Likewise.
49481         * doc/glibc-functions/lsetxattr.texi: Likewise.
49482         * doc/glibc-functions/removexattr.texi: Likewise.
49483         * doc/glibc-functions/setxattr.texi: Likewise.
49484         * doc/posix-functions/open_memstream.texi: Likewise.
49485
49486 2008-12-15  Eric Blake  <ebb9@byu.net>
49487
49488         Update doc for cygwin 1.7.
49489         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
49490         functions.
49491         * doc/posix-functions/fchmodat.texi: Likewise.
49492         * doc/posix-functions/fchownat.texi: Likewise.
49493         * doc/posix-functions/fdopendir.texi: Likewise.
49494         * doc/posix-functions/fmemopen.texi: Likewise.
49495         * doc/posix-functions/freeaddrinfo.texi: Likewise.
49496         * doc/posix-functions/fstatat.texi: Likewise.
49497         * doc/posix-functions/futimens.texi: Likewise.
49498         * doc/posix-functions/gai_strerror.texi: Likewise.
49499         * doc/posix-functions/getaddrinfo.texi: Likewise.
49500         * doc/posix-functions/getnameinfo.texi: Likewise.
49501         * doc/posix-functions/if_freenameindex.texi: Likewise.
49502         * doc/posix-functions/if_indextoname.texi: Likewise.
49503         * doc/posix-functions/if_nameindex.texi: Likewise.
49504         * doc/posix-functions/if_nametoindex.texi: Likewise.
49505         * doc/posix-functions/insque.texi: Likewise.
49506         * doc/posix-functions/linkat.texi: Likewise.
49507         * doc/posix-functions/llrint.texi: Likewise.
49508         * doc/posix-functions/llrintf.texi: Likewise.
49509         * doc/posix-functions/llrintl.texi: Likewise.
49510         * doc/posix-functions/lockf.texi: Likewise.
49511         * doc/posix-functions/lrintl.texi: Likewise.
49512         * doc/posix-functions/mkdirat.texi: Likewise.
49513         * doc/posix-functions/mkfifoat.texi: Likewise.
49514         * doc/posix-functions/mknodat.texi: Likewise.
49515         * doc/posix-functions/mq_close.texi: Likewise.
49516         * doc/posix-functions/mq_getattr.texi: Likewise.
49517         * doc/posix-functions/mq_notify.texi: Likewise.
49518         * doc/posix-functions/mq_open.texi: Likewise.
49519         * doc/posix-functions/mq_receive.texi: Likewise.
49520         * doc/posix-functions/mq_send.texi: Likewise.
49521         * doc/posix-functions/mq_setattr.texi: Likewise.
49522         * doc/posix-functions/mq_timedreceive.texi: Likewise.
49523         * doc/posix-functions/mq_timedsend.texi: Likewise.
49524         * doc/posix-functions/mq_unlink.texi: Likewise.
49525         * doc/posix-functions/open_memstream.texi: Likewise.
49526         * doc/posix-functions/openat.texi: Likewise.
49527         * doc/posix-functions/posix_fadvise.texi: Likewise.
49528         * doc/posix-functions/posix_fallocate.texi: Likewise.
49529         * doc/posix-functions/posix_madvise.texi: Likewise.
49530         * doc/posix-functions/posix_memalign.texi: Likewise.
49531         * doc/posix-functions/posix_openpt.texi: Likewise.
49532         * doc/posix-functions/readlinkat.texi: Likewise.
49533         * doc/posix-functions/remque.texi: Likewise.
49534         * doc/posix-functions/renameat.texi: Likewise.
49535         * doc/posix-functions/rintl.texi: Likewise.
49536         * doc/posix-functions/sem_unlink.texi: Likewise.
49537         * doc/posix-functions/shm_open.texi: Likewise.
49538         * doc/posix-functions/shm_unlink.texi: Likewise.
49539         * doc/posix-functions/signgam.texi: Likewise.
49540         * doc/posix-functions/sigset.texi: Likewise.
49541         * doc/posix-functions/stpcpy.texi: Likewise.
49542         * doc/posix-functions/stpncpy.texi: Likewise.
49543         * doc/posix-functions/strerror.texi: Likewise.
49544         * doc/posix-functions/strtod.texi: Likewise.
49545         * doc/posix-functions/symlinkat.texi: Likewise.
49546         * doc/posix-functions/unlinkat.texi: Likewise.
49547         * doc/posix-functions/utimensat.texi: Likewise.
49548         * doc/glibc-functions/bindresvport.texi: Likewise.
49549         * doc/glibc-functions/dn_expand.texi: Likewise.
49550         * doc/glibc-functions/exp10.texi: Likewise.
49551         * doc/glibc-functions/exp10f.texi: Likewise.
49552         * doc/glibc-functions/fgetxattr.texi: Likewise.
49553         * doc/glibc-functions/flistxattr.texi: Likewise.
49554         * doc/glibc-functions/fopencookie.texi: Likewise.
49555         * doc/glibc-functions/freeifaddrs.texi: Likewise.
49556         * doc/glibc-functions/fremovexattr.texi: Likewise.
49557         * doc/glibc-functions/fsetxattr.texi: Likewise.
49558         * doc/glibc-functions/getifaddrs.texi: Likewise.
49559         * doc/glibc-functions/getxattr.texi: Likewise.
49560         * doc/glibc-functions/lgetxattr.texi: Likewise.
49561         * doc/glibc-functions/listxattr.texi: Likewise.
49562         * doc/glibc-functions/llistxattr.texi: Likewise.
49563         * doc/glibc-functions/lremovexattr.texi: Likewise.
49564         * doc/glibc-functions/lsetxattr.texi: Likewise.
49565         * doc/glibc-functions/pow10.texi: Likewise.
49566         * doc/glibc-functions/pow10f.texi: Likewise.
49567         * doc/glibc-functions/rcmd_af.texi: Likewise.
49568         * doc/glibc-functions/removexattr.texi: Likewise.
49569         * doc/glibc-functions/res_init.texi: Likewise.
49570         * doc/glibc-functions/res_mkquery.texi: Likewise.
49571         * doc/glibc-functions/res_query.texi: Likewise.
49572         * doc/glibc-functions/res_querydomain.texi: Likewise.
49573         * doc/glibc-functions/res_send.texi: Likewise.
49574         * doc/glibc-functions/rresvport_af.texi: Likewise.
49575         * doc/glibc-functions/setxattr.texi: Likewise.
49576         * doc/glibc-functions/strcasestr.texi: Likewise.
49577
49578 2008-12-15  Bruno Haible  <bruno@clisp.org>
49579
49580         Fix compilation error on OSF/1 4.0.
49581         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
49582         <sys/time.h>, simply delegate to the system header.
49583         Reported by Daniel Richard G. <oss@teragram.com>.
49584
49585 2008-12-15  Bruno Haible  <bruno@clisp.org>
49586
49587         * doc/posix-functions/openat.texi: Mention the 'openat' module.
49588         * doc/posix-functions/fchmodat.texi: Likewise.
49589         * doc/posix-functions/fchownat.texi: Likewise.
49590         * doc/posix-functions/fdopendir.texi: Likewise.
49591         * doc/posix-functions/fstatat.texi: Likewise.
49592         * doc/posix-functions/mkdirat.texi: Likewise.
49593         * doc/posix-functions/unlinkat.texi: Likewise.
49594
49595 2008-12-14  Bruno Haible  <bruno@clisp.org>
49596
49597         Update doc for POSIX:2008.
49598         * doc/posix-functions/faccessat.texi: New file.
49599         * doc/posix-functions/fchmodat.texi: New file.
49600         * doc/posix-functions/fchownat.texi: New file.
49601         * doc/posix-functions/fdopendir.texi: New file.
49602         * doc/posix-functions/fstatat.texi: New file.
49603         * doc/posix-functions/futimens.texi: New file.
49604         * doc/posix-functions/linkat.texi: New file.
49605         * doc/posix-functions/mkdirat.texi: New file.
49606         * doc/posix-functions/mkfifoat.texi: New file.
49607         * doc/posix-functions/mknodat.texi: New file.
49608         * doc/posix-functions/open_wmemstream.texi: New file.
49609         * doc/posix-functions/openat.texi: New file.
49610         * doc/posix-functions/psiginfo.texi: New file.
49611         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
49612         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
49613         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
49614         * doc/posix-functions/readlinkat.texi: New file.
49615         * doc/posix-functions/renameat.texi: New file.
49616         * doc/posix-functions/strerror_l.texi: New file.
49617         * doc/posix-functions/symlinkat.texi: New file.
49618         * doc/posix-functions/unlinkat.texi: New file.
49619         * doc/posix-functions/utimensat.texi: New file.
49620         * doc/gnulib.texi (Function Substitutes): Add these subsections.
49621
49622 2008-12-14  Bruno Haible  <bruno@clisp.org>
49623
49624         Update doc for POSIX:2008.
49625         * doc/posix-functions/alphasort.texi: Renamed from
49626         doc/glibc-functions/alphasort.texi.
49627         * doc/posix-functions/dirfd.texi: Renamed from
49628         doc/glibc-functions/dirfd.texi.
49629         * doc/posix-functions/dprintf.texi: Renamed from
49630         doc/glibc-functions/dprintf.texi.
49631         * doc/posix-functions/duplocale.texi: Renamed from
49632         doc/glibc-functions/duplocale.texi.
49633         * doc/posix-functions/fexecve.texi: Renamed from
49634         doc/glibc-functions/fexecve.texi.
49635         * doc/posix-functions/fmemopen.texi: Renamed from
49636         doc/glibc-functions/fmemopen.texi.
49637         * doc/posix-functions/freelocale.texi: Renamed from
49638         doc/glibc-functions/freelocale.texi.
49639         * doc/posix-functions/getdate_err.texi: Renamed from
49640         doc/glibc-functions/getdate_err.texi.
49641         * doc/posix-functions/isalnum_l.texi: Renamed from
49642         doc/glibc-functions/isalnum_l.texi.
49643         * doc/posix-functions/isalpha_l.texi: Renamed from
49644         doc/glibc-functions/isalpha_l.texi.
49645         * doc/posix-functions/isblank_l.texi: Renamed from
49646         doc/glibc-functions/isblank_l.texi.
49647         * doc/posix-functions/iscntrl_l.texi: Renamed from
49648         doc/glibc-functions/iscntrl_l.texi.
49649         * doc/posix-functions/isdigit_l.texi: Renamed from
49650         doc/glibc-functions/isdigit_l.texi.
49651         * doc/posix-functions/isgraph_l.texi: Renamed from
49652         doc/glibc-functions/isgraph_l.texi.
49653         * doc/posix-functions/islower_l.texi: Renamed from
49654         doc/glibc-functions/islower_l.texi.
49655         * doc/posix-functions/isprint_l.texi: Renamed from
49656         doc/glibc-functions/isprint_l.texi.
49657         * doc/posix-functions/ispunct_l.texi: Renamed from
49658         doc/glibc-functions/ispunct_l.texi.
49659         * doc/posix-functions/isspace_l.texi: Renamed from
49660         doc/glibc-functions/isspace_l.texi.
49661         * doc/posix-functions/isupper_l.texi: Renamed from
49662         doc/glibc-functions/isupper_l.texi.
49663         * doc/posix-functions/iswalnum_l.texi: Renamed from
49664         doc/glibc-functions/iswalnum_l.texi.
49665         * doc/posix-functions/iswalpha_l.texi: Renamed from
49666         doc/glibc-functions/iswalpha_l.texi.
49667         * doc/posix-functions/iswblank_l.texi: Renamed from
49668         doc/glibc-functions/iswblank_l.texi.
49669         * doc/posix-functions/iswcntrl_l.texi: Renamed from
49670         doc/glibc-functions/iswcntrl_l.texi.
49671         * doc/posix-functions/iswctype_l.texi: Renamed from
49672         doc/glibc-functions/iswctype_l.texi.
49673         * doc/posix-functions/iswdigit_l.texi: Renamed from
49674         doc/glibc-functions/iswdigit_l.texi.
49675         * doc/posix-functions/iswgraph_l.texi: Renamed from
49676         doc/glibc-functions/iswgraph_l.texi.
49677         * doc/posix-functions/iswlower_l.texi: Renamed from
49678         doc/glibc-functions/iswlower_l.texi.
49679         * doc/posix-functions/iswprint_l.texi: Renamed from
49680         doc/glibc-functions/iswprint_l.texi.
49681         * doc/posix-functions/iswpunct_l.texi: Renamed from
49682         doc/glibc-functions/iswpunct_l.texi.
49683         * doc/posix-functions/iswspace_l.texi: Renamed from
49684         doc/glibc-functions/iswspace_l.texi.
49685         * doc/posix-functions/iswupper_l.texi: Renamed from
49686         doc/glibc-functions/iswupper_l.texi.
49687         * doc/posix-functions/iswxdigit_l.texi: Renamed from
49688         doc/glibc-functions/iswxdigit_l.texi.
49689         * doc/posix-functions/isxdigit_l.texi: Renamed from
49690         doc/glibc-functions/isxdigit_l.texi.
49691         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
49692         doc/glibc-functions/mbsnrtowcs.texi.
49693         * doc/posix-functions/mkdtemp.texi: Renamed from
49694         doc/glibc-functions/mkdtemp.texi.
49695         * doc/posix-functions/newlocale.texi: Renamed from
49696         doc/glibc-functions/newlocale.texi.
49697         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
49698         doc/glibc-functions/nl_langinfo_l.texi.
49699         * doc/posix-functions/open_memstream.texi: Renamed from
49700         doc/glibc-functions/open_memstream.texi.
49701         * doc/posix-functions/opterr.texi: Renamed from
49702         doc/glibc-functions/opterr.texi.
49703         * doc/posix-functions/optind.texi: Renamed from
49704         doc/glibc-functions/optind.texi.
49705         * doc/posix-functions/optopt.texi: Renamed from
49706         doc/glibc-functions/optopt.texi.
49707         * doc/posix-functions/psignal.texi: Renamed from
49708         doc/glibc-functions/psignal.texi.
49709         * doc/posix-functions/scandir.texi: Renamed from
49710         doc/glibc-functions/scandir.texi.
49711         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
49712         doc/glibc-functions/sched_get_priority_min.texi.
49713         * doc/posix-functions/signgam.texi: Renamed from
49714         doc/glibc-functions/signgam.texi.
49715         * doc/posix-functions/stpcpy.texi: Renamed from
49716         doc/glibc-functions/stpcpy.texi.
49717         * doc/posix-functions/stpncpy.texi: Renamed from
49718         doc/glibc-functions/stpncpy.texi.
49719         * doc/posix-functions/strcasecmp_l.texi: Renamed from
49720         doc/glibc-functions/strcasecmp_l.texi.
49721         * doc/posix-functions/strcoll_l.texi: Renamed from
49722         doc/glibc-functions/strcoll_l.texi.
49723         * doc/posix-functions/strfmon_l.texi: Renamed from
49724         doc/glibc-functions/strfmon_l.texi.
49725         * doc/posix-functions/strftime_l.texi: Renamed from
49726         doc/glibc-functions/strftime_l.texi.
49727         * doc/posix-functions/strncasecmp_l.texi: Renamed from
49728         doc/glibc-functions/strncasecmp_l.texi.
49729         * doc/posix-functions/strndup.texi: Renamed from
49730         doc/glibc-functions/strndup.texi.
49731         * doc/posix-functions/strnlen.texi: Renamed from
49732         doc/glibc-functions/strnlen.texi.
49733         * doc/posix-functions/strsignal.texi: Renamed from
49734         doc/glibc-functions/strsignal.texi.
49735         * doc/posix-functions/strxfrm_l.texi: Renamed from
49736         doc/glibc-functions/strxfrm_l.texi.
49737         * doc/posix-functions/timer_gettime.texi: Renamed from
49738         doc/glibc-functions/timer_gettime.texi.
49739         * doc/posix-functions/tolower_l.texi: Renamed from
49740         doc/glibc-functions/tolower_l.texi.
49741         * doc/posix-functions/toupper_l.texi: Renamed from
49742         doc/glibc-functions/toupper_l.texi.
49743         * doc/posix-functions/towctrans_l.texi: Renamed from
49744         doc/glibc-functions/towctrans_l.texi.
49745         * doc/posix-functions/towlower_l.texi: Renamed from
49746         doc/glibc-functions/towlower_l.texi.
49747         * doc/posix-functions/towupper_l.texi: Renamed from
49748         doc/glibc-functions/towupper_l.texi.
49749         * doc/posix-functions/uselocale.texi: Renamed from
49750         doc/glibc-functions/uselocale.texi.
49751         * doc/posix-functions/vdprintf.texi: Renamed from
49752         doc/glibc-functions/vdprintf.texi.
49753         * doc/posix-functions/wcpcpy.texi:
49754         Renamed from doc/glibc-functions/wcpcpy.texi.
49755         * doc/posix-functions/wcpncpy.texi: Renamed from
49756         doc/glibc-functions/wcpncpy.texi.
49757         * doc/posix-functions/wcscasecmp.texi: Renamed from
49758         doc/glibc-functions/wcscasecmp.texi.
49759         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
49760         doc/glibc-functions/wcscasecmp_l.texi.
49761         * doc/posix-functions/wcscoll_l.texi: Renamed from
49762         doc/glibc-functions/wcscoll_l.texi.
49763         * doc/posix-functions/wcsdup.texi: Renamed from
49764         doc/glibc-functions/wcsdup.texi.
49765         * doc/posix-functions/wcsncasecmp.texi: Renamed from
49766         doc/glibc-functions/wcsncasecmp.texi.
49767         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
49768         doc/glibc-functions/wcsncasecmp_l.texi.
49769         * doc/posix-functions/wcsnlen.texi: Renamed from
49770         doc/glibc-functions/wcsnlen.texi.
49771         * doc/posix-functions/wcsnrtombs.texi: Renamed from
49772         doc/glibc-functions/wcsnrtombs.texi.
49773         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
49774         doc/glibc-functions/wcsxfrm_l.texi.
49775         * doc/posix-functions/wctrans_l.texi: Renamed from
49776         doc/glibc-functions/wctrans_l.texi.
49777         * doc/posix-functions/wctype_l.texi: Renamed from
49778         doc/glibc-functions/wctype_l.texi.
49779         * doc/gnulib.texi (Function Substitutes): Add these subsections.
49780         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
49781         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
49782         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
49783         these subsections.
49784         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
49785         Remove sections.
49786
49787 2008-12-14  Bruno Haible  <bruno@clisp.org>
49788
49789         Update doc for POSIX:2008.
49790         * doc/posix-functions/*.texi: Update URL of POSIX specification.
49791
49792 2008-12-14  Bruno Haible  <bruno@clisp.org>
49793
49794         Update doc for POSIX:2008.
49795         * doc/pastposix-functions/bcmp.texi: Renamed from
49796         doc/posix-functions/bcmp.texi.
49797         * doc/pastposix-functions/bcopy.texi: Renamed from
49798         doc/posix-functions/bcopy.texi.
49799         * doc/pastposix-functions/bsd_signal.texi: Renamed from
49800         doc/posix-functions/bsd_signal.texi.
49801         * doc/pastposix-functions/bzero.texi: Renamed from
49802         doc/posix-functions/bzero.texi.
49803         * doc/pastposix-functions/ecvt.texi: Renamed from
49804         doc/posix-functions/ecvt.texi.
49805         * doc/pastposix-functions/fcvt.texi: Renamed from
49806         doc/posix-functions/fcvt.texi.
49807         * doc/pastposix-functions/ftime.texi: Renamed from
49808         doc/posix-functions/ftime.texi.
49809         * doc/pastposix-functions/gcvt.texi: Renamed from
49810         doc/posix-functions/gcvt.texi.
49811         * doc/pastposix-functions/getcontext.texi: Renamed from
49812         doc/posix-functions/getcontext.texi.
49813         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
49814         doc/posix-functions/gethostbyaddr.texi.
49815         * doc/pastposix-functions/gethostbyname.texi: Renamed from
49816         doc/posix-functions/gethostbyname.texi.
49817         * doc/pastposix-functions/getwd.texi: Renamed from
49818         doc/posix-functions/getwd.texi.
49819         * doc/pastposix-functions/h_errno.texi: Renamed from
49820         doc/posix-functions/h_errno.texi.
49821         * doc/pastposix-functions/index.texi: Renamed from
49822         doc/posix-functions/index.texi.
49823         * doc/pastposix-functions/makecontext.texi: Renamed from
49824         doc/posix-functions/makecontext.texi.
49825         * doc/pastposix-functions/mktemp.texi: Renamed from
49826         doc/posix-functions/mktemp.texi.
49827         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
49828         doc/posix-functions/pthread_attr_getstackaddr.texi.
49829         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
49830         doc/posix-functions/pthread_attr_setstackaddr.texi.
49831         * doc/pastposix-functions/rindex.texi: Renamed from
49832         doc/posix-functions/rindex.texi.
49833         * doc/pastposix-functions/scalb.texi: Renamed from
49834         doc/posix-functions/scalb.texi.
49835         * doc/pastposix-functions/setcontext.texi: Renamed from
49836         doc/posix-functions/setcontext.texi.
49837         * doc/pastposix-functions/swapcontext.texi: Renamed from
49838         doc/posix-functions/swapcontext.texi.
49839         * doc/pastposix-functions/ualarm.texi: Renamed from
49840         doc/posix-functions/ualarm.texi.
49841         * doc/pastposix-functions/usleep.texi: Renamed from
49842         doc/posix-functions/usleep.texi.
49843         * doc/pastposix-functions/vfork.texi: Renamed from
49844         doc/posix-functions/vfork.texi.
49845         * doc/pastposix-functions/wcswcs.texi: Renamed from
49846         doc/posix-functions/wcswcs.texi.
49847         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
49848         (Function Substitutes): Update.
49849
49850 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49851
49852         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
49853         m4/strerror.m4.
49854
49855 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49856             Bruno Haible  <bruno@clisp.org>
49857
49858         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
49859
49860 2008-12-13  Bruno Haible  <bruno@clisp.org>
49861
49862         * modules/strtoull (Depends-on): Remove unistd.
49863
49864 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49865
49866         * modules/strtoull (Depends-on): Add stdlib.
49867
49868 2008-12-11  Simon Josefsson  <simon@josefsson.org>
49869
49870         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
49871
49872 2008-12-10  Jim Meyering  <meyering@redhat.com>
49873
49874         gl_ASSERT: don't say assertions are disabled when they're not
49875         * m4/assert.m4 (gl_ASSERT): Do not make configure report
49876         "checking whether to enable assertions... no", when they are in
49877         fact enabled.  This is solely a bug in the output of configure.
49878         In spite of saying "no", NDEBUG was not defined in that case.
49879         Also, as noted by Eric Blake, leave assertions enabled upon
49880         --enable-assert=INVALID.
49881
49882 2008-12-10  Bruno Haible  <bruno@clisp.org>
49883
49884         Change MODULES.html to refer to POSIX:2008 where possible.
49885         * MODULES.html.sh (POSIX2008_URL): New variable.
49886         (posix_headers): Remove sys/timeb, ucontext.
49887         (posix2001_headers): New variable.
49888         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
49889         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
49890         index, makecontext, mktemp, pthread_attr_getstackaddr,
49891         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
49892         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
49893         (posix2001_functions): New variable.
49894         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
49895         otherwise.
49896
49897 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49898
49899         add missing include to parse-duration.c
49900         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
49901         * modules/parse-duration (Depends-on): Add xalloc.
49902
49903         fix sed script reading maint.mk
49904         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
49905         (syntax-check-rules): Use it.
49906
49907 2008-12-09  Bruno Haible  <bruno@clisp.org>
49908
49909         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
49910         MacOS X 10.4/PowerPC.
49911         Reported by Simon Josefsson.
49912
49913 2008-12-08  Jim Meyering  <meyering@redhat.com>
49914
49915         work around mingw's lack of some S_IF definitions
49916         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
49917         Reported by Simon Josefsson.
49918
49919 2008-12-08  Bruno Haible  <bruno@clisp.org>
49920
49921         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
49922         applied to variables. Needed on MacOS X 10.4/PowerPC.
49923         Reported by Simon Josefsson.
49924
49925 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
49926         and Eric Blake  <ebb9@byu.net>
49927
49928         assert: honor --enable-assert
49929         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
49930         order to honor --enable-assert, rather than treating it as a
49931         synonym for --disable-assert.
49932
49933 2008-12-08  Jim Meyering  <meyering@redhat.com>
49934
49935         * lib/posixtm.c: Remove now-useless declaration of mktime.
49936
49937         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
49938
49939 2008-12-07  Bruno Haible  <bruno@clisp.org>
49940
49941         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
49942         test_once): Mark functions as static.
49943         * tests/test-tls.c (test_tls): Likewise.
49944
49945 2008-12-07  Bruno Haible  <bruno@clisp.org>
49946
49947         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
49948         iconv_register_autodetect.
49949
49950 2008-12-07  Jim Meyering  <meyering@redhat.com>
49951
49952         posixtm.c: avoid a warning
49953         * lib/posixtm.c (posixtime): Don't initialize tm0.
49954         It's no longer needed to placate gcc4's -Wuninitialized,
49955         and the attempt to placate would elicit a new warning.
49956
49957         unicodeio.c: mark unused parameters
49958         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
49959         (fallback_failure_callback): Likewise.
49960
49961 2008-12-07  Bruno Haible  <bruno@clisp.org>
49962
49963         * gnulib-tool (func_create_testdir): When building the tests
49964         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
49965         Reported by Simon Josefsson.
49966
49967 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49968
49969         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
49970
49971 2008-12-06  Bruno Haible  <bruno@clisp.org>
49972
49973         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
49974         Suggested by Eric Blake.
49975
49976 2008-12-06  Bruno Haible  <bruno@clisp.org>
49977
49978         Fix a c-stack test failure on MacOS X.
49979         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
49980         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
49981         handler for SIGBUS as well.
49982         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
49983         install a signal handler for SIGBUS as well.
49984         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
49985
49986 2008-12-06  Bruno Haible  <bruno@clisp.org>
49987
49988         Advocacy documentation.
49989         * doc/gnulib-intro.texi (Benefits): New section.
49990         * doc/gnulib.texi: Update.
49991
49992 2008-12-06  Bruno Haible  <bruno@clisp.org>
49993
49994         Document the 'manywarnings' module.
49995         * doc/manywarnings.texi: New file.
49996         * doc/gnulib.texi: Include it.
49997
49998 2008-12-05  Eric Blake  <ebb9@byu.net>
49999
50000         tests: silence some gcc warnings
50001         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
50002         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
50003         type mismatches.
50004
50005 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50006             Bruno Haible  <bruno@clisp.org>
50007
50008         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
50009
50010 2008-11-29  Jim Meyering  <meyering@redhat.com>
50011
50012         unicodeio.c: mark unused parameters
50013         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
50014         (fallback_failure_callback): Likewise.
50015
50016         fts: fix a thinko
50017         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
50018         (set_stat_type): Return S_IF*-valued "type" directly.
50019         Prompted by James Youngman's spotting a related bug.
50020         Confirmed by further testing through find.
50021
50022         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
50023         * lib/fts.c (D_TYPE): Define.
50024         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
50025         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
50026         (s_ifmt_shift_bits): New function.
50027         (set_stat_type): New function.
50028         (fts_build): When not calling fts_stat, call set_stat_type
50029         to propagate dirent.d_type info to fts_read caller.
50030         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
50031         fts_statp->st_mode type information may be valid.
50032
50033 2008-11-28  Simon Josefsson  <simon@josefsson.org>
50034
50035         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
50036         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
50037         <sds@gnu.org>.
50038
50039 2008-11-20  Bruno Haible  <bruno@clisp.org>
50040
50041         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
50042         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
50043         INCLUDE_NEXT.
50044         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
50045         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
50046         * modules/math (Makefile.am): Substitute
50047         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
50048         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50049
50050 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
50051             Bruno Haible  <bruno@clisp.org>
50052
50053         * lib/stdint.in.h: Define all type macros so that their expansion is
50054         a single typedef'ed token. Fixes a compilation failure in Boost which
50055         does "using ::int8_t;".
50056
50057 2008-11-18  Simon Josefsson  <simon@josefsson.org>
50058
50059         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
50060         gl_MANYWARN_ALL_GCC.
50061         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
50062         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
50063         * modules/manywarnings: New file.
50064         * MODULES.html.sh: Mention manywarnings module.
50065
50066 2008-11-18  Bruno Haible  <bruno@clisp.org>
50067
50068         * doc/gnulib-tool.texi (Unit tests): New section.
50069
50070 2008-11-18  Simon Josefsson  <simon@josefsson.org>
50071
50072         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
50073         paths like 'lib/po/foo.po'.
50074
50075 2008-11-17  Simon Josefsson  <simon@josefsson.org>
50076
50077         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
50078         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
50079
50080 2008-11-17  Simon Josefsson  <simon@josefsson.org>
50081
50082         * m4/warnings.m4: Use CPPFLAGS to really check whether the
50083         parameter works.
50084
50085 2008-11-17  Simon Josefsson  <simon@josefsson.org>
50086
50087         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
50088
50089 2008-11-17  Bruce Korb  <bkorb@gnu.org>
50090
50091         * modules/parse-duration-tests: New file.
50092         * tests/test-parse-duration.sh: New file.
50093         * tests/test-parse-duration.c: New file.
50094
50095         New module 'parse-duration'.
50096         * lib/parse-duration.h: New file.
50097         * lib/parse-duration.c: New file.
50098         * modules/parse-duration: New file.
50099
50100 2008-11-17  Bruno Haible  <bruno@clisp.org>
50101
50102         * tests/test-select-out.sh: Comment out the first pipe test.
50103         Reported by Simon Josefsson.
50104
50105 2008-11-17  Bruno Haible  <bruno@clisp.org>
50106
50107         * modules/getaddrinfo (Depends-on): Add servent, hostent.
50108         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
50109         gl_HOSTENT.
50110
50111 2008-11-17  Bruno Haible  <bruno@clisp.org>
50112
50113         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
50114         -lnetwork and -lnet. Needed for Haiku and BeOS.
50115
50116 2008-11-16  Bruno Haible  <bruno@clisp.org>
50117
50118         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
50119
50120 2008-11-16  Bruno Haible  <bruno@clisp.org>
50121
50122         Avoid test failure on Haiku.
50123         * tests/test-fsync.c: Include <errno.h>.
50124         (main): Don't require that fsync (0) fails.
50125
50126 2008-11-15  Bruno Haible  <bruno@clisp.org>
50127
50128         New module 'hostent'.
50129         * modules/hostent: New file.
50130         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
50131
50132 2008-11-15  Bruno Haible  <bruno@clisp.org>
50133
50134         New module 'servent'.
50135         * modules/servent: New file.
50136         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
50137
50138 2008-11-15  Bruno Haible  <bruno@clisp.org>
50139
50140         Avoid generating same test program with two different rules.
50141         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
50142         test-frexp to test-frexp-nolibm.
50143         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
50144         test-frexpl to test-frexpl-nolibm.
50145
50146 2008-11-15  Bruno Haible  <bruno@clisp.org>
50147
50148         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
50149         $(FREXPL_LIBM).
50150
50151 2008-11-15  Bruno Haible  <bruno@clisp.org>
50152
50153         * lib/netdb.in.h: Activate the definitions also when the system's
50154         <netdb.h> has 'struct addrinfo'.
50155         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
50156         EAI_OVERFLOW or AI_NUMERICSERV.
50157         * doc/posix-headers/netdb.texi: Document the problem.
50158
50159 2008-11-15  Bruno Haible  <bruno@clisp.org>
50160
50161         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
50162
50163         Make the 'sched' module work on platforms where <sched.h> exists but
50164         is incomplete (such as Haiku).
50165         * lib/sched.in.h; Include the system's <sched.h> if it exists.
50166         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
50167         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
50168         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
50169         HAVE_STRUCT_SCHED_PARAM.
50170         * modules/sched (Depends-on): Add include_next.
50171         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
50172         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
50173         * doc/posix-headers/sched.texi: Document the issue.
50174
50175 2008-11-13  Jim Meyering  <meyering@redhat.com>
50176
50177         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
50178         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
50179         test would fail due to the difference in the Report bugs to ...
50180         line.  The expected address is empty, "<>", while the actual
50181         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
50182
50183 2008-11-12  Bruno Haible  <bruno@clisp.org>
50184
50185         lstat: don't compile lstat.c on systems lacking lstat
50186         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
50187         which don't have lstat; this is handled by lib/sys_stat.in.h already.
50188         Reported by Daniel P. Berrange via Jim Meyering.
50189
50190 2008-11-12  Jim Meyering  <meyering@redhat.com>
50191
50192         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
50193
50194 2008-11-12  Simon Josefsson  <simon@josefsson.org>
50195
50196         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
50197         instead.
50198
50199 2008-11-12  Bruno Haible  <bruno@clisp.org>
50200
50201         * lib/unicodeio.c: Include unistr.h.
50202         (utf8_wctomb): Remove function.
50203         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
50204
50205 2008-11-12  Simon Josefsson  <simon@josefsson.org>
50206
50207         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
50208         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
50209         <bruno@clisp.org>.
50210         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
50211
50212 2008-11-12  Simon Josefsson  <simon@josefsson.org>
50213
50214         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
50215         * doc/gnulib.texi: Add section for warnings.
50216
50217 2008-11-11  Bruno Haible  <bruno@clisp.org>
50218
50219         * lib/sockets.h: Add a comment.
50220
50221 2008-11-11  Karl Berry  <karl@gnu.org>
50222
50223         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
50224
50225 2008-11-11  Eric Blake  <ebb9@byu.net>
50226
50227         fdl.texi: avoid git symlinks
50228         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
50229
50230 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
50231
50232         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
50233
50234 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
50235
50236         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
50237         (gl_WARN_ADD): Substitute $2 if literal.
50238
50239 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
50240
50241         * m4/warning.m4: Remove.
50242
50243 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
50244
50245         * m4/warnings.m4: Almost complete rewrite. :-)
50246
50247 2008-11-10  Simon Josefsson  <simon@josefsson.org>
50248
50249         * modules/warnings: New module.
50250         * m4/warnings.m4: New file.
50251         * MODULES.html.sh: Mention warnings module.
50252         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
50253         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50254
50255 2008-11-10  Eric Blake  <ebb9@byu.net>
50256
50257         fdl.texi: make a symlink to the latest version
50258         * doc/standards.texi: Revert today's earlier change.
50259         * doc/fdl-1.2.texi: Rename from old fdl.texi...
50260         * doc/fdl.texi: ...and replace this with a symlink to the newer
50261         fdl-1.3.texi.
50262
50263 2008-11-10  Bruno Haible  <bruno@clisp.org>
50264
50265         * tests/test-select-fd.c (main): Accept the result file name as fourth
50266         argument.
50267         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
50268         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
50269
50270 2008-11-10  Bruno Haible  <bruno@clisp.org>
50271
50272         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
50273         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
50274         as autoconf-substituted macros.
50275         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
50276         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
50277         gl_NETDB_H_DEFAULTS. Set these variables.
50278         * modules/netdb (Makefile.am): Substitute these variables.
50279
50280 2008-11-10  Eric Blake  <ebb9@byu.net>
50281
50282         standards.texi: include correct file for FDL 1.3
50283         * doc/standards.texi (GNU Free Documentation License): Change
50284         include file to pull in FDL 1.3, not 1.2.
50285
50286         fdl.texi: revert accidental change to license
50287         * doc/fdl.texi: This is FDL 1.2, not 1.3.
50288
50289 2008-11-10  Bruno Haible  <bruno@clisp.org>
50290
50291         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
50292         cross-compiling guesses also when the native compile gives no result.
50293
50294 2008-11-10  Bruno Haible  <bruno@clisp.org>
50295
50296         * lib/spawni.c (__spawni): Force variable into the stack.
50297
50298 2008-11-10  Bruno Haible  <bruno@clisp.org>
50299
50300         Add support for Haiku.
50301         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
50302         glibc and BeOS, but also on Haiku.
50303         * lib/fpurge.c (fpurge): Likewise.
50304         * lib/freadable.c (freadable): Likewise.
50305         * lib/freadahead.c (freadahead): Likewise.
50306         * lib/freading.c (freading): Likewise.
50307         * lib/freadptr.c (freadptr): Likewise.
50308         * lib/freadseek.c (freadptrinc): Likewise.
50309         * lib/fseeko.c (rpl_fseeko): Likewise.
50310         * lib/fseterr.c (fseterr): Likewise.
50311         * lib/fwritable.c (fwritable): Likewise.
50312         * lib/fwriting.c (fwriting): Likewise.
50313         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
50314
50315 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
50316
50317         * lib/config.charset: Treat Haiku like BeOS.
50318
50319 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
50320
50321         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
50322         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
50323
50324 2008-11-08  Bruno Haible  <bruno@clisp.org>
50325
50326         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
50327         AC_CACHE_CHECK.
50328
50329 2008-11-08  Bruno Haible  <bruno@clisp.org>
50330
50331         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
50332
50333 2008-11-08  Bruno Haible  <bruno@clisp.org>
50334
50335         * tests/test-select-fd.c: New file.
50336         * tests/test-select-in.sh: New file.
50337         * tests/test-select-out.sh: New file.
50338         * tests/test-select-stdin.c: New file.
50339         * modules/select-tests (Files): Add the new files.
50340         (Depends-on): Add gettimeofday.
50341         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
50342         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
50343         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
50344
50345 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
50346             Bruno Haible  <bruno@clisp.org>
50347
50348         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
50349
50350 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
50351
50352         * build-aux/pmccabe2html: Added support for C++ source files.
50353
50354 2008-11-05  Ben Pfaff  <blp@gnu.org>
50355
50356         Fix lib/close.c build on Windows.
50357         * modules/close (Files): Add lib/w32sock.h.
50358
50359 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
50360
50361         Accept Bison's NEWS format.
50362         * build-aux/announce-gen (print_news_deltas): Tweak
50363         $re_prefix.
50364
50365 2008-11-04  Bruno Haible  <bruno@clisp.org>
50366
50367         * modules/random_r (Maintainer): Add glibc.
50368
50369 2008-11-04  Simon Josefsson  <simon@josefsson.org>
50370
50371         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
50372         by karl@freefriends.org (Karl Berry).
50373         * doc/alloca.texi: Likewise.
50374         * doc/c-ctype.texi: Likewise.
50375         * doc/c-strcase.texi: Likewise.
50376         * doc/c-strcaseeq.texi: Likewise.
50377         * doc/c-strcasestr.texi: Likewise.
50378         * doc/c-strstr.texi: Likewise.
50379         * doc/c-strtod.texi: Likewise.
50380         * doc/c-strtold.texi: Likewise.
50381         * doc/ctime.texi: Likewise.
50382         * doc/error.texi: Likewise.
50383         * doc/fdl.texi: Likewise.
50384         * doc/gcd.texi: Likewise.
50385         * doc/getdate.texi: Likewise.
50386         * doc/gnulib-intro.texi: Likewise.
50387         * doc/gnulib-tool.texi: Likewise.
50388         * doc/gnulib.texi: Likewise.
50389         * doc/inet_ntoa.texi: Likewise.
50390         * doc/maintain.texi: Likewise.
50391         * doc/make-stds.texi: Likewise.
50392         * doc/quote.texi: Likewise.
50393         * doc/regexprops-generic.texi: Likewise.
50394         * doc/standards.texi: Likewise.
50395         * doc/verify.texi: Likewise.
50396         * doc/visibility.texi: Likewise.
50397         * doc/gnulib.texi (GNU Free Documentation License): Include
50398         fdl-1.3.texi instead of fdl.texi.
50399
50400 2008-11-04  Simon Josefsson  <simon@josefsson.org>
50401
50402         * doc/fdl-1.3.texi: New file, from
50403         <http://www.gnu.org/licenses/fdl-1.3.texi>.
50404         * modules/fdl-1.3: Add.
50405         * MODULES.html.sh: Add fdl-1.3.
50406
50407 2008-11-03  Bruno Haible  <bruno@clisp.org>
50408
50409         Make determination of absolute name of header file work with AIX xlc.
50410         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
50411         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
50412         preprocessing.
50413         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
50414         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
50415
50416 2008-11-03  Simon Josefsson  <simon@josefsson.org>
50417
50418         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
50419         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
50420         <ludo@gnu.org>.
50421
50422 2008-11-02  Bruno Haible  <bruno@clisp.org>
50423
50424         Mark 'strpbrk' obsolete.
50425         * modules/strpbrk (Status, Notice): New sections.
50426         * modules/strtok_r (Depends-on): Add strpbrk.
50427
50428 2008-11-02  Bruno Haible  <bruno@clisp.org>
50429
50430         Mark 'strdup' obsolete.
50431         * modules/strdup (Status, Notice): New sections.
50432         * modules/findprog (Depends-on): Add strdup.
50433         * modules/getaddrinfo (Depends-on): Likewise.
50434         * modules/localename (Depends-on): Likewise.
50435         * modules/relocatable-lib (Depends-on): Likewise.
50436         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
50437         * modules/relocatable-prog (Depends-on): Likewise.
50438         * modules/trim (Depends-on): Likewise.
50439         * modules/unictype/gen-ctype (Depends-on): Likewise.
50440         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
50441
50442 2008-11-02  Bruno Haible  <bruno@clisp.org>
50443
50444         Mark 'strcspn' obsolete.
50445         * modules/strcspn (Status, Notice): New sections.
50446
50447 2008-11-02  Bruno Haible  <bruno@clisp.org>
50448
50449         Mark 'rmdir' obsolete.
50450         * modules/rmdir (Status, Notice): New sections.
50451         * modules/clean-temp (Depends-on): Add rmdir.
50452         * modules/openat (Depends-on): Likewise.
50453
50454 2008-11-02  Bruno Haible  <bruno@clisp.org>
50455
50456         Mark 'raise' obsolete.
50457         * modules/raise (Status, Notice): New sections.
50458         (Include): Specify <signal.h>.
50459         * modules/stdio (Depends-on): Add raise.
50460         * modules/write (Depends-on): Likewise.
50461
50462 2008-11-02  Bruno Haible  <bruno@clisp.org>
50463
50464         Mark 'memset' obsolete.
50465         * modules/memset (Status, Notice): New sections.
50466
50467 2008-11-02  Bruno Haible  <bruno@clisp.org>
50468
50469         Mark 'memmove' obsolete.
50470         * modules/memmove (Status, Notice): New sections.
50471         * modules/argp (Depends-on): Add memmove.
50472         * modules/argz (Depends-on): Likewise.
50473         * modules/canonicalize (Depends-on): Likewise.
50474         * modules/canonicalize-lgpl (Depends-on): Likewise.
50475         * modules/fts (Depends-on): Likewise.
50476         * modules/getcwd (Depends-on): Likewise.
50477         * modules/human (Depends-on): Likewise.
50478         * modules/regex (Depends-on): Likewise.
50479         * modules/striconveh (Depends-on): Likewise.
50480         * modules/trim (Depends-on): Likewise.
50481         * modules/unistr/u8-move (Depends-on): Likewise.
50482         * modules/unistr/u16-move (Depends-on): Likewise.
50483         * modules/unistr/u32-move (Depends-on): Likewise.
50484
50485 2008-11-02  Bruno Haible  <bruno@clisp.org>
50486
50487         Mark 'memcpy' obsolete.
50488         * modules/memcpy (Status, Notice): New sections.
50489
50490 2008-11-02  Bruno Haible  <bruno@clisp.org>
50491
50492         Mark 'memcmp' obsolete.
50493         * modules/memcmp (Status, Notice): New sections.
50494         * modules/argmatch (Depends-on): Add memchr.
50495         * modules/backupfile (Depends-on): Likewise.
50496         * modules/c-strcasestr (Depends-on): Likewise.
50497         * modules/crypto/des (Depends-on): Likewise.
50498         * modules/csharpcomp (Depends-on): Likewise.
50499         * modules/fnmatch (Depends-on): Likewise.
50500         * modules/git-merge-changelog (Depends-on): Likewise.
50501         * modules/isnand (Depends-on): Likewise.
50502         * modules/isnand-nolibm (Depends-on): Likewise.
50503         * modules/isnanf (Depends-on): Likewise.
50504         * modules/isnanf-nolibm (Depends-on): Likewise.
50505         * modules/isnanl (Depends-on): Likewise.
50506         * modules/isnanl-nolibm (Depends-on): Likewise.
50507         * modules/mbchar (Depends-on): Likewise.
50508         * modules/memcoll (Depends-on): Likewise.
50509         * modules/quotearg (Depends-on): Likewise.
50510         * modules/regex (Depends-on): Likewise.
50511         * modules/relocatable-prog (Depends-on): Likewise.
50512         * modules/same (Depends-on): Likewise.
50513         * modules/signbit (Depends-on): Likewise.
50514         * modules/strcasestr-simple (Depends-on): Likewise.
50515         * modules/unictype/gen-ctype (Depends-on): Likewise.
50516         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
50517         * modules/uniname/uniname (Depends-on): Likewise.
50518         * modules/unistr/u8-cmp (Depends-on): Likewise.
50519
50520 2008-11-02  Bruno Haible  <bruno@clisp.org>
50521
50522         Mark 'memchr' obsolete.
50523         * modules/memchr (Status, Notice): New sections.
50524         * modules/argp (Depends-on): Add memchr.
50525         * modules/base64 (Depends-on): Likewise.
50526         * modules/c-strcasestr (Depends-on): Likewise.
50527         * modules/chdir-long (Depends-on): Likewise.
50528         * modules/fnmatch (Depends-on): Likewise.
50529         * modules/getsubopt (Depends-on): Likewise.
50530         * modules/git-merge-changelog (Depends-on): Likewise.
50531         * modules/glob (Depends-on): Likewise.
50532         * modules/strcasestr-simple (Depends-on): Likewise.
50533         * modules/strnlen (Depends-on): Likewise.
50534
50535 2008-11-02  Bruno Haible  <bruno@clisp.org>
50536
50537         Mark 'atexit' obsolete.
50538         * modules/atexit (Status, Notice): New sections.
50539         * modules/chdir-long (Depends-on): Add atexit.
50540         * modules/wait-process (Depends-on): Likewise.
50541
50542 2008-11-02  Bruno Haible  <bruno@clisp.org>
50543
50544         * gnulib-tool: New option --with-obsolete.
50545         (func_usage): Document it.
50546         (func_modules_transitive_closure): Drop obsolete dependencies if
50547         incobsolete is not true.
50548         (func_import): Read and save the incobsolete variable to the cache.
50549
50550 2008-11-02  Bruno Haible  <bruno@clisp.org>
50551
50552         * modules/TEMPLATE-EXTENDED: New field 'Status'.
50553         * gnulib-tool: New option --extract-status.
50554         (func_usage): Document it.
50555         (sed_extract_prog): Recognize it.
50556         (func_get_status): New function.
50557
50558 2008-10-30  Simon Josefsson  <simon@josefsson.org>
50559
50560         * modules/sockets (License): Change from LGPL to LGPLv2+.
50561
50562 2008-10-28  Simon Josefsson  <simon@josefsson.org>
50563
50564         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
50565
50566 2008-10-28  Simon Josefsson  <simon@josefsson.org>
50567
50568         * MODULES.html.sh (Support for systems lacking POSIX:2001):
50569         Mention times and sys_times.
50570         * modules/sys_times, modules/sys_times-tests: New modules.
50571         * modules/times, modules/times-tests: Likewise
50572         * m4/sys_times_h.m4: New file.
50573         * lib/sys_times.in.h: Likewise
50574         * lib/times.c: Likewise.
50575         * tests/test-sys_times.c: Likewise.
50576         * tests/test-times.c: Likewise.
50577         * doc/posix-headers/sys_times.texi: Update.
50578         * doc/posix-functions/times.texi: Update.
50579
50580 2008-10-28  Jim Meyering  <meyering@redhat.com>
50581
50582         * modules/tempname (Depends-on): Add lstat.
50583
50584         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
50585
50586 2008-10-28  Simon Josefsson  <simon@josefsson.org>
50587
50588         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
50589         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
50590         using idiom used elsewhere in gnulib.
50591
50592 2008-10-27  Jim Meyering  <meyering@redhat.com>
50593
50594         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
50595
50596 2008-10-27  Simon Josefsson  <simon@josefsson.org>
50597
50598         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
50599         TESTS_ENVIRONMENT, for shell scripts that needs to call built
50600         programs.
50601         * tests/test-argp-2.sh: Use $EXEEXT when needed.
50602
50603 2008-10-27  Simon Josefsson  <simon@josefsson.org>
50604
50605         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
50606
50607 2008-10-27  Bruno Haible  <bruno@clisp.org>
50608
50609         * tests/test-lstat.c: Include <stdio.h>.
50610
50611 2008-10-27  Simon Josefsson  <simon@josefsson.org>
50612
50613         * modules/lstat-tests: New module.
50614         * tests/test-lstat.c: New file.
50615
50616 2008-10-26  Jim Meyering  <meyering@redhat.com>
50617
50618         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
50619
50620 2008-10-26  Simon Josefsson  <simon@josefsson.org>
50621             Bruno Haible  <bruno@clisp.org>
50622
50623         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
50624         * modules/configmake (Include): Add a note that the include must come
50625         after all system headers.
50626         * lib/javaversion.c: Include configmake.h after all other includes.
50627
50628 2008-10-26  Bruno Haible  <bruno@clisp.org>
50629
50630         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
50631         HAVE_STRUCT_RANDOM_DATA to 1.
50632         (gl_STDLIB_H): Simplify.
50633
50634 2008-10-26  Simon Josefsson  <simon@josefsson.org>
50635
50636         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
50637         substitute HAVE_STRUCT_RANDOM_DATA.
50638         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
50639         random_data.
50640         * modules/stdlib (Makefile.am): Substitute
50641         HAVE_STRUCT_RANDOM_DATA.
50642
50643 2008-10-26  Simon Josefsson  <simon@josefsson.org>
50644
50645         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
50646         * doc/gnulib-intro.texi (Copyright): Likewise.
50647
50648 2008-10-26  Simon Josefsson  <simon@josefsson.org>
50649
50650         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
50651         findings.
50652
50653 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
50654             Bruno Haible  <bruno@clisp.org>
50655
50656         * lib/unistd.in.h: Include <winsock2.h>.
50657         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
50658         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
50659         Provide dummy declarations.
50660         (gethostname): Override.
50661         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
50662         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
50663         gl_PREREQ_SYS_H_WINSOCK2.
50664         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
50665         * doc/posix-functions/gethostname.texi: More details.
50666
50667 2008-10-25  Bruno Haible  <bruno@clisp.org>
50668
50669         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
50670         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
50671         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
50672
50673         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
50674         here ...
50675         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
50676         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
50677         gl_UNISTD_H_DEFAULTS.
50678
50679 2008-10-25  Eric Blake  <ebb9@byu.net>
50680
50681         signbit: avoid spurious compiler failure
50682         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
50683         declarations inside function.
50684
50685 2008-10-24  Simon Josefsson  <simon@josefsson.org>
50686             Bruno Haible  <bruno@clisp.org>
50687
50688         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
50689         * modules/random_r (Depends-on): Add stdint.
50690
50691 2008-10-24  Bruno Haible  <bruno@clisp.org>
50692
50693         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
50694         Eggert.
50695         * modules/strerror (License): Likewise.
50696
50697 2008-10-24  Jim Meyering  <meyering@redhat.com>
50698
50699         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
50700         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
50701
50702 2008-10-24  Eric Blake  <ebb9@byu.net>
50703
50704         getgroups: fix compilation when getgroups is available
50705         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
50706         but with <config.h> override of getgroups disabled.
50707
50708 2008-10-24  Simon Josefsson  <simon@josefsson.org>
50709
50710         * doc/gnulib.texi (Header files): Add note about C++ problems.
50711         Explained by Bruno Haible <bruno@clisp.org>.
50712
50713 2008-10-23  Bruno Haible  <bruno@clisp.org>
50714
50715         Define a dummy SA_NODEFER macro on Interix.
50716         * lib/signal.in.h (SA_NODEFER): Define fallback.
50717         Reported by Aleksey Cheusov <cheusov@tut.by> via
50718         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
50719
50720 2008-10-23  Bruno Haible  <bruno@clisp.org>
50721
50722         * modules/freadahead (License): Change to LGPLv2+.
50723         Suggested by Simon Josefsson.
50724
50725 2008-10-23  Jim Meyering  <meyering@redhat.com>
50726
50727         random_r: new module
50728         * modules/random_r: New file.
50729         * m4/random_r.m4: New file.
50730         * lib/random_r.c: New file, from glibc.
50731         * modules/random_r-tests: New file.
50732         * tests/test-random_r.c: New file.
50733         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
50734          Declare.
50735         (RAND_MAX): Define.
50736         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
50737         * modules/stdlib: Substitute them, too.
50738         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
50739         * doc/glibc-functions/initstate_r.texi: Mention the new module.
50740         * doc/glibc-functions/random_r.texi: Likewise.
50741         * doc/glibc-functions/setstate_r.texi: Likewise.
50742         * doc/glibc-functions/srandom_r.texi: Likewise.
50743         * config/srclist.txt: Mention it.
50744
50745 2008-10-23  David Lutterkort  <lutter@redhat.com>
50746
50747         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
50748         link requirement
50749
50750 2008-10-23  Jim Meyering  <meyering@redhat.com>
50751
50752         selinux-h: mark parameters of stub functions as intentionally unused
50753         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
50754         * lib/se-context.in.h: Likewise.
50755
50756 2008-10-22  Simon Josefsson  <simon@josefsson.org>
50757
50758         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
50759
50760 2008-10-22  Simon Josefsson  <simon@josefsson.org>
50761
50762         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
50763
50764 2008-10-22  Eric Blake  <ebb9@byu.net>
50765
50766         glthread/thread: avoid compiler warning
50767         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
50768         Add unreachable abort to silence compiler.
50769
50770 2008-10-22  Eric Blake  <ebb9@byu.net>
50771
50772         netdb: also supply struct addrinfo for cygwin 1.5.x
50773         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
50774         older cygwin.
50775         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
50776         cygwin.
50777         * doc/posix-headers/netdb.texi (netdb.h): Document this.
50778
50779 2008-10-22  Bruno Haible  <bruno@clisp.org>
50780
50781         * users.txt: Update entry about pspp.
50782
50783 2008-10-21  Bruno Haible  <bruno@clisp.org>
50784
50785         Simplification.
50786         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
50787         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
50788
50789         Simplification.
50790         * lib/ioctl.c (ioctl): Don't undefine.
50791         * lib/socket.c (socket): Don't undefine.
50792
50793         Remove unused module indicator macros.
50794         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
50795         GNULIB_$1 as a C macro.
50796
50797         * doc/posix-functions/close.texi: Undo last change.
50798         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
50799         Windows platforms.
50800
50801 2008-10-21  Bruno Haible  <bruno@clisp.org>
50802
50803         Add gethostname() declaration to <unistd.h>.
50804         * lib/unistd.in.h (gethostname): New declaration.
50805         * lib/gethostname.c: Include <unistd.h>.
50806         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
50807         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
50808         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
50809         and HAVE_GETHOSTNAME.
50810         * modules/gethostname (Depends-on): Add unistd.
50811         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50812         (Include): Specify <unistd.h>.
50813         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
50814         HAVE_GETHOSTNAME.
50815         * tests/test-gethostname.c: Include <unistd.h> first.
50816
50817 2008-10-21  Bruno Haible  <bruno@clisp.org>
50818
50819         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
50820         * modules/select-tests (Depends-on): Likewise.
50821         Reported by Simon Josefsson.
50822
50823 2008-10-21  Simon Josefsson  <simon@josefsson.org>
50824
50825         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
50826         * lib/accept.c: New file, based on winsock.c.
50827         * lib/bind.c: New file, based on winsock.c.
50828         * lib/connect.c: New file, based on winsock.c.
50829         * lib/getpeername.c: New file, based on winsock.c.
50830         * lib/getsockname.c: New file, based on winsock.c.
50831         * lib/getsockopt.c: New file, based on winsock.c.
50832         * lib/ioctl.c: New file, based on winsock.c.
50833         * lib/listen.c: New file, based on winsock.c.
50834         * lib/recv.c: New file, based on winsock.c.
50835         * lib/recvfrom.c: New file, based on winsock.c.
50836         * lib/send.c: New file, based on winsock.c.
50837         * lib/sendto.c: New file, based on winsock.c.
50838         * lib/setsockopt.c: New file, based on winsock.c.
50839         * lib/shutdown.c: New file, based on winsock.c.
50840         * lib/socket.c: New file, based on winsock.c.
50841         * lib/w32sock.h: New file, based on winsock.c.
50842         * lib/winsock.c: Remove file.
50843         * modules/accept: Likewise.
50844         * modules/bind: Likewise.
50845         * modules/connect: Likewise.
50846         * modules/getpeername: Likewise.
50847         * modules/getsockname: Likewise.
50848         * modules/getsockopt: Likewise.
50849         * modules/ioctl: Likewise.
50850         * modules/listen: Likewise.
50851         * modules/recv: Likewise.
50852         * modules/recvfrom: Likewise.
50853         * modules/send: Likewise.
50854         * modules/sendto: Likewise.
50855         * modules/setsockopt: Likewise.
50856         * modules/shutdown: Likewise.
50857         * modules/socket: Use socket.c instead of winsock.c.
50858         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
50859         * doc/posix-functions/accept.texi: Doc fix.
50860         * doc/posix-functions/bind.texi: Doc fix.
50861         * doc/posix-functions/close.texi: Doc fix.
50862         * doc/posix-functions/connect.texi: Doc fix.
50863         * doc/posix-functions/getpeername.texi: Doc fix.
50864         * doc/posix-functions/getsockname.texi: Doc fix.
50865         * doc/posix-functions/getsockopt.texi: Doc fix.
50866         * doc/posix-functions/ioctl.texi: Doc fix.
50867         * doc/posix-functions/listen.texi: Doc fix.
50868         * doc/posix-functions/recv.texi: Doc fix.
50869         * doc/posix-functions/recvfrom.texi: Doc fix.
50870         * doc/posix-functions/send.texi: Doc fix.
50871         * doc/posix-functions/sendto.texi: Doc fix.
50872         * doc/posix-functions/setsockopt.texi: Doc fix.
50873         * doc/posix-functions/shutdown.texi: Doc fix.
50874         * doc/posix-functions/socket.texi: Doc fix.
50875
50876 2008-10-20  Bruno Haible  <bruno@clisp.org>
50877
50878         Take into account the role of SIGABRT_COMPAT on Windows 2008.
50879         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
50880         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
50881         as an alias for SIGABRT.
50882         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
50883         (sigaction): Map it to SIGABRT.
50884         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
50885
50886 2008-10-20  Bruno Haible  <bruno@clisp.org>
50887
50888         * lib/fts.c: Don't include lstat.h.
50889         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
50890
50891         Move the lstat() declaration to <sys/stat.h>.
50892         * lib/lstat.h: Remove file.
50893         * lib/sys_stat.in.h: Add special invocation convention.
50894         (lstat): New declaration.
50895         * lib/lstat.c (orig_lstat): New function.
50896         (rpl_lstat): Use orig_lstat instead of lstat.
50897         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
50898         AC_C_INLINE. Set REPLACE_LSTAT.
50899         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
50900         and REPLACE_LSTAT.
50901         * modules/lstat (Files): Remove lib/lstat.h.
50902         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
50903         (Include): Specify <sys/stat.h> instead of lstat.h.
50904         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
50905         REPLACE_LSTAT.
50906         * NEWS: Mention the change.
50907
50908 2008-10-20  Bruno Haible  <bruno@clisp.org>
50909
50910         * modules/posix_spawn-tests: New file.
50911         * tests/test-posix_spawn3.c: New file.
50912
50913 2008-10-20  Bruno Haible  <bruno@clisp.org>
50914
50915         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
50916         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
50917         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
50918         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
50919         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
50920
50921 2008-10-20  Bruno Haible  <bruno@clisp.org>
50922
50923         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
50924         of posix_spawn on AIX 5.3.
50925
50926 2008-10-20  Bruno Haible  <bruno@clisp.org>
50927
50928         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
50929
50930 2008-10-20  Bruno Haible  <bruno@clisp.org>
50931
50932         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
50933         of AC_LANG_PROGRAM.
50934
50935 2008-10-20  Simon Josefsson  <simon@josefsson.org>
50936
50937         * lib/netdb.in.h: Don't define GNU specific constants until they
50938         are supported or needed.  Reported by Bruno Haible
50939         <bruno@clisp.org>.
50940
50941 2008-10-20  Simon Josefsson  <simon@josefsson.org>
50942
50943         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
50944
50945 2008-10-20  Simon Josefsson  <simon@josefsson.org>
50946
50947         * lib/getaddrinfo.h: Remove file.
50948         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
50949         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
50950         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
50951         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
50952         * modules/netdb: Substitute GNULIB_GETADDRINFO.
50953         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
50954         * tests/test-getaddrinfo.c: Likewise.
50955         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
50956         * NEWS: Mention change.
50957
50958 2008-10-19  Bruno Haible  <bruno@clisp.org>
50959
50960         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
50961
50962 2008-10-19  Bruno Haible  <bruno@clisp.org>
50963
50964         * lib/wait-process.c: Include simply <sys/wait.h>.
50965         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
50966         WIFSTOPPED): Remove fallback definitions.
50967         * modules/wait-process (Depends-on): Add sys_wait.
50968
50969         New module 'sys_wait'.
50970         * modules/sys_wait: New file.
50971         * lib/sys_wait.in.h: New file, partially copied from
50972         lib/wait-process.c.
50973         * m4/sys_wait_h.m4: New file.
50974         * doc/posix-headers/sys_wait.texi: Mention the new module.
50975
50976 2008-10-19  Bruno Haible  <bruno@clisp.org>
50977
50978         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
50979
50980 2008-10-19  Bruno Haible  <bruno@clisp.org>
50981
50982         Assume that waitpid() fills an 'int' status, not a 'union wait'.
50983         * lib/wait-process.c (WAIT_T): Remove type.
50984         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
50985         (wait_subprocess): Update.
50986
50987 2008-10-19  Bruno Haible  <bruno@clisp.org>
50988
50989         New module 'atoll'.
50990         * modules/atoll: New file.
50991         * lib/stdlib.in.h (atoll): New declaration.
50992         * lib/atoll.c: New file, from glibc with modifications.
50993         * m4/atoll.m4: New file.
50994         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
50995         HAVE_ATOLL.
50996         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
50997         * doc/posix-functions/atoll.texi: Mention the new module.
50998
50999 2008-10-19  Bruno Haible  <bruno@clisp.org>
51000
51001         Add strtoull() declaration to <stdlib.h>.
51002         * lib/stdlib.in.h (strtoull): New declaration.
51003         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
51004         Set HAVE_STRTOULL.
51005         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
51006         HAVE_STRTOULL.
51007         * modules/strtoull (Depends-on): Add stdlib.
51008         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51009         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
51010         HAVE_STRTOULL.
51011
51012 2008-10-19  Bruno Haible  <bruno@clisp.org>
51013
51014         Add strtoll() declaration to <stdlib.h>.
51015         * lib/stdlib.in.h (strtoll): New declaration.
51016         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
51017         Set HAVE_STRTOLL.
51018         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
51019         HAVE_STRTOLL.
51020         * modules/strtoll (Depends-on): Add stdlib.
51021         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51022         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
51023
51024 2008-10-19  Bruno Haible  <bruno@clisp.org>
51025
51026         * modules/bcopy (Depends-on): Add strings.
51027         (Include): Specify <strings.h>.
51028
51029 2008-10-19  Bruno Haible  <bruno@clisp.org>
51030
51031         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
51032
51033 2008-10-19  Bruno Haible  <bruno@clisp.org>
51034
51035         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
51036         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
51037         mingw.
51038
51039 2008-10-19  Bruno Haible  <bruno@clisp.org>
51040
51041         * lib/atanl.c: Don't include isnanl.h.
51042         * lib/cosl.c: Likewise.
51043         * lib/ldexpl.c: Likewise.
51044         * lib/logl.c: Likewise.
51045         * lib/sinl.c: Likewise.
51046         * lib/sqrtl.c: Likewise.
51047         * lib/tanl.c: Likewise.
51048
51049         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
51050         * lib/isnanf.h: Remove file.
51051         * lib/isnand.h: Remove file.
51052         * lib/isnanl.h: Remove file.
51053         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
51054         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
51055         macros.
51056         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
51057         HAVE_ISNANF, don't define it as a C macro.
51058         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
51059         HAVE_ISNAND, don't define it as a C macro.
51060         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
51061         HAVE_ISNANL, don't define it as a C macro.
51062         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
51063         HAVE_ISNAN[FDL].
51064         * modules/isnanf (Files): Remove lib/isnanf.h.
51065         (Depends-on): Add math.
51066         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
51067         (Include): Specify <math.h> instead of isnanf.h.
51068         * modules/isnand (Files): Remove lib/isnand.h.
51069         (Depends-on): Add math.
51070         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
51071         (Include): Specify <math.h> instead of isnand.h.
51072         * modules/isnanl (Files): Remove lib/isnanl.h.
51073         (Depends-on): Add math.
51074         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
51075         (Include): Specify <math.h> instead of isnanl.h.
51076         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
51077         HAVE_ISNAN[FDL].
51078         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
51079         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
51080         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
51081         * NEWS: Mention the change.
51082
51083 2008-10-18  Bruno Haible  <bruno@clisp.org>
51084
51085         Add getusershell(), setusershell(), endusershell() declarations to
51086         <unistd.h>.
51087         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
51088         declarations.
51089         * lib/getusershell.c: Include unistd.h.
51090         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
51091         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
51092         HAVE_GETUSERSHELL.
51093         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
51094         and HAVE_GETUSERSHELL.
51095         * modules/getusershell (Depends-on): Add unistd, extensions.
51096         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51097         (Include): Specify <unistd.h>.
51098         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
51099         HAVE_GETUSERSHELL.
51100
51101 2008-10-18  Bruno Haible  <bruno@clisp.org>
51102
51103         Add a getloadavg() declaration to <stdlib.h>.
51104         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
51105         getloadavg declaration.
51106         (getloadavg): New declaration.
51107         * lib/getloadavg.c: Include <stdlib.h> first.
51108         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
51109         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
51110         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
51111         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
51112         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
51113         * modules/getloadavg (Depends-on): Add stdlib, extensions.
51114         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51115         (Include): Specify <stdlib.h>.
51116         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
51117         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
51118
51119 2008-10-18  Bruno Haible  <bruno@clisp.org>
51120
51121         * lib/dirchownmod.c: Don't include lchmod.h.
51122
51123         Move the lchmod() declaration to <sys/stat.h>.
51124         * lib/lchmod.h: Remove file.
51125         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
51126         (lchmod): New declaration, moved here from lib/lchown.h.
51127         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
51128         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
51129         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
51130         and HAVE_LCHMOD.
51131         * modules/lchmod (Files): Remove lib/lchmod.h.
51132         (Depends-on): Add sys_stat, extensions.
51133         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
51134         (Include): Specify <sys/stat.h> instead of lchmod.h.
51135         * modules/sys_stat (Depends-on): Add link-warning.
51136         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
51137         definition of GL_LINK_WARNING.
51138         * NEWS: Mention the change.
51139
51140 2008-10-18  Bruno Haible  <bruno@clisp.org>
51141
51142         * lib/fchdir.c: Don't include dirfd.h.
51143         * lib/fts.c: Likewise.
51144         * lib/getcwd.c: Likewise.
51145         * lib/glob.c: Likewise.
51146
51147         Move the dirfd() declaration to <dirent.h>.
51148         * lib/dirfd.h: Remove file.
51149         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
51150         (dirfd): New declaration.
51151         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
51152         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
51153         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
51154         HAVE_DECL_DIRFD.
51155         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
51156         HAVE_DECL_DIRFD.
51157         * modules/dirfd (Files): Remove lib/dirfd.h.
51158         (Depends-on): Add dirent, extensions.
51159         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
51160         (Include): Specify <dirent.h> instead of dirfd.h.
51161         * modules/dirent (Depends-on): Add link-warning.
51162         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
51163         definition of GL_LINK_WARNING.
51164         * NEWS: Mention the change.
51165
51166 2008-10-18  Bruno Haible  <bruno@clisp.org>
51167
51168         Move the euidaccess() declaration to <unistd.h>.
51169         * lib/euidaccess.h: Remove file.
51170         * lib/unistd.in.h (euidaccess): New declaration.
51171         * lib/euidaccess.c: Don't include euidaccess.h.
51172         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
51173         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
51174         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
51175         and HAVE_EUIDACCESS.
51176         * modules/euidaccess (Files): Remove lib/euidaccess.h.
51177         (Depends-on): Add unistd.
51178         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51179         (Include): Specify <unistd.h> instead of euidaccess.h.
51180         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
51181         HAVE_EUIDACCESS.
51182         * NEWS: Mention the change.
51183
51184 2008-10-18  Bruno Haible  <bruno@clisp.org>
51185
51186         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
51187
51188         Move the getdomainname() declaration to <unistd.h>.
51189         * lib/getdomainname.h: Remove file.
51190         * lib/unistd.in.h (getdomainname): New declaration.
51191         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
51192         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
51193         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
51194         HAVE_GETDOMAINNAME.
51195         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51196         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
51197         * modules/getdomainname (Files): Remove lib/getdomainname.h.
51198         (Depends-on): Add unistd, extensions.
51199         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51200         (Includes): Specify <unistd.h> instead of getdomainname.h.
51201         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
51202         HAVE_GETDOMAINNAME.
51203         * NEWS: Mention the change.
51204
51205 2008-10-18  Bruno Haible  <bruno@clisp.org>
51206
51207         * modules/dirent: New file.
51208         * m4/dirent_h.m4: New file.
51209         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
51210         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
51211         * modules/fchdir (Files): Remove lib/dirent.in.h.
51212         (Depends-on): Add dirent.
51213         (Makefile.am): Move rules to modules/dirent.
51214         * doc/posix-headers/dirent.texi: Mention the new module.
51215
51216 2008-10-18  Bruno Haible  <bruno@clisp.org>
51217
51218         Avoid -Wunused-parameter warnings in public gnulib header files.
51219         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
51220         macro.
51221         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
51222
51223 2008-10-18  Bruno Haible  <bruno@clisp.org>
51224
51225         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
51226         * doc/glibc-functions/error.texi: Mention the module 'error'.
51227         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
51228         * doc/glibc-functions/getdomainname.texi: Mention the module
51229         'getdomainname'.
51230         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
51231         * doc/glibc-functions/getpagesize.texi: Mention the module
51232         'getpagesize'.
51233         * doc/glibc-functions/getusershell.texi: Mention the module
51234         'getusershell'.
51235         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
51236         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
51237         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
51238         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
51239         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
51240         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
51241         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
51242         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
51243         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
51244         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
51245         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
51246         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
51247         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
51248         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
51249
51250 2008-10-17  Bruno Haible  <bruno@clisp.org>
51251
51252         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
51253         HP-UX and IRIX, use -0.0L.
51254         * tests/test-ceill.c (minus_zero): Likewise.
51255         * tests/test-floorl.c (minus_zero): Likewise.
51256         * tests/test-frexpl.c (minus_zero): Likewise.
51257         * tests/test-isnan.c (minus_zerol): Likewise.
51258         * tests/test-isnanl.h (minus_zero): Likewise.
51259         * tests/test-ldexpl.c (minus_zero): Likewise.
51260         * tests/test-roundl.c (minus_zero): Likewise.
51261         * tests/test-signbit.c (minus_zerol): Likewise.
51262         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
51263         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
51264         * tests/test-truncl.c (minus_zero): Likewise.
51265         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
51266         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
51267         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
51268         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
51269
51270 2008-10-17  Bruno Haible  <bruno@clisp.org>
51271
51272         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
51273         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
51274         that it gets activated only for gcc >= 3.0.
51275         * lib/dirent.in.h: Likewise.
51276         * lib/errno.in.h: Likewise.
51277         * lib/fcntl.in.h: Likewise.
51278         * lib/float.in.h: Likewise.
51279         * lib/iconv.in.h: Likewise.
51280         * lib/inttypes.in.h: Likewise.
51281         * lib/locale.in.h: Likewise.
51282         * lib/math.in.h: Likewise.
51283         * lib/netdb.in.h: Likewise.
51284         * lib/netinet_in.in.h: Likewise.
51285         * lib/search.in.h: Likewise.
51286         * lib/signal.in.h: Likewise.
51287         * lib/spawn.in.h: Likewise.
51288         * lib/stdarg.in.h: Likewise.
51289         * lib/stdint.in.h: Likewise.
51290         * lib/stdio.in.h: Likewise.
51291         * lib/stdlib.in.h: Likewise.
51292         * lib/string.in.h: Likewise.
51293         * lib/strings.in.h: Likewise.
51294         * lib/sys_file.in.h: Likewise.
51295         * lib/sys_ioctl.in.h: Likewise.
51296         * lib/sys_select.in.h: Likewise.
51297         * lib/sys_socket.in.h: Likewise.
51298         * lib/sys_stat.in.h: Likewise.
51299         * lib/sys_time.in.h: Likewise.
51300         * lib/sysexits.in.h: Likewise.
51301         * lib/time.in.h: Likewise.
51302         * lib/unistd.in.h: Likewise.
51303         * lib/wchar.in.h: Likewise.
51304         * lib/wctype.in.h: Likewise.
51305         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51306
51307 2008-10-17  Jim Meyering  <meyering@redhat.com>
51308
51309         ignore-value: don't depend on inline module
51310         * modules/ignore-value (Depends-on): Remove 'inline'.
51311         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
51312         Suggestion from Bruno Haible.
51313
51314 2008-10-17  Bruno Haible  <bruno@clisp.org>
51315
51316         New implementation of condition variables for Win32.
51317         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
51318         (gl_linked_waitqueue_t): New type.
51319         (gl_cond_t): Use it.
51320         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
51321         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
51322         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
51323         (glthread_cond_init_func, glthread_cond_wait_func,
51324         glthread_cond_timedwait_func, glthread_cond_signal_func,
51325         glthread_cond_broadcast_func, glthread_cond_destroy_func):
51326         Reimplemented on the basis of gl_linked_waitqueue_t.
51327         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
51328         gl_waitqueue_t.
51329         (gl_rwlock_t): Update.
51330         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
51331
51332 2008-10-17  Simon Josefsson  <simon@josefsson.org>
51333
51334         * modules/recvfrom (Depends-on): Add dependency on getpeername.
51335         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
51336
51337 2008-10-17  Jim Meyering  <meyering@redhat.com>
51338
51339         ignore-value: new module
51340         * modules/ignore-value: New file.
51341         * lib/ignore-value.h: New file.
51342         * MODULES.html.sh (Compiler warning management): New section,
51343         just for this module.  More to come.
51344
51345 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
51346
51347         open-safer.c: avoid 'signed and unsigned in conditional...' warning
51348         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
51349         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
51350
51351 2008-10-16  Jim Meyering  <meyering@redhat.com>
51352
51353         openat-die.c: avoid 'no previous prototype' warning
51354         * lib/openat-die.c: Include "openat.h".
51355         Reported by Reuben Thomas <rrt@sc3d.org>.
51356
51357 2008-10-16  Simon Josefsson  <simon@josefsson.org>
51358
51359         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
51360         * lib/netdb.in.h: Fix typo.
51361         Reported by Bruno Haible  <bruno@clisp.org>
51362
51363         * lib/netdb.in.h: Include sys/socket.h for platforms without
51364         netdb.h, to get structures like hostent on MinGW.
51365         * modules/netdb (Depends-on): Add sys_socket.
51366
51367 2008-10-15  Simon Josefsson  <simon@josefsson.org>
51368
51369         * modules/netdb, modules/netdb-tests: New file.
51370         * m4/netdb_h.m4: New file.
51371         * lib/netdb.in.h: Add, currently just an empty file pending
51372         definitions.
51373         * tests/test-netdb.c: New file.
51374         * doc/posix-headers/netdb.texi: Mention that we replace it if
51375         needed.
51376         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51377         netdb.
51378
51379 2008-10-15  Simon Josefsson  <simon@josefsson.org>
51380
51381         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
51382         with code.
51383
51384 2008-10-13  Bruno Haible  <bruno@clisp.org>
51385
51386         * lib/glthread/cond.c (glthread_cond_wait_func,
51387         glthread_cond_timedwait_func): Add a comment.
51388
51389 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
51390
51391         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
51392         * tests/test-select.c: Likewise,
51393
51394 2008-10-13  Bruno Haible  <bruno@clisp.org>
51395
51396         * lib/glthread/cond.c (glthread_cond_wait_func,
51397         glthread_cond_timedwait_func): Fix variable name.
51398         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
51399
51400 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
51401
51402         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
51403         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
51404         struct sockaddr.sa_len.
51405         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
51406
51407 2008-10-13  Simon Josefsson  <simon@josefsson.org>
51408
51409         * build-aux/pmccabe2html: Add css and css_url parameters.
51410
51411 2008-10-12  Bruno Haible  <bruno@clisp.org>
51412
51413         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
51414         calling aclx_get.
51415         Reported by Rainer Tammer <tammer@tammer.net>.
51416
51417 2008-10-12  Bruno Haible  <bruno@clisp.org>
51418
51419         Use msvcrt aware primitives for creation/termination of Win32 threads.
51420         * lib/glthread/thread.c: Include <process.h>.
51421         (glthread_create_func): Use _beginthreadex instead of CreateThread.
51422         (wrapper_func): Update signature.
51423         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
51424
51425 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
51426             Bruno Haible  <bruno@clisp.org>
51427
51428         Provide a Win32 implementation of the 'cond' module.
51429         * lib/glthread/cond.h [USE_WIN32]: New implementation.
51430         * lib/glthread/cond.c (glthread_cond_init_func,
51431         glthread_cond_wait_func, glthread_cond_timedwait_func,
51432         glthread_cond_signal_func, glthread_cond_broadcast_func,
51433         glthread_cond_destroy_func) [USE_WIN32]: New functions.
51434         * modules/cond (Dependencies): Add gettimeofday.
51435
51436 2008-10-11  Bruno Haible  <bruno@clisp.org>
51437
51438         Make sleep work on older versions of mingw.
51439         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
51440         only whether it exists.
51441         * doc/posix-functions/sleep.texi: Mention the problem with older
51442         versions of mingw.
51443
51444 2008-10-11  Bruno Haible  <bruno@clisp.org>
51445
51446         New module 'shutdown'.
51447         * modules/shutdown: New file.
51448         * lib/sys_socket.in.h (shutdown): New declaration.
51449         * lib/winsock.c (shutdown): New function.
51450         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
51451         GNULIB_SHUTDOWN.
51452         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
51453         * doc/posix-functions/shutdown.texi: Document the new module.
51454
51455 2008-10-11  Jim Meyering  <meyering@redhat.com>
51456
51457         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
51458
51459 2008-10-11  Bruno Haible  <bruno@clisp.org>
51460
51461         New module 'fclose'.
51462         * modules/fclose: New file.
51463         * lib/stdio.in.h (fclose): New declaration.
51464         * lib/fclose.c: New file.
51465         * m4/fclose.m4: New file.
51466         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
51467         REPLACE_FCLOSE.
51468         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
51469         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
51470         REPLACE_FCLOSE.
51471         * modules/close (Depends-on): fclose.
51472         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
51473
51474 2008-10-11  Bruno Haible  <bruno@clisp.org>
51475
51476         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
51477         set errno and don't call _close.
51478
51479 2008-10-10  Bruno Haible  <bruno@clisp.org>
51480
51481         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
51482         ACL, not afterwards. Fixes test failure on Cygwin.
51483
51484 2008-10-09  Ben Pfaff  <blp@gnu.org>
51485
51486         * build-aux/announce-gen: Fix gnulib version related part of usage
51487         message.  Die with a useful error message if no tarballs are
51488         found.
51489
51490 2008-10-10  Jim Meyering  <meyering@redhat.com>
51491
51492         bootstrap: use git's --depth=N option only if it's supported
51493         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
51494         recognize the --depth option.  Reported by Pádraig Brady.
51495
51496 2008-10-09  Bruno Haible  <bruno@clisp.org>
51497
51498         New module 'ioctl'.
51499         * modules/ioctl: New file.
51500         * lib/sys_socket.in.h (ioctl): Remove declaration.
51501         * lib/winsock.c: Include <sys/ioctl.h>.
51502         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
51503         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
51504         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
51505         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
51506         * doc/posix-functions/ioctl.texi: Mention the new module.
51507
51508 2008-10-09  Bruno Haible  <bruno@clisp.org>
51509
51510         New module 'sys_ioctl'.
51511         * lib/sys_ioctl.in.h: New file.
51512         * m4/sys_ioctl_h.m4: New file.
51513         * modules/sys_ioctl: New file.
51514         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
51515
51516 2008-10-09  Bruno Haible  <bruno@clisp.org>
51517
51518         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
51519         * lib/winsock.c: Include <stdarg.h>.
51520         (rpl_ioctl): Change to second argument 'int' and then varargs.
51521
51522 2008-10-09  Bruno Haible  <bruno@clisp.org>
51523
51524         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
51525         when the sys_socket module is present and the system has <winsock2.h>.
51526
51527 2008-10-09  Bruno Haible  <bruno@clisp.org>
51528
51529         * doc/posix-functions/close.texi: Mention module 'close' instead of
51530         module 'sys_socket'.
51531
51532 2008-10-09  Bruno Haible  <bruno@clisp.org>
51533
51534         * doc/glibc-headers/sys_ioctl.texi: New file.
51535         * doc/gnulib.texi: Include it.
51536
51537 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
51538             Bruno Haible  <bruno@clisp.org>
51539
51540         Combine the two replacements of 'close'.
51541         * lib/sys_socket.in.h (close): Define to a reminder to include
51542         <unistd.h>.
51543         (_gl_close_fd_maybe_socket): New declaration.
51544         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
51545         * lib/winsock.c (close): Remove undefinition.
51546         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
51547         needed for the gnulib module 'close'.
51548         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
51549         define to an error symbol or to a warning, if suitable.
51550         * lib/close.c: Include <sys/socket.h>.
51551         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
51552         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
51553         UNISTD_H_HAVE_WINSOCK2_H.
51554         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
51555         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51556         UNISTD_H_HAVE_WINSOCK2_H.
51557         * modules/sys_socket (Files): Add m4/unistd_h.m4.
51558         (configure.ac): Set a module indicator.
51559         (Makefile.am): Substitute GNULIB_CLOSE.
51560         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
51561         * modules/poll-tests (Depends-on): Add close.
51562         * modules/select-tests (Depends-on): Likewise.
51563
51564 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
51565             Bruno Haible  <bruno@clisp.org>
51566
51567         New module 'close'.
51568         * modules/close: New file.
51569         * lib/unistd.in.h (close): Move declaration out of the
51570         FCHDIR_REPLACEMENT scope.
51571         (_gl_unregister_fd): New declaration.
51572         * lib/close.c: New file.
51573         * lib/fchdir.c (rpl_close): Remove function.
51574         * m4/close.m4: New file.
51575         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
51576         close.
51577         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
51578         REPLACE_CLOSE.
51579         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
51580         REPLACE_CLOSE.
51581         * modules/fchdir (Depends-on): Add close.
51582
51583 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
51584             Bruno Haible  <bruno@clisp.org>
51585
51586         * lib/fcntl.in.h (open): Simplify conditionals.
51587         (_gl_register_fd): New declaration.
51588         * lib/fchdir.c (rpl_open): Remove function.
51589         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
51590         also.
51591         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
51592         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
51593         open.
51594
51595 2008-10-09  Jim Meyering  <meyering@redhat.com>
51596
51597         GNUmakefile: use the more name-space-friendly "_version"
51598         * top/GNUmakefile (_dummy): Update.
51599         (_version): Rename from "version".
51600
51601 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
51602             Bruno Haible  <bruno@clisp.org>
51603
51604         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
51605         rpl_close.
51606         (_gl_register_fd): New function, extracted from rpl_open.
51607         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
51608         (rpl_open, rpl_opendir): Use _gl_register_fd.
51609
51610 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
51611
51612         Fix organization of 'open' replacement.
51613         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
51614         (gl_FUNC_OPEN): Use it.
51615         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
51616
51617 2008-10-08  Bruno Haible  <bruno@clisp.org>
51618
51619         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
51620
51621 2008-10-08  Simon Josefsson  <simon@josefsson.org>
51622
51623         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
51624         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
51625         listen).
51626
51627 2008-10-08  Eric Blake  <ebb9@byu.net>
51628
51629         GNUmakefile: add 'make version' target
51630         * top/GNUmakefile (_curr-ver): Split version update rules...
51631         (version): ...into a target.
51632
51633 2008-10-07  Bruno Haible  <bruno@clisp.org>
51634
51635         Use a more portable replacement expression for -0.0L.
51636         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
51637         instead of -0.0L. Fix m4 quotation.
51638
51639         * tests/test-signbit.c: Include <float.h>.
51640         (minus_zero): New variable.
51641         (test_signbitl): Use minus_zero instead of -zero.
51642         * modules/signbit-tests (Depends-on): Add float.
51643
51644         * tests/test-ceill.c: Include <float.h>.
51645         (zero): Remove variable.
51646         (minus_zero): New variable.
51647         (main): Use minus_zero instead of -zero.
51648         * modules/ceill-tests (Depends-on): Add float.
51649
51650         * tests/test-floorl.c: Include <float.h>.
51651         (zero): Remove variable.
51652         (minus_zero): New variable.
51653         (main): Use minus_zero instead of -zero.
51654         * modules/floorl-tests (Depends-on): Add float.
51655
51656         * tests/test-roundl.c: Include <float.h>.
51657         (zero): Remove variable.
51658         (minus_zero): New variable.
51659         (main): Use minus_zero instead of -zero.
51660         * modules/roundl-tests (Depends-on): Add float.
51661
51662         * tests/test-truncl.c: Include <float.h>.
51663         (zero): Remove variable.
51664         (minus_zero): New variable.
51665         (main): Use minus_zero instead of -zero.
51666         * modules/truncl-tests (Depends-on): Add float.
51667
51668         * tests/test-frexpl.c (zero): Remove variable.
51669         (minus_zero): New variable.
51670         (main): Use minus_zero instead of -zero.
51671         * modules/frexpl-tests (Depends-on): Add float.
51672
51673         * tests/test-isnan.c (zerol): Remove variable.
51674         (minus_zerol): New variable.
51675         (test_long_double): Use minus_zerol instead of -zerol.
51676         * modules/isnan-tests (Depends-on): Add float.
51677
51678         * tests/test-isnanl.h (zero): Remove variable.
51679         (minus_zero): New variable.
51680         (main): Use minus_zero instead of -zero.
51681         * modules/isnanl-nolibm-tests (Depends-on): Add float.
51682         * modules/isnanl-tests (Depends-on): Add float.
51683
51684         * tests/test-ldexpl.c (zero): Remove variable.
51685         (minus_zero): New variable.
51686         (main): Use minus_zero instead of -zero.
51687         * modules/ldexpl-tests (Depends-on): Add float.
51688
51689         * tests/test-snprintf-posix.h (zerol): Remove variable.
51690         (minus_zerol): New variable.
51691         (test_function): Use minus_zerol instead of -zerol.
51692         * modules/snprintf-posix-tests (Depends-on): Add float.
51693         * modules/vsnprintf-posix-tests (Depends-on): Add float.
51694
51695         * tests/test-sprintf-posix.h (zerol): Remove variable.
51696         (minus_zerol): New variable.
51697         (test_function): Use minus_zerol instead of -zerol.
51698         * modules/sprintf-posix-tests (Depends-on): Add float.
51699         * modules/vsprintf-posix-tests (Depends-on): Add float.
51700
51701         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
51702         (minus_zerol): New variable.
51703         (test_function): Use minus_zerol instead of -zerol.
51704         * modules/vasnprintf-posix-tests (Depends-on): Add float.
51705
51706         * tests/test-vasprintf-posix.c (zerol): Remove variable.
51707         (minus_zerol): New variable.
51708         (test_function): Use minus_zerol instead of -zerol.
51709         * modules/vasprintf-posix-tests (Depends-on): Add float.
51710
51711 2008-10-07  Simon Josefsson  <simon@josefsson.org>
51712
51713         * MODULES.html.sh (Support for building documentation): Mention
51714         pmccabe2html.  Sort entries.
51715
51716         Add pmccabe2html module, from gnupdf.
51717         * build-aux/pmccabe.css: New file.
51718         * build-aux/pmccabe2html: New file.
51719         * m4/pmccabe2html.m4: New file.
51720         * modules/pmccabe2html: New file.
51721
51722 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
51723
51724         flock: new module
51725         * MODULES.html.sh: Add to list of modules.
51726         * lib/flock.c: flock implementation for Windows and Unix systems
51727         which have fcntl.
51728         * doc/glibc-functions/flock.texi: Update documentation.
51729         * lib/sys_file.in.h: <sys/file.h> header file.
51730         * m4/flock.m4: M4 macros.
51731         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
51732         * modules/flock: flock module.
51733         * modules/flock-tests: flock tests module.
51734         * modules/sys_file: sys/file.h module.
51735         * tests/test-flock.c: test suite for flock.
51736
51737 2008-10-06  Jim Meyering  <meyering@redhat.com>
51738
51739         bootstrap: check for LT_INIT more portably still ;-)
51740         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
51741         Spotted by Bruno Haible.
51742
51743 2008-10-06  Eric Blake  <ebb9@byu.net>
51744
51745         test-signbit: avoid tripping Irix cc bug on -0.0L
51746         * tests/test-signbit.c (minus_zerol): Delete, and replace with
51747         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
51748         entire testsuite consistent and avoids an Irix 6.2 bug.
51749
51750 2008-10-05  Bruno Haible  <bruno@clisp.org>
51751             Jim Meyering  <jim@meyering.net>
51752
51753         Add an option for ignoring EPIPE during close_stdout.
51754         * lib/closeout.h: Include <stdbool.h>.
51755         (close_stdout_set_ignore_EPIPE): New declaration.
51756         * lib/closeout.c: Include <stdbool.h>.
51757         (ignore_EPIPE): New variable.
51758         (close_stdout_set_ignore_EPIPE): New function.
51759         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
51760         * lib/close-stream.c (close_stream): Mention the possible EPIPE
51761         failure.
51762         * modules/closeout (Depends-on): Add stdbool.
51763
51764 2008-10-05  Bruno Haible  <bruno@clisp.org>
51765
51766         * modules/accept: New file.
51767         * modules/bind: New file.
51768         * modules/connect: New file.
51769         * modules/getpeername: New file.
51770         * modules/getsockname: New file.
51771         * modules/getsockopt: New file.
51772         * modules/listen: New file.
51773         * modules/recv: New file.
51774         * modules/recvfrom: New file.
51775         * modules/send: New file.
51776         * modules/sendto: New file.
51777         * modules/setsockopt: New file.
51778         * modules/socket: New file.
51779         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
51780         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
51781         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
51782         the particular module is requested. Add a link warning when the
51783         particular module is not requested.
51784         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
51785         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
51786         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
51787         the particular module is requested.
51788         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
51789         gl_SYS_SOCKET_H_DEFAULTS): New macros.
51790         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
51791         * modules/sys_socket (Depends-on): Add link-warning.
51792         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
51793         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
51794         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
51795         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
51796         GL_LINK_WARNING.
51797         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
51798         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
51799         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
51800         * doc/posix-functions/getpeername.texi: Mention the new module
51801         'getpeername'.
51802         * doc/posix-functions/getsockname.texi: Mention the new module
51803         'getsockname'.
51804         * doc/posix-functions/getsockopt.texi: Mention the new module
51805         'getsockopt'.
51806         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
51807         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
51808         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
51809         * doc/posix-functions/send.texi: Mention the new module 'send'.
51810         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
51811         * doc/posix-functions/setsockopt.texi: Mention the new module
51812         'setsockopt'.
51813         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
51814         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
51815         listen, connect, accept.
51816         * modules/select-tests (Depends-on): Likewise.
51817
51818 2008-10-05  Bruno Haible  <bruno@clisp.org>
51819
51820         * lib/winsock.c (strerror): Remove unused #undef.
51821         (rpl_close): Remove unused local variable.
51822
51823         * modules/sys_socket (Depends-on); Add errno.
51824
51825 2008-10-05  Bruno Haible  <bruno@clisp.org>
51826
51827         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
51828         (select): Add a link warning when the 'select' module is not used.
51829         * modules/sys_select (Depends-on): Add link-warning.
51830         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
51831         Suggested by Paolo Bonzini.
51832
51833 2008-10-05  Jim Meyering  <meyering@redhat.com>
51834
51835         bootstrap: check for LT_INIT more portably
51836         * build-aux/bootstrap: Avoid using grep -E, since it's not
51837         portable enough.  Suggestion from Bruno Haible.
51838
51839 2008-10-05  Bruno Haible  <bruno@clisp.org>
51840
51841         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
51842         as being fixed by gnulib.
51843
51844 2008-10-05  Bruno Haible  <bruno@clisp.org>
51845
51846         * modules/select-tests: New file, mostly copied from
51847         modules/sys_select-tests.
51848         * tests/test-select.c: New file, mostly copied from
51849         tests/test-sys_select.c.
51850         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
51851         * modules/sys_select-tests (Depends-on): Remove all dependencies.
51852         (Makefile.am): Remove test_sys_select_LDADD.
51853
51854         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
51855         to an undefined symbol, for an error message.
51856         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
51857         (gl_SYS_SELECT_H_DEFAULTS): New macro.
51858         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
51859         winsock-select.c here.
51860         * modules/sys_select (Files): Remove lib/winsock-select.c.
51861         (Depends-on): Remove alloca.
51862         (Makefile.am): Substitute GNULIB_SELECT.
51863         * modules/select: New file.
51864         * doc/posix-functions/select.texi: Update.
51865
51866 2008-10-05  Bruno Haible  <bruno@clisp.org>
51867
51868         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
51869         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
51870         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
51871         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
51872         getdtablesize.
51873         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
51874         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
51875
51876 2008-10-05  Bruno Haible  <bruno@clisp.org>
51877
51878         * modules/getdtablesize-tests: New file.
51879         * tests/test-getdtablesize.c: New file.
51880
51881         New module 'getdtablesize'.
51882         * lib/unistd.in.h (getdtablesize): New declaration.
51883         * lib/getdtablesize.c: New file.
51884         * m4/getdtablesize.m4: New file.
51885         * modules/getdtablesize: New file.
51886         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51887         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
51888         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
51889         HAVE_GETDTABLESIZE.
51890         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
51891
51892 2008-10-05  Bruno Haible  <bruno@clisp.org>
51893
51894         * modules/sched (Makefile.am): Fix typo.
51895         Reported by Simon Josefsson.
51896
51897 2008-10-05  Jim Meyering  <meyering@redhat.com>
51898
51899         bootstrap: check for LT_INIT, too
51900         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
51901         are deprecated.  Suggestion from Ralf Wildenhues.
51902
51903 2008-10-05  Bruno Haible  <bruno@clisp.org>
51904
51905         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
51906         overriding them by ours.
51907         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
51908
51909 2008-10-05  Jim Meyering  <meyering@redhat.com>
51910
51911         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
51912         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
51913         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
51914
51915 2008-10-04  Bruno Haible  <bruno@clisp.org>
51916
51917         * modules/dup2 (License): Change to LGPLv2+.
51918         * modules/sleep (License): Likewise.
51919         * modules/perror (License): Likewise.
51920         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
51921         Blake.
51922         * modules/signal (License): Likewise.
51923         * modules/sigprocmask (License): Likewise.
51924         * modules/raise (License): Change to LGPLv2+, with approval by Jim
51925         Meyering.
51926
51927 2008-10-04  Bruno Haible  <bruno@clisp.org>
51928
51929         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
51930         Reported by Rainer Tammer <tammer@tammer.net>.
51931
51932 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
51933             Bruno Haible  <bruno@clisp.org>
51934
51935         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
51936         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
51937         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
51938
51939 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
51940
51941         filevercmp: new module
51942         * lib/filevercmp.h: New function filevercmp comparing version strings.
51943         * lib/filevercmp.c: Implementation of filevercmp function.
51944         * modules/filevercmp: Module metadata.
51945         * tests/test-filevercmp.c: Unit test for new module.
51946         * modules/filevercmp-tests: Unit test metadata.
51947         * MODULES.html.sh: Add filevercmp module.
51948
51949 2008-10-03  Bruno Haible  <bruno@clisp.org>
51950
51951         * lib/c-ctype.h: Add comment.
51952         Reported by Jim Meyering.
51953
51954 2008-10-02  Bruno Haible  <bruno@clisp.org>
51955
51956         * modules/posix_spawn-internal (Depends-on): Add 'open'.
51957
51958 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
51959
51960         * build-aux/bootstrap: Allow renaming bootstrap, and change the
51961         name of bootstrap.conf accordingly.
51962
51963 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
51964
51965         * build-aux/bootstrap: Install git-merge-changelog configuration
51966         items into .gitconfig if needed.
51967
51968 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
51969
51970         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
51971         git repository, and initialize/update it accordingly.
51972
51973 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
51974
51975         * modules/fsync-tests: New file.
51976         * tests/test-fsync.c: New file.
51977
51978         New module 'fsync'.
51979         * lib/fsync.c: New file.
51980         * m4/fsync.m4: New file.
51981         * modules/fsync: New file.
51982         * lib/unistd.in.h (fsync): New declaration.
51983         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
51984         GNULIB_FSYNC and HAVE_FSYNC.
51985         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
51986         * MODULES.html.sh (posix_functions): Add fsync.
51987         * doc/posix-functions/fsync.texi: Mention the new module.
51988
51989 2008-10-02  Jim Meyering  <meyering@redhat.com>
51990
51991         fts.c: sync with similar code from coreutils' remove.c
51992         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
51993         Guard also with "#if defined __linux__", since for now at least,
51994         this code is Linux-kernel-specific.
51995
51996 2008-10-02  Jim Meyering  <meyering@redhat.com>
51997
51998         fts: bug fixes
51999         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
52000         Include <sys/vfs.h>, not <sys/statfs.h>.
52001
52002         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
52003         Include <sys/vfs.h>, not <sys/statfs.h>.
52004
52005 2008-10-01  Bruno Haible  <bruno@clisp.org>
52006
52007         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
52008         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
52009         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
52010         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
52011         * doc/posix-functions/posix_spawnp.texi: Likewise.
52012         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
52013         whether posix_spawn actually works.
52014         * m4/pipe.m4 (gl_PIPE): Likewise.
52015         * modules/execute (Files): Add m4/posix_spawn.m4.
52016         * modules/pipe (Files): Add m4/posix_spawn.m4.
52017         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
52018
52019 2008-10-01  Jim Meyering  <meyering@redhat.com>
52020
52021         remove trailing spaces
52022         * NEWS: Likewise.
52023         * lib/poll.c (poll): Likewise.
52024         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
52025         * lib/winsock.c (rpl_close): Likewise.
52026         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
52027         * modules/yield: Likewise.
52028         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
52029         * tests/test-sys_select.c (connect_to_socket): Likewise.
52030
52031         fts.c: adjust a new interface to be more generally useful
52032         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
52033         (fts_build): Adjust caller.
52034
52035 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52036
52037         * modules/cond-tests: New file.
52038         * tests/test-cond.c: New file.
52039
52040 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52041             Bruno Haible  <bruno@clisp.org>
52042
52043         * modules/cond (Dependencies): Add errno, time.
52044         * lib/glthread/cond.h: Include <time.h>.
52045         (gl_cond_define, gl_cond_define_initialized): Use the same definition
52046         across platforms.
52047
52048 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52049             Bruno Haible  <bruno@clisp.org>
52050
52051         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
52052
52053 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52054             Bruno Haible  <bruno@clisp.org>
52055
52056         * modules/tls-tests (Depends-on): Add thread, yield.
52057         (configure.ac): Remove all checks.
52058         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
52059         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
52060         gl_thread_self): Remove definitions. Include glthread/thread.h and
52061         glthread/yield.h instead.
52062         (test_tls): Pass an additional NULL argument to gl_thread_join.
52063
52064 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52065             Bruno Haible  <bruno@clisp.org>
52066
52067         * modules/lock-tests (Depends-on): Add thread, yield.
52068         (configure.ac): Remove all checks.
52069         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
52070         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
52071         gl_thread_self): Remove definitions. Include glthread/thread.h and
52072         glthread/yield.h instead.
52073         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
52074         additional NULL argument to gl_thread_join.
52075
52076 2008-09-30  Bruno Haible  <bruno@clisp.org>
52077
52078         Fix the Win32 implementation of the 'thread' module.
52079         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
52080         pointer type.
52081         (gl_thread_self): Invoke gl_thread_self_func.
52082         (gl_thread_self_func): New declaration.
52083         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
52084         (do_init_self_key, init_self_key): New functions.
52085         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
52086         Remove some fields.
52087         (running_threads, running_lock): Remove variables.
52088         (get_current_thread_handle): New function.
52089         (gl_thread_self_func, wrapper_func, glthread_create_func,
52090         glthread_join_func, gl_thread_exit_func): Largely rewritten and
52091         simplified.
52092
52093 2008-09-30  Bruno Haible  <bruno@clisp.org>
52094
52095         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
52096         files.
52097
52098 2008-09-30  Jim Meyering  <meyering@redhat.com>
52099
52100         fts.m4: correct the test for statfs.f_type
52101         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
52102         when checking for statfs.f_type.
52103
52104 2008-09-15  Simon Josefsson  <simon@josefsson.org>
52105
52106         tests: avoid some compiler warnings
52107         * tests/test-memchr.c (main): Pass NULL indirectly.
52108         * tests/test-getdate.c (main): Remove unused variable 'ret'.
52109
52110 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
52111
52112         getdate.y: disallow countable dayshifts like "4 yesterday ago"
52113         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
52114         exactly specified dayshifts.
52115         (dayshift): New rule.
52116         (rel): Add dayshift.
52117         (relative_time_table) [tomorrow, yesterday, today, now]:
52118         Use tDAY_SHIFT in place of tDAY_UNIT.
52119         * tests/test-getdate.c: Add tests for now-disallowed countable
52120         dayshifts, e.g., "4 yesterday ago".
52121
52122 2008-09-29  Bruno Haible  <bruno@clisp.org>
52123
52124         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
52125         * tests/test-posix_spawn1.in.sh: Renamed from
52126         tests/test-posix_spawn.in.sh.
52127         * tests/test-posix_spawn2.c: New file.
52128         * tests/test-posix_spawn2.in.sh: New file.
52129         * modules/posix_spawnp-tests (Files): Update.
52130         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
52131
52132 2008-09-29  Bruno Haible  <bruno@clisp.org>
52133
52134         Propagate effects of putenv/setenv/unsetenv to child processes.
52135         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
52136         * lib/pipe.c (create_pipe): Likewise.
52137
52138 2008-09-29  Bruno Haible  <bruno@clisp.org>
52139
52140         Enable use of shell scripts as executables in mingw.
52141         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
52142         run the program as a shell script.
52143         * lib/pipe.c (create_pipe): Likewise.
52144         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
52145         resulting array.
52146
52147 2008-09-29  Eric Blake  <ebb9@byu.net>
52148
52149         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
52150
52151 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
52152
52153         * doc/posix-functions/accept.texi: Update mingw problems.
52154         * doc/posix-functions/bind.texi: Update mingw problems.
52155         * doc/posix-functions/close.texi: Update mingw problems.
52156         * doc/posix-functions/connect.texi: Update mingw problems.
52157         * doc/posix-functions/getpeername.texi: Update mingw problems.
52158         * doc/posix-functions/getsockname.texi: Update mingw problems.
52159         * doc/posix-functions/getsockopt.texi: Update mingw problems.
52160         * doc/posix-functions/ioctl.texi: Update mingw problems.
52161         * doc/posix-functions/listen.texi: Update mingw problems.
52162         * doc/posix-functions/recv.texi: Update mingw problems.
52163         * doc/posix-functions/recvfrom.texi: Update mingw problems.
52164         * doc/posix-functions/select.texi: Update mingw problems.
52165         * doc/posix-functions/send.texi: Update mingw problems.
52166         * doc/posix-functions/sendto.texi: Update mingw problems.
52167         * doc/posix-functions/setsockopt.texi: Update mingw problems.
52168         * doc/posix-functions/socket.texi: Update mingw problems.
52169
52170 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
52171             Bruno Haible  <bruno@clisp.org>
52172
52173         * lib/sys_select.in.h: Include sys/time.h.
52174         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
52175         * modules/sys_select: Depend on sys_time.
52176         * tests/test-sys_select.c: Test that sys/select.h defines struct
52177         timeval fully.
52178
52179 2008-09-29  Bruno Haible  <bruno@clisp.org>
52180
52181         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
52182         * lib/sys_select.in.h: Likewise.
52183
52184 2008-09-29  Bruno Haible  <bruno@clisp.org>
52185
52186         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
52187
52188 2008-09-29  Bruno Haible  <bruno@clisp.org>
52189
52190         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
52191         Set LIBSOCKET instead of augmenting LIBS.
52192         * modules/sockets (Link): New section.
52193         * modules/sockets-tests (test_sockets_LDADD): New variable.
52194         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
52195         * modules/poll-tests (test_poll_LDADD): New variable.
52196         * NEWS: Document the change.
52197
52198 2008-09-29  Bruno Haible  <bruno@clisp.org>
52199
52200         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
52201         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
52202         ARPA_INET_H directly.
52203         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
52204
52205 2008-09-28  Bruno Haible  <bruno@clisp.org>
52206
52207         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
52208         from gl_HEADER_SYS_SOCKET.
52209         (gl_HEADER_SYS_SOCKET): Invoke it.
52210         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
52211
52212 2008-09-28  Bruno Haible  <bruno@clisp.org>
52213
52214         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
52215         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
52216         Needed on OSF/1 4.0.
52217
52218 2008-09-28  Bruno Haible  <bruno@clisp.org>
52219
52220         Override open more carefully.
52221         * lib/open.c (orig_open): New function.
52222         (rpl_open): Use orig_open instead of open.
52223         * lib/fcntl.in.h: Add special invocation convention.
52224         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
52225         (gl_FUNC_OPEN): Invoke it.
52226
52227         Override freopen more carefully.
52228         * lib/freopen.c (orig_freopen): New function.
52229         (rpl_freopen): Use orig_freopen instead of freopen.
52230         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
52231         (gl_FUNC_FREOPEN): Invoke it.
52232
52233         Override fopen more carefully.
52234         * lib/fopen.c (orig_fopen): New function.
52235         (rpl_fopen): Use orig_fopen instead of fopen.
52236         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
52237         (gl_FUNC_FOPEN): Invoke it.
52238         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
52239
52240 2008-09-28  Bruno Haible  <bruno@clisp.org>
52241
52242         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
52243         SIGPIPE.
52244
52245 2008-09-28  Bruno Haible  <bruno@clisp.org>
52246
52247         * tests/test-sigaction.c (handler, main): Disable the check whether
52248         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
52249         glibc systems with LinuxThreads.
52250
52251 2008-09-28  Bruno Haible  <bruno@clisp.org>
52252
52253         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
52254
52255         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
52256         with AIX xlc.
52257         * lib/fcntl.in.h (open): Likewise.
52258         Reported by Rainer Tammer <tammer@tammer.net>.
52259
52260 2008-09-28  Bruno Haible  <bruno@clisp.org>
52261
52262         * modules/posix_spawnp-tests: New file.
52263         * tests/test-posix_spawn.c: New file.
52264         * tests/test-posix_spawn.in.sh: New file.
52265
52266         New module 'posix_spawnp'.
52267         * modules/posix_spawnp: New file.
52268         * lib/spawnp.c: New file, from GNU libc with modifications.
52269         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
52270
52271         New module 'posix_spawn'.
52272         * modules/posix_spawn: New file.
52273         * lib/spawn.c: New file, from GNU libc with modifications.
52274         * doc/posix-functions/posix_spawn.texi: Mention the new module.
52275
52276         New module 'posix_spawnattr_destroy'.
52277         * modules/posix_spawnattr_destroy: New file.
52278         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
52279         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
52280         module.
52281
52282         New module 'posix_spawnattr_setsigmask'.
52283         * modules/posix_spawnattr_setsigmask: New file.
52284         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
52285         modifications.
52286         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
52287         new module.
52288
52289         New module 'posix_spawnattr_getsigmask'.
52290         * modules/posix_spawnattr_getsigmask: New file.
52291         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
52292         modifications.
52293         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
52294         new module.
52295
52296         New module 'posix_spawnattr_setsigdefault'.
52297         * modules/posix_spawnattr_setsigdefault: New file.
52298         * lib/spawnattr_setdefault.c: New file, from GNU libc with
52299         modifications.
52300         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
52301         new module.
52302
52303         New module 'posix_spawnattr_getsigdefault'.
52304         * modules/posix_spawnattr_getsigdefault: New file.
52305         * lib/spawnattr_getdefault.c: New file, from GNU libc with
52306         modifications.
52307         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
52308         new module.
52309
52310         New module 'posix_spawnattr_setschedpolicy'.
52311         * modules/posix_spawnattr_setschedpolicy: New file.
52312         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
52313         modifications.
52314         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
52315         new module.
52316
52317         New module 'posix_spawnattr_getschedpolicy'.
52318         * modules/posix_spawnattr_getschedpolicy: New file.
52319         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
52320         modifications.
52321         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
52322         new module.
52323
52324         New module 'posix_spawnattr_setschedparam'.
52325         * modules/posix_spawnattr_setschedparam: New file.
52326         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
52327         modifications.
52328         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
52329         new module.
52330
52331         New module 'posix_spawnattr_getschedparam'.
52332         * modules/posix_spawnattr_getschedparam: New file.
52333         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
52334         modifications.
52335         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
52336         new module.
52337
52338         New module 'posix_spawnattr_setpgroup'.
52339         * modules/posix_spawnattr_setpgroup: New file.
52340         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
52341         modifications.
52342         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
52343         module.
52344
52345         New module 'posix_spawnattr_getpgroup'.
52346         * modules/posix_spawnattr_getpgroup: New file.
52347         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
52348         modifications.
52349         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
52350         module.
52351
52352         New module 'posix_spawnattr_setflags'.
52353         * modules/posix_spawnattr_setflags: New file.
52354         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
52355         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
52356         module.
52357
52358         New module 'posix_spawnattr_getflags'.
52359         * modules/posix_spawnattr_getflags: New file.
52360         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
52361         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
52362         module.
52363
52364         New module 'posix_spawnattr_init'.
52365         * modules/posix_spawnattr_init: New file.
52366         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
52367         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
52368         module.
52369
52370         New module 'posix_spawn_file_actions_destroy'.
52371         * modules/posix_spawn_file_actions_destroy: New file.
52372         * lib/spawn_faction_destroy.c: New file, from GNU libc with
52373         modifications.
52374         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
52375         the new module.
52376
52377         New module 'posix_spawn_file_actions_addopen'.
52378         * modules/posix_spawn_file_actions_addopen: New file.
52379         * lib/spawn_faction_addopen.c: New file, from GNU libc with
52380         modifications.
52381         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
52382         the new module.
52383
52384         New module 'posix_spawn_file_actions_adddup2'.
52385         * modules/posix_spawn_file_actions_adddup2: New file.
52386         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
52387         modifications.
52388         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
52389         the new module.
52390
52391         New module 'posix_spawn_file_actions_addclose'.
52392         * modules/posix_spawn_file_actions_addclose: New file.
52393         * lib/spawn_faction_addclose.c: New file, from GNU libc with
52394         modifications.
52395         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
52396         the new module.
52397
52398         New module 'posix_spawn_file_actions_init'.
52399         * modules/posix_spawn_file_actions_init: New file.
52400         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
52401         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
52402         new module.
52403
52404         New module 'posix_spawn-internal'.
52405         * modules/posix_spawn-internal: New file.
52406         * lib/spawn_int.h: New file, from GNU libc with modifications.
52407         * lib/spawni.c: New file, from GNU libc with modifications.
52408         * m4/posix_spawn.m4: New file.
52409
52410         New module 'spawn'.
52411         * modules/spawn: New file.
52412         * lib/spawn.in.h: New file, from GNU libc with modifications.
52413         * m4/spawn_h.m4: New file.
52414         * doc/posix-headers/spawn.texi: Mention the new module.
52415
52416 2008-09-28  Bruno Haible  <bruno@clisp.org>
52417
52418         * modules/sched-tests: New file.
52419         * tests/test-sched.c: New file.
52420
52421         New module 'sched'.
52422         * modules/sched: New file.
52423         * lib/sched.in.h: New file.
52424         * m4/sched_h.m4: New file.
52425         * doc/posix-headers/sched.texi: Mention the new module.
52426
52427 2008-09-27  Eric Blake  <ebb9@byu.net>
52428
52429         Fix previous patch, and tweak references to $0.
52430         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
52431         (func_version, func_gnulib_dir): Don't call this program
52432         gnulib-tool.
52433         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
52434         with using $0 in function.
52435         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
52436         (func_fatal_error): Reuse the name the user invoked us with.
52437
52438 2008-09-27  Bruno Haible  <bruno@clisp.org>
52439
52440         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
52441         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
52442         (gl_ICONV_H): Not here.
52443         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
52444         instead of assigning ICONV_H directly.
52445
52446         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
52447         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
52448         WCHAR_H directly.
52449
52450 2008-09-27  Bruno Haible  <bruno@clisp.org>
52451
52452         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
52453         * modules/arpa_inet (Depends-on): Add link-warning.
52454         (Makefile.am): Insert the definition of GL_LINK-WARNING.
52455         * modules/unistd (Makefile.am): Likewise.
52456
52457 2008-09-26  Bruno Haible  <bruno@clisp.org>
52458
52459         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
52460         variables.
52461         (func_version): Essentially copied from gnulib-tool.
52462         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
52463         func_readlink): Copied from gnulib-tool.
52464
52465 2008-09-26  Bruno Haible  <bruno@clisp.org>
52466
52467         * gnulib-tool (func_version): Change directory to $gnulib_dir before
52468         invoking git-version-gen.
52469
52470 2008-09-26  Bruno Haible  <bruno@clisp.org>
52471
52472         * posix-modules: Update to directory names changed on 2008-01-19.
52473         Remove commas in output before splitting into words. No more need to
52474         avoid 'ftruncate' since 2007-02-19.
52475
52476 2008-09-26  Bruno Haible  <bruno@clisp.org>
52477
52478         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
52479
52480 2008-09-26  Bruno Haible  <bruno@clisp.org>
52481
52482         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
52483         * modules/fwriteerror (Depends-on): Add errno.
52484
52485 2008-09-26  Bruno Haible  <bruno@clisp.org>
52486
52487         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
52488         * tests/test-vc-list-files-cvs.sh: Likewise.
52489
52490 2008-09-26  Bruno Haible  <bruno@clisp.org>
52491
52492         * doc/posix-headers/sys_resource.texi: Reorder items.
52493
52494 2008-09-26  Jim Meyering  <meyering@redhat.com>
52495
52496         fts: tweak inode comparison function
52497         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
52498         inode numbers, as documented.
52499
52500         fts: sort dirent entries on inode number before traversing
52501         This avoids a quadratic, seek-related performance penalty when
52502         operating on a directory containing many entries (measurable at 10k;
52503         3.5 hours at 2 million entries with a cold cache) on certain types
52504         of file systems, including ext3 and ext4, but not tmpfs.
52505         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
52506         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
52507         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
52508         (fs_handles_readdir_ordered_dirents_efficiently): New function.
52509         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
52510         (fts_build): Set the stat.st_ino member from D_INO.
52511         If it is likely to be useful, sort dirent entries on inode number.
52512
52513         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
52514         and the struct statfs.f_type member.
52515         * modules/fts (Depends-on): Add d-ino.
52516
52517 2008-09-26  Bruno Haible  <bruno@clisp.org>
52518
52519         * modules/sigpipe-die (Depends-on): Add sigpipe.
52520
52521         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
52522         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
52523         and GNULIB_STDIO_H_SIGPIPE are set.
52524         * lib/stdio-write.c: New file.
52525         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
52526         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
52527         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
52528         REPLACE_STDIO_WRITE_FUNCS.
52529         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
52530         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
52531         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
52532         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
52533         * modules/stdio (Files): Add lib/stdio-write.c.
52534         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
52535         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
52536         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
52537         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
52538         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
52539         REPLACE_FPRINTF_POSIX.
52540         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
52541         REPLACE_PRINTF_POSIX.
52542         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
52543         REPLACE_VFPRINTF_POSIX.
52544         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
52545         REPLACE_VPRINTF_POSIX.
52546         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
52547         SIGPIPE issue.
52548         * doc/posix-functions/fputc.texi: Likewise.
52549         * doc/posix-functions/fputs.texi: Likewise.
52550         * doc/posix-functions/fwrite.texi: Likewise.
52551         * doc/posix-functions/printf.texi: Likewise.
52552         * doc/posix-functions/putc.texi: Likewise.
52553         * doc/posix-functions/putchar.texi: Likewise.
52554         * doc/posix-functions/puts.texi: Likewise.
52555         * doc/posix-functions/vfprintf.texi: Likewise.
52556         * doc/posix-functions/vprintf.texi: Likewise.
52557
52558         * modules/safe-write (Depends-on): Add write.
52559
52560         * modules/sigpipe-tests: New file.
52561         * tests/test-sigpipe.c: New file.
52562         * tests/test-sigpipe.sh: New file.
52563
52564         * modules/write: New file.
52565         * lib/unistd.in.h: Include <sys/types.h>.
52566         (write): New declaration.
52567         * lib/write.c: New file.
52568         * m4/write.m4: New file.
52569         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52570         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
52571         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
52572         GNULIB_WRITE, REPLACE_WRITE.
52573         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
52574         and the SIGPIPE issue.
52575
52576         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
52577         (raise): New declaration.
52578         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
52579         (ext_signal): New function.
52580         (rpl_raise): New function.
52581         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
52582         GNULIB_SIGNAL_H_SIGPIPE.
52583         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
52584         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
52585
52586         * modules/sigpipe: New file.
52587         * m4/sigpipe.m4: New file.
52588
52589 2008-09-25  Derek Price  <derek@ximbiot.com>
52590             Bruno Haible  <bruno@clisp.org>
52591
52592         * gnulib-tool (func_import): Report all license incompatibilities, not
52593         just the first one.
52594
52595 2008-09-25  Bruno Haible  <bruno@clisp.org>
52596
52597         * gnulib-tool (func_import): When computing the edits, consider not
52598         only the Makefile.ams that exist but also those that will be generated.
52599
52600 2008-09-25  Simon Josefsson  <simon@josefsson.org>
52601
52602         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
52603         fixes gnulib-tool --test warning about duplicate dependency.
52604
52605 2008-09-25  Bruno Haible  <bruno@clisp.org>
52606
52607         * gnulib-tool: Don't ask the user to perform edits in the generated
52608         Makefile.ams.
52609         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
52610         apply to the Makefile.am being generated.
52611         (func_emit_tests_Makefile_am): Execute edits that apply to the
52612         Makefile.am being generated.
52613         (func_import): Setup list of Makefile.am edits before emitting the
52614         Makefile.ams, not at the end.
52615         (func_create_testdir): Update.
52616         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52617
52618 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52619
52620         * gnulib-tool (func_import): Store the --tests-base option in the
52621         comment in gnulib-cache.m4.
52622
52623 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
52624
52625         * NEWS: Document increased portability that sys_select now provides.
52626
52627         * lib/sys_select.in.h: Install select wrapper.
52628         * lib/sys_socket.in.h: Use more descriptive name when there is no
52629         select wrapper.
52630         * lib/winsock-select.c: New.
52631         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
52632         Require gl_HEADER_SYS_SOCKET.
52633         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
52634         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
52635         * tests/test-sys_select.c: Add functional tests.
52636
52637 2008-09-24  Eric Blake  <ebb9@byu.net>
52638
52639         open, fopen: close fd leak in last patch
52640         * lib/open.c (rpl_open): Close fd before returning error.
52641         * lib/fopen.c (rpl_fopen): Close fd before returning error.
52642         * doc/posix-functions/open.texi (open): Document that Irix also
52643         has the bug.
52644         * doc/posix-functions/fopen.texi (fopen): Likewise.
52645         Reported by Paolo Bonzini.
52646
52647 2008-09-24  Bruno Haible  <bruno@clisp.org>
52648
52649         Ensure that a filename ending in a slash cannot be used to access a
52650         non-directory.
52651         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
52652         to check whether it's really a directory.
52653         * lib/fopen.c: Include fcntl.h, unistd.h.
52654         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
52655         and fdopen().
52656         * modules/fopen (Depends-on): Add unistd.
52657         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
52658         * tests/test-fopen.c (main): Likewise.
52659         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
52660         * doc/posix-functions/fopen.texi: Likewise.
52661         Reported by Eric Blake.
52662
52663 2008-09-23  Eric Blake  <ebb9@byu.net>
52664
52665         c-stack: avoid compiler optimizations when provoking overflow
52666         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
52667         recursion harder to optimize, to ensure a stack overflow occurs.
52668         * tests/test-c-stack.c (recurse): Likewise.
52669         Borrowed from libsigsegv.
52670
52671         c-stack: work around Irix sigaltstack bug
52672         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
52673         whether sigaltstack uses wrong end of stack_t (copied in part from
52674         libsigsegv).
52675         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
52676         Irix bug, without requiring an over-allocation.
52677         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
52678         bug.
52679
52680         fopen: document mingw bug on directories
52681         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
52682         not allowing a stream visiting a directory, even though reading
52683         from such a stream is not portable.
52684
52685 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
52686
52687         * lib/poll.c: Rewrite.
52688         * modules/poll: Depend on alloca.
52689
52690 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
52691
52692         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
52693         instead define prototypes for a full set of wrappers.  Ensure
52694         that Cygwin does not use the compatibility code, which is only
52695         for MinGW.
52696         * lib/winsock.c: New.
52697         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
52698         * modules/sys_socket: Add lib/winsock.c.
52699
52700         * modules/poll-tests: Add errno and perror.
52701         * tests/test-poll.c: Use ioctl, not ioctlsocket.
52702
52703 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
52704
52705         * tests/test-poll.c: Downgrade minimum needed Winsock version.
52706
52707 2008-09-23  Bruno Haible  <bruno@clisp.org>
52708
52709         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
52710         * doc/glibc-functions/*: Likewise.
52711
52712 2008-09-23  Simon Josefsson  <simon@josefsson.org>
52713
52714         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
52715         success.
52716
52717 2008-09-22  Eric Blake  <ebb9@byu.net>
52718             Bruno Haible  <bruno@clisp.org>
52719
52720         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
52721         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
52722         supply %A but mishandle pseudo-NaN.
52723         Reported by Simon Josefsson.
52724
52725 2008-09-21  Bruno Haible  <bruno@clisp.org>
52726
52727         * tests/test-lock.c (main): Tweak skip message.
52728         * tests/test-tls.c (main): Likewise.
52729
52730 2008-09-21  Bruno Haible  <bruno@clisp.org>
52731
52732         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
52733         whether 'struct sigaction' has sa_sigaction here...
52734         (gl_PREREQ_SIG_HANDLER_H): ... not here.
52735         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
52736
52737 2008-09-21  Bruno Haible  <bruno@clisp.org>
52738
52739         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
52740         section.
52741         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
52742         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
52743         the new section.
52744         (Support for obsolete systems lacking POSIX:2001): New section.
52745         (String handling <string.h>): Move strdup to the new section.
52746         Suggested by Simon Josefsson and Paolo Bonzini.
52747
52748 2008-09-21  Bruno Haible  <bruno@clisp.org>
52749
52750         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
52751         exponents in %e and %g results on 'long double'. Needed for mingw's
52752         improved *printf functions.
52753         * tests/test-vasprintf-posix.c (test_function): Likewise.
52754         * tests/test-snprintf-posix.h (test_function): Likewise.
52755         * tests/test-sprintf-posix.h (test_function): Likewise.
52756         Reported by Eric Blake.
52757
52758 2008-09-21  Bruno Haible  <bruno@clisp.org>
52759
52760         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
52761         * tests/test-sprintf-posix.h (test_function): Likewise.
52762
52763 2008-09-21  Bruno Haible  <bruno@clisp.org>
52764
52765         * modules/getpass (Depends-on): Add strdup-posix.
52766
52767         New module 'strdup-posix'.
52768         * modules/strdup-posix: New file.
52769         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
52770         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
52771         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52772         REPLACE_STRDUP.
52773         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
52774         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
52775         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52776         strdup-posix.
52777
52778         * modules/strdup (Depends-on): Remove malloc-posix.
52779
52780 2008-09-20  Bruno Haible  <bruno@clisp.org>
52781
52782         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
52783         Wildenhues.
52784
52785 2008-09-20  Bruno Haible  <bruno@clisp.org>
52786
52787         Ensure that wint_t gets defined on IRIX 5.3.
52788         * lib/wchar.in.h (wint_t): Define if not defined by the system.
52789         * lib/wctype.in.h (wint_t): Likewise.
52790         (__wctype_wint_t): Remove type.
52791         (isw*): Use wint_t instead of __wctype_wint_t.
52792         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
52793         * modules/wchar (Files): Add m4/wint_t.m4.
52794         (Makefile.am): Substitute HAVE_WINT_T.
52795         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
52796         * tests/test-wctype.c: Check that wint_t is defined.
52797         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
52798         * doc/posix-headers/wctype.texi: Likewise.
52799         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52800
52801 2008-09-18  Bruno Haible  <bruno@clisp.org>
52802
52803         * gnulib-tool (func_exit): Update comment.
52804
52805 2008-09-18  Simon Josefsson  <simon@josefsson.org>
52806
52807         * modules/getaddrinfo (Depends-on): Remove strdup, this module
52808         assumes strdup exists and does not depend on strdup to return
52809         ENOMEM on out of memory conditions.
52810
52811 2008-09-18  Bruno Haible  <bruno@clisp.org>
52812
52813         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
52814         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
52815         digits for the exponent.
52816
52817 2008-09-18  Jim Meyering  <meyering@redhat.com>
52818             Bruno Haible  <bruno@clisp.org>
52819
52820         * lib/vasnprintf.c (decimal_point_char): Define also if
52821         NEED_PRINTF_INFINITE_LONG_DOUBLE.
52822
52823 2008-09-16  Bruno Haible  <bruno@clisp.org>
52824         and Eric Blake  <ebb9@byu.net>
52825
52826         vasnprintf: support Irix 5.3
52827         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
52828         that mishandle long double infinity.
52829         Reported by Tom G. Christensen.
52830
52831 2008-09-16  Bruno Haible  <bruno@clisp.org>
52832
52833         * doc/glibc-functions/scandir.texi: Mention the function is missing on
52834         Solaris 9.
52835         * doc/glibc-functions/alphasort.texi: Likewise.
52836         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
52837
52838 2008-09-16  Jim Meyering  <meyering@redhat.com>
52839
52840         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
52841         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
52842         a umask modification leak out of a subshell.  Otherwise, the
52843         opensolaris /bin/sh would be accepted and thus cause unwarranted
52844         failures in the coreutils test suite.
52845
52846 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
52847
52848         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
52849         to succeed.
52850
52851 2008-09-16  Jim Meyering  <meyering@redhat.com>
52852
52853         avoid spurious test failure when library is built without ACL support
52854         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
52855         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
52856         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
52857         * tests/test-copy-acl.sh: Likewise.
52858
52859 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52860
52861         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
52862         based on character occurrence counts.
52863
52864 2008-09-15  Eric Blake  <ebb9@byu.net>
52865
52866         tests: avoid some compiler warnings
52867         * tests/test-memchr.c (main): Pass NULL indirectly.
52868         * tests/test-closein.c (main): Avoid unused variable.
52869
52870 2008-09-15  Bruno Haible  <bruno@clisp.org>
52871
52872         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
52873         are missing on OpenBSD 4.0 individually.
52874         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52875
52876 2008-09-15  Bruno Haible  <bruno@clisp.org>
52877
52878         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
52879         * doc/posix-functions/strerror.texi: Mention also Cygwin.
52880         * doc/posix-functions/perror.texi: Likewise.
52881         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
52882         is missing.
52883         Reported by Eric Blake.
52884
52885         * lib/errno.in.h: Use replacement values >= 2000.
52886         Reported by Eric Blake.
52887
52888 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52889
52890         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
52891         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
52892         limit.
52893         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
52894         compareseq was aborted.
52895
52896 2008-09-14  Bruno Haible  <bruno@clisp.org>
52897
52898         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
52899         yvec_edit_count.
52900         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
52901         (fstrcmp_bounded): Simplify result computation accordingly.
52902
52903 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52904
52905         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
52906         (fstrcmp): Define in terms of fstrcmp_bounded.
52907         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
52908         lower_bound argument.
52909         Return quickly if the result is certainly < lower_bound.
52910         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
52911
52912 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52913
52914         * lib/diffseq.h (EARLY_ABORT): New macro.
52915         (compareseq): Change return type to bool. Return true when EARLY_ABORT
52916         evaluates to true.
52917
52918 2008-09-14  Bruno Haible  <bruno@clisp.org>
52919
52920         * modules/perror-tests: New file.
52921         * tests/test-perror.sh: New file.
52922         * tests/test-perror.c: New file.
52923
52924         New module 'perror'.
52925         * lib/stdio.in.h (perror): New declaration.
52926         * lib/perror.c: New file.
52927         * m4/perror.m4: New file.
52928         * modules/perror: New file.
52929         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
52930         * doc/posix-functions/perror.texi: Mention the perror module.
52931         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
52932         REPLACE_PERROR.
52933         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
52934         REPLACE_PERROR.
52935
52936 2008-09-14  Bruno Haible  <bruno@clisp.org>
52937
52938         * modules/stdio (Makefile.am): Reorder to match the order in
52939         lib/stdio.in.h.
52940         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
52941
52942 2008-09-13  Bruno Haible  <bruno@clisp.org>
52943
52944         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
52945
52946 2008-09-13  Bruno Haible  <bruno@clisp.org>
52947
52948         Extend strerror to cover the added errno values.
52949         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
52950         (rpl_strerror): Provide error messages for the added errno values and
52951         for the WSA* values.
52952         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
52953         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
52954         strerror.
52955         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
52956         * modules/strerror (Depends-on): Add errno.
52957         * doc/posix-functions/strerror.texi: Document the change.
52958         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
52959         and EOVERFLOW.
52960
52961 2008-09-13  Bruno Haible  <bruno@clisp.org>
52962
52963         * modules/EOVERFLOW: Remove file.
52964         * m4/eoverflow.m4: Remove file.
52965         * modules/EOVERFLOW-tests: Remove file.
52966         * tests/test-EOVERFLOW.c: Remove file.
52967         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
52968         * modules/ftell (Depends-on): Likewise.
52969         * modules/getdelim (Depends-on): Likewise.
52970         * modules/getugroups (Depends-on): Likewise.
52971         * modules/poll (Depends-on): Likewise.
52972         * modules/snprintf (Depends-on): Likewise.
52973         * modules/sprintf-posix (Depends-on): Likewise.
52974         * modules/vasnprintf (Depends-on): Likewise.
52975         * modules/vasprintf (Depends-on): Likewise.
52976         * modules/vfprintf-posix (Depends-on): Likewise.
52977         * modules/vsnprintf (Depends-on): Likewise.
52978         * modules/vsprintf-posix (Depends-on): Likewise.
52979         * modules/xvasprintf (Depends-on): Likewise.
52980         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
52981         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
52982         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
52983         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
52984         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
52985         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
52986         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
52987         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
52988         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
52989         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
52990         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
52991         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
52992         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
52993         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
52994         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
52995         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
52996         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
52997         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
52998         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
52999         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
53000         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
53001         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
53002         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
53003         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
53004         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
53005         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
53006         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
53007         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
53008         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
53009         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
53010         * MODULES.html.sh: Remove EOVERFLOW.
53011         * NEWS: Mention the change.
53012
53013 2008-09-13  Bruno Haible  <bruno@clisp.org>
53014
53015         * modules/errno-tests: New file.
53016         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
53017
53018         * lib/errno.in.h: New file.
53019         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
53020         * modules/errno: New file.
53021         * doc/posix-headers/errno.texi: Update documentation.
53022         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
53023
53024 2008-09-13  Bruno Haible  <bruno@clisp.org>
53025
53026         * tests/test-poll.c: Use #if for native Windows, rather than testing
53027         __MSVCRT__.
53028
53029 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53030             Bruno Haible  <bruno@clisp.org>
53031
53032         * lib/glob.c: Don't include <pwd.h> on native Windows.
53033         (WINDOWS32): New macro.
53034         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
53035
53036 2008-09-13  Bruno Haible  <bruno@clisp.org>
53037
53038         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
53039         (ETIMEDOUT): Remove macro.
53040         (glthread_cond_timedwait_multithreaded): New declaration.
53041         (glthread_cond_timedwait): Use it.
53042         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
53043         (glthread_cond_timedwait_multithreaded): New function.
53044
53045 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
53046
53047         * modules/poll-tests: Do not check for io.h.
53048         * tests/test-poll.c: Check for __MSVCRT__ instead.
53049
53050 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
53051
53052         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
53053         * modules/poll-tests: Add inet_pton, stdbool, sockets.
53054         * tests/test-poll.c: Use them.  Use _pipe on Windows.
53055
53056 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
53057
53058         * modules/poll-tests: New.
53059         * tests/test-poll.c: New.
53060
53061 2008-09-12  Eric Blake  <ebb9@byu.net>
53062
53063         frexp: test for NetBSD failure on -0.0
53064         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
53065         not all, bugs from NetBSD 3.0 have been fixed.
53066         * doc/posix-functions/frexp.texi (frexp): Document bug.
53067         Reported by Thomas Klausner.
53068
53069         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
53070         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
53071         literal -0.0.
53072         Reported by Jonathan C. Patschke <jp@centtech.com>.
53073
53074 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53075
53076         * lib/glthread/cond.h: Use dummy implementation also if
53077         USE_WIN32_THREADS.
53078
53079 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53080
53081         * modules/fnmatch-posix (License): Change to LGPLv2+.
53082         * modules/fnmatch-gnu (License): Likewise.
53083
53084 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53085
53086         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
53087
53088 2008-09-11  Jim Meyering  <meyering@redhat.com>
53089
53090         * users.txt: Add gtk-vnc.
53091
53092 2008-09-08  Simon Josefsson  <simon@josefsson.org>
53093
53094         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
53095         rotate amounts.
53096
53097         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
53098         required for 16-bit and 8-bit rotates.
53099         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
53100         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
53101         UINT8_MAX instead of hard-coded constants.
53102         Suggested by Paul Eggert.
53103
53104 2008-09-07  Bruno Haible  <bruno@clisp.org>
53105
53106         * tests/test-striconveh.c (main): Check behaviour when converting from
53107         UTF-7.
53108
53109         Make striconveh work better with stateful encodings.
53110         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
53111         that iconv does not increment the inptr when returning -1/EINVAL.
53112
53113 2008-09-07  Bruno Haible  <bruno@clisp.org>
53114
53115         * build-aux/config.rpath: Update according to libtool-2.2.6.
53116         * build-aux/config.libpath: Likewise.
53117
53118 2008-09-06  Bruno Haible  <bruno@clisp.org>
53119
53120         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
53121         * lib/freadptr.c (freadptr): Likewise.
53122         * lib/freadseek.c (freadptrinc): Likewise.
53123         Reported by Simon Josefsson.
53124
53125 2008-09-06  Bruno Haible  <bruno@clisp.org>
53126
53127         * modules/freadptr (License): Change to LGPLv2+.
53128         * modules/freadseek (License): Likewise.
53129         Suggested by Eric Blake.
53130
53131         * modules/memchr2 (License): Change to LGPLv2+.
53132         Approved by Eric Blake.
53133
53134 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53135             Bruno Haible  <bruno@clisp.org>
53136
53137         Make gnulib-tool work with native 'sed' on AIX.
53138         * gnulib-tool (sed_noop): New variable.
53139         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
53140         func_add_or_update, func_create_testdir): Use it to initialize sed
53141         script variables.
53142         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
53143
53144 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
53145             Bruno Haible  <bruno@clisp.org>
53146
53147         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
53148         also works after #include directives.
53149
53150 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
53151
53152         getdate.y: reject an out-of-range timezone value
53153         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
53154         the range [-24...+24].  When specified with only one or two digits,
53155         * tests/test-getdate.c: Tests for the fix.
53156         * doc/getdate.texi: Document this change.
53157
53158 2008-09-03  Bruno Haible  <bruno@clisp.org>
53159
53160         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
53161
53162 2008-09-02  Simon Josefsson  <simon@josefsson.org>
53163
53164         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
53165         <bruce.korb@gmail.com> with ideas from Ben Pfaff
53166         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
53167         Blake <ebb9@byu.net>.
53168
53169         * tests/test-bitrotate.c: Add more test vectors.
53170
53171 2008-09-02  Eric Blake  <ebb9@byu.net>
53172
53173         vasnprintf-posix: handle large precision via %.*d
53174         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
53175         when handling it ourselves.
53176         * tests/test-vasnprintf-posix.c (test_function): Add test.
53177         * tests/test-snprintf-posix.h (test_function): Likewise.
53178         * tests/test-sprintf-posix.h (test_function): Likewise.
53179         * tests/test-vasprintf-posix.c (test_function): Likewise.
53180         Reported by Alain Guibert.
53181
53182 2008-09-01  Eric Blake  <ebb9@byu.net>
53183
53184         c-stack: make configure-time check more robust
53185         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
53186         successful sigaction call.
53187         Reported by Tom G. Christensen.
53188
53189 2008-09-01  Bruno Haible  <bruno@clisp.org>
53190
53191         New module 'findprog-lgpl'.
53192         * modules/findprog-lgpl: New file.
53193         * lib/findprog-lgpl.c: New file.
53194         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
53195         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
53196         to decide whether to use strdup or xstrdup, concatenated_filename or
53197         xconcatenated_filename.
53198
53199 2008-09-01  Bruno Haible  <bruno@clisp.org>
53200
53201         Split module 'concat-filename' into 'concat-filename' (LGPL) and
53202         'xconcat-filename' (GPL).
53203         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
53204         (License): Change to LGPLv2+.
53205         * modules/xconcat-filename: New file.
53206         * lib/concat-filename.h (concatenated_filename): Change specification.
53207         (xconcatenated_filename): New declaration.
53208         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
53209         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
53210         memory situations.
53211         * lib/xconcat-filename.c: New file.
53212         * NEWS: Mention the change.
53213         * lib/findprog.c: Include concat-filename.h, not filename.h.
53214         (find_in_path): Use xconcatenated_filename instead of
53215         concatenated_filename.
53216         * lib/javacomp.c: Include concat-filename.h, not filename.h.
53217         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
53218         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
53219         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
53220         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
53221         instead of concatenated_filename.
53222         * lib/javaexec.c: Include concat-filename.h, not filename.h.
53223         (execute_java_class): Use xconcatenated_filename instead of
53224         concatenated_filename.
53225         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
53226         * modules/javacomp (Depends-on): Likewise.
53227         * modules/javaexec (Depends-on): Likewise.
53228
53229 2008-09-01  Bruno Haible  <bruno@clisp.org>
53230
53231         Split module 'filename' into 'filename' and 'concat-filename'.
53232         * modules/filename: Keep only lib/filename.h.
53233         (License): Change to LGPLv2+.
53234         * modules/concat-filename: New file, extracted from modules/filename.
53235         * lib/filename.h (concatenated_filename): Remove declaration.
53236         * lib/concat-filename.h: New file, extracted from lib/filename.h.
53237         * lib/concat-filename.c: Include concat-filename.h.
53238         * NEWS: Mention the change.
53239
53240 2008-09-01  Simon Josefsson  <simon@josefsson.org>
53241
53242         * lib/bitrotate.h (rotl8, rotr8): Add.
53243
53244         * modules/bitrotate (configure.ac): Need
53245         AC_REQUIRE([AC_C_INLINE]).
53246         (Description): Mention stdint.h.  Reported by Bruno Haible
53247         <bruno@clisp.org>.
53248
53249         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
53250         Paolo Bonzini <bonzini@gnu.org>.
53251
53252 2008-08-31  Bruno Haible  <bruno@clisp.org>
53253
53254         Assume Solaris specific bi-arch conventions on Solaris systems.
53255         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
53256         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
53257         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
53258         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
53259         like acl_libdirstem.
53260         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
53261         acl_libdirstem.
53262         * NEWS: Mention the change.
53263         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
53264
53265 2008-08-31  Jim Meyering  <meyering@redhat.com>
53266
53267         * lib/strftime.h: Add comments describing the two added arguments.
53268
53269         remove duplicate #include directives
53270         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
53271         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
53272
53273 2008-08-31  Bruno Haible  <bruno@clisp.org>
53274
53275         New module 'sigpipe-die'.
53276         * modules/sigpipe-die: New file.
53277         * lib/sigpipe-die.h: New file.
53278         * lib/sigpipe-die.c: New file.
53279         * MODULES.html.sh (Signal handling): Add sigpipe-die.
53280
53281 2008-08-31  Bruno Haible  <bruno@clisp.org>
53282
53283         Don't override previously installed signal handlers.
53284         * lib/fatal-signal.c (saved_sigactions): New variable.
53285         (uninstall_handlers): Reset the signal to the saved handler, not
53286         to SIG_DFL (except when ignored).
53287         (install_handlers): Save the previous handlers.
53288
53289 2008-08-30  Bruno Haible  <bruno@clisp.org>
53290
53291         * gnulib-tool (func_reset_sigpipe): New function.
53292         (func_get_automake_snippet, func_modules_transitive_closure,
53293         func_import): Invoke it before a join command that reads from stdin,
53294         to avoid "echo: write error: Broken pipe" error messages on stderr.
53295         Reported by Sam Steingold <sds@gnu.org>.
53296
53297 2008-08-30  Bruno Haible  <bruno@clisp.org>
53298
53299         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
53300         Code copied from m4/open.m4.
53301         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
53302         access and the filename ends in a slash. Code copied from lib/open.c.
53303         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
53304         * tests/test-fopen.c (main): Check against bug with trailing slash.
53305
53306 2008-08-29  Bruno Haible  <bruno@clisp.org>
53307
53308         Avoid some "gcc -pedantic" warnings.
53309         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
53310         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
53311         * lib/dirent.in.h: Likewise.
53312         * lib/fcntl.in.h: Likewise.
53313         * lib/float.in.h: Likewise.
53314         * lib/iconv.in.h: Likewise.
53315         * lib/inttypes.in.h: Likewise.
53316         * lib/locale.in.h: Likewise.
53317         * lib/math.in.h: Likewise.
53318         * lib/netinet_in.in.h: Likewise.
53319         * lib/search.in.h: Likewise.
53320         * lib/signal.in.h: Likewise.
53321         * lib/stdarg.in.h: Likewise.
53322         * lib/stdint.in.h: Likewise.
53323         * lib/stdio.in.h: Likewise.
53324         * lib/stdlib.in.h: Likewise.
53325         * lib/string.in.h: Likewise.
53326         * lib/strings.in.h: Likewise.
53327         * lib/sys_select.in.h: Likewise.
53328         * lib/sys_socket.in.h: Likewise.
53329         * lib/sys_stat.in.h: Likewise.
53330         * lib/sys_time.in.h: Likewise.
53331         * lib/sysexits.in.h: Likewise.
53332         * lib/time.in.h: Likewise.
53333         * lib/unistd.in.h: Likewise.
53334         * lib/wchar.in.h: Likewise.
53335         * lib/wctype.in.h: Likewise.
53336         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
53337         * modules/fchdir (Makefile.am): Likewise.
53338         * modules/fcntl (Makefile.am): Likewise.
53339         * modules/float (Makefile.am): Likewise.
53340         * modules/iconv_open (Makefile.am): Likewise.
53341         * modules/inttypes (Makefile.am): Likewise.
53342         * modules/locale (Makefile.am): Likewise.
53343         * modules/math (Makefile.am): Likewise.
53344         * modules/netinet_in (Makefile.am): Likewise.
53345         * modules/search (Makefile.am): Likewise.
53346         * modules/signal (Makefile.am): Likewise.
53347         * modules/stdarg (Makefile.am): Likewise.
53348         * modules/stdint (Makefile.am): Likewise.
53349         * modules/stdio (Makefile.am): Likewise.
53350         * modules/stdlib (Makefile.am): Likewise.
53351         * modules/string (Makefile.am): Likewise.
53352         * modules/strings (Makefile.am): Likewise.
53353         * modules/sys_select (Makefile.am): Likewise.
53354         * modules/sys_socket (Makefile.am): Likewise.
53355         * modules/sys_stat (Makefile.am): Likewise.
53356         * modules/sys_time (Makefile.am): Likewise.
53357         * modules/sysexits (Makefile.am): Likewise.
53358         * modules/time (Makefile.am): Likewise.
53359         * modules/unistd (Makefile.am): Likewise.
53360         * modules/wchar (Makefile.am): Likewise.
53361         * modules/wctype (Makefile.am): Likewise.
53362         Reported by Reuben Thomas <rrt@sc3d.org>.
53363
53364 2008-08-29  Bruno Haible  <bruno@clisp.org>
53365
53366         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
53367         any more.
53368
53369 2008-08-29  Simon Josefsson  <simon@josefsson.org>
53370
53371         * MODULES.html.sh (Misc): Add bitrotate.
53372
53373         * modules/bitrotate: New file.
53374
53375         * lib/bitrotate.h: New file.
53376
53377         * modules/bitrotate-tests: New file.
53378
53379         * tests/test-bitrotate.c: New file.
53380
53381         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
53382         on the bitrotate module.
53383
53384         * lib/arctwo.c: Use new bitrotate module.
53385
53386 2008-08-29  Jim Meyering  <meyering@redhat.com>
53387
53388         bootstrap: merge changes from coreutils
53389         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
53390         of copied files.  Remove a kludge, now that this is fixed.
53391         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
53392         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
53393         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
53394
53395 2008-08-29  Bruno Haible  <bruno@clisp.org>
53396
53397         * MODULES.html.sh: Remove --cvs-urls option.
53398
53399 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
53400
53401         maint.mk: adjust to file name change
53402         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
53403
53404 2008-08-28  Jim Meyering  <meyering@redhat.com>
53405
53406         * modules/getndelim2 (License): Relicense to LGPLv2+.
53407         Approved by Richard Stallman for the version of 1995, and by
53408         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
53409
53410 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
53411
53412         * lib/getdelim.c (flockfile, funlockfile): Make all of them
53413         dummy if one is not available.  Do not touch them if
53414         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
53415         (getc_maybe_unlocked): New.
53416         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
53417
53418 2008-08-26  Eric Blake  <ebb9@byu.net>
53419
53420         doc/INSTALL: resync from autoconf
53421         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
53422         (INSTALL_PRELUDE): Delete; this is done more efficiently by
53423         moving...
53424         * install.texi [!autoconf]: ...here.  Resync from autoconf.
53425         * INSTALL: Regenerate.
53426         * INSTALL.ISO: New file.
53427         * INSTALL.UTF-8: Likewise.
53428
53429 2008-08-26  Jim Meyering  <meyering@redhat.com>
53430
53431         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
53432         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
53433         these definitions conditional, so that they may be overridden, too.
53434
53435 2008-08-26  Bruno Haible  <bruno@clisp.org>
53436
53437         Generate INSTALL file variants with prettier quotes.
53438         * doc/Makefile (INSTALL_PRELUDE): New macro.
53439         (INSTALL): Use it.
53440         (INSTALL.ISO, INSTALL.UTF-8): New rules.
53441
53442 2008-08-26  Bruno Haible  <bruno@clisp.org>
53443
53444         Run makeinfo in an English locale.
53445         * doc/Makefile (MAKEINFO): New variable.
53446
53447 2008-08-26  Bruno Haible  <bruno@clisp.org>
53448
53449         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
53450         Suggested by Eric Blake.
53451
53452 2008-08-25  Bruno Haible  <bruno@clisp.org>
53453
53454         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
53455
53456 2008-08-25  Eric Blake  <ebb9@byu.net>
53457
53458         c-stack: test that stack overflow can be caught
53459         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
53460         that platform allows handling stack overflow; at least OS/2 EMX
53461         has sigaltstack, but crashes before transferring control to
53462         handler on stack overflow.
53463         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
53464         check for HAVE_STACK_OVERFLOW_HANDLING.
53465         Reported by Elbert Pol.
53466
53467 2008-08-25  Bruno Haible  <bruno@clisp.org>
53468
53469         * doc/posix-functions/strftime.texi: Fix description of strftime
53470         module.
53471
53472 2008-08-24  Bruno Haible  <bruno@clisp.org>
53473
53474         * tests/uniwidth/test-uc_width2.c: New file.
53475         * tests/uniwidth/test-uc_width2.sh: New file.
53476         * modules/uniwidth/width-tests (Files): Add the new files.
53477         (TESTS): Add uniwidth/test-uc_width2.sh.
53478         (TESTS_ENVIRONMENT): New variable.
53479         (check_PROGRAMS): Add test-uc_width2.
53480         (test_uc_width2_SOURCES): New variable.
53481
53482         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
53483         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
53484         not 0x00AB.
53485         Reported by Alexander V. Lukyanov <lav@netis.ru>.
53486
53487 2008-08-22  Eric Blake  <ebb9@byu.net>
53488
53489         test-lock, test-tls: mention why a test is skipped
53490         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
53491         skipped.
53492         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
53493
53494         count-one-bits: relax license
53495         * modules/count-one-bits (License): Relicense to LGPLv2+.
53496         Suggested by Ludovic Courtès, approved by Ben Pfaff.
53497
53498 2008-08-22  Andreas Schwab  <schwab@suse.de>
53499
53500         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
53501         Remove spurious space in assignment.
53502
53503 2008-08-21  Simon Josefsson  <simon@josefsson.org>
53504
53505         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
53506         Paul Eggert <eggert@CS.UCLA.EDU>.
53507
53508 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
53509
53510         * modules/gettext: Add m4/threadlib.m4.
53511
53512 2008-08-19  Eric Blake  <ebb9@byu.net>
53513
53514         test-c-stack: fix compilation failure on FreeBSD 5.0
53515         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
53516         headers before <sys/resource.h>.
53517         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
53518         the bug.
53519         Reported by Nelson H. F. Beebe.
53520
53521         strverscmp: migrate from "strverscmp.h" to <string.h>
53522         * modules/string (Makefile.am): Add new hooks.
53523         * modules/strverscmp (Files): Remove strverscmp.h.
53524         (Depends-on): Add string.
53525         (configure.ac): Add indicator.
53526         (Include): Mention new header.
53527         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
53528         defaults.
53529         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
53530         results.
53531         * lib/strverscmp.h: Delete.
53532         * lib/string.in.h (strverscmp): Provide declaration, when needed.
53533         * tests/test-strverscmp.c (includes): Adjust client.
53534         * lib/check-version.c (includes): Likewise.
53535         * NEWS: Document the change.
53536
53537         strverscmp: add unit test
53538         * modules/strverscmp-tests: New file.
53539         * tests/test-strverscmp.c: Likewise.
53540
53541 2008-08-19  Simon Josefsson  <simon@josefsson.org>
53542
53543         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
53544         regarding Windows crypto stuff, from Mono.
53545
53546 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
53547
53548         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
53549         if present, for intel RND.  Return error on failures.
53550
53551 2008-08-18  Ben Pfaff  <blp@gnu.org>
53552
53553         gitlog-to-changelog: give better diagnostic for failed pipe-open
53554         * build-aux/gitlog-to-changelog: Improve error message: suggest
53555         that the version of Git may be too old.
53556
53557 2008-08-18  Simon Josefsson  <simon@josefsson.org>
53558
53559         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
53560         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
53561
53562 2008-08-18  Bruno Haible  <bruno@clisp.org>
53563
53564         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
53565         pthread_in_use().
53566
53567 2008-08-18  Bruno Haible  <bruno@clisp.org>
53568
53569         * lib/glthread/threadlib.c: Include <pthread.h>.
53570
53571 2008-08-18  Bruno Haible  <bruno@clisp.org>
53572
53573         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
53574         glthread_recursive_lock_* macros.
53575         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
53576         Fix syntax error.
53577
53578 2008-08-18  Bruno Haible  <bruno@clisp.org>
53579
53580         * lib/glthread/thread.c: Avoid forcing a context switch right after
53581         thread creation.
53582
53583 2008-08-17  Bruno Haible  <bruno@clisp.org>
53584
53585         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
53586         * lib/glthread/thread.h: Provide Win32 specific implementation.
53587         * modules/thread (Files): Add lib/glthread/thread.c.
53588         (Depends-on): Add lock.
53589         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
53590
53591 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53592
53593         New module 'yield'.
53594         * modules/yield: New file.
53595         * lib/glthread/yield.h: New file.
53596         * m4/yield.m4: New file.
53597         * MODULES.html.sh (Multithreading): Add yield.
53598
53599 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53600
53601         New module 'thread'.
53602         * modules/thread: New file.
53603         * lib/glthread/thread.h: New file.
53604         * m4/thread.m4: New file.
53605         * MODULES.html.sh (Multithreading): Add thread.
53606
53607 2008-08-17  Bruno Haible  <bruno@clisp.org>
53608
53609         * lib/glthread/lock.h: Include <stdlib.h> always.
53610         * lib/glthread/tls.h: Likewise.
53611         * lib/glthread/cond.h: Likewise.
53612
53613 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53614
53615         New module 'cond'.
53616         * modules/cond: New file.
53617         * lib/glthread/cond.h: New file.
53618         * lib/glthread/cond.c: New file.
53619         * m4/cond.m4: New file.
53620         * MODULES.html.sh (Multithreading): Add cond.
53621
53622 2008-08-16  Eric Blake  <ebb9@byu.net>
53623
53624         c-stack: fix regression on Irix 5.3 from 2008-06-21
53625         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
53626         sa_sigaction...
53627         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
53628         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
53629         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
53630         * modules/signal (Makefile.am): Use the value.
53631         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
53632         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
53633         * doc/posix-headers/signal.texi (signal.h): Document this
53634         portability issue.
53635         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
53636         Reported by Tom G. Christensen.
53637
53638 2008-08-17  Bruno Haible  <bruno@clisp.org>
53639
53640         New module 'threadlib'.
53641         * modules/threadlib: New file.
53642         * lib/glthread/threadlib.c: New file, extracted from
53643         lib/glthread/lock.c.
53644         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
53645         functions.
53646         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
53647         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
53648         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
53649         macros.
53650         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
53651         (gl_DISABLE_THREADS): Remove macro.
53652         * modules/lock (Files): Remove build-aux/config.rpath.
53653         (Depends-on): Remove havelib. Add threadlib.
53654         (configure.ac-early): Remove section.
53655         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
53656         * modules/tls (Depends-on): Remove lock. Add threadlib.
53657         (Link): New section, copied from threadlib.
53658         * MODULES.html.sh (Multithreading): Add threadlib.
53659
53660 2008-08-14  Bruno Haible  <bruno@clisp.org>
53661
53662         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
53663         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
53664         glthread_rwlock_unlock, glthread_rwlock_destroy,
53665         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
53666         glthread_recursive_lock_destroy): Define as macros always.
53667         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
53668         glthread_lock_lock.
53669         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
53670         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
53671         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
53672         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
53673         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
53674         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
53675         (glthread_recursive_lock_lock_func): Renamed from
53676         glthread_recursive_lock_lock.
53677         (glthread_recursive_lock_unlock_func): Renamed from
53678         glthread_recursive_lock_unlock.
53679         (glthread_recursive_lock_destroy_func): Renamed from
53680         glthread_recursive_lock_destroy.
53681
53682 2008-08-14  Bruno Haible  <bruno@clisp.org>
53683
53684         * lib/glthread/lock.h: Renamed from lib/lock.h.
53685         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
53686         * lib/glthread/tls.h: Renamed from lib/tls.h.
53687         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
53688         * lib/fstrcmp.c: Update includes.
53689         * lib/strsignal.c: Update includes.
53690         * modules/lock (Files, Makefile.am): Update.
53691         (Include): Change to "glthread/lock.h".
53692         * modules/tls (Files, Makefile.am): Update.
53693         (Include): Change to "glthread/tls.h".
53694         * tests/test-lock.c: Update includes.
53695         * tests/test-tls.c: Update includes.
53696         * NEWS: Mention the renamed header files.
53697
53698 2008-08-11  Jim Meyering  <meyering@redhat.com>
53699
53700         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
53701
53702 2008-08-11  Eric Blake  <ebb9@byu.net>
53703
53704         test-c-stack: avoid C99-ism
53705         * tests/test-c-stack.c (main): Fix whitespace, move declaration
53706         before statement.
53707         Reported by Alain Guibert.
53708
53709 2008-08-10  Jim Meyering  <meyering@redhat.com>
53710
53711         ensure that return value of uinttostr et al are not ignored
53712         * lib/inttostr.h (__GNUC_PREREQ): Define.
53713         (__attribute_warn_unused_result__): Define.
53714         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
53715
53716 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
53717
53718         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
53719         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
53720
53721 2008-08-07  Jim Meyering  <meyering@redhat.com>
53722
53723         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
53724
53725         * modules/mkstemp (License): Relicense under LGPLv2+.
53726         * modules/tempname (License): Likewise.
53727
53728 2008-08-06  Bruno Haible  <bruno@clisp.org>
53729
53730         * lib/poll.c (poll): Further micro-optimization.
53731
53732 2008-08-06  Jim Meyering  <meyering@redhat.com>
53733
53734         inet_pton.c: use locale-independent tolower
53735         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
53736         (inet_pton6): Use c_tolower rather than tolower.
53737         * modules/inet_pton (Depends-on): Add c-ctype.
53738
53739 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
53740
53741         * lib/poll.c (poll): Avoid division when timeout is 0, cache
53742         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
53743
53744 2008-08-06  Jim Meyering  <meyering@redhat.com>
53745
53746         * modules/inet_pton (License): Relicense under LGPLv2+.
53747
53748 2008-08-03  Bruno Haible  <bruno@clisp.org>
53749
53750         Additional non-aborting API for lock and tls.
53751         * lib/lock.h: Include <errno.h>.
53752         (glthread_lock_init): New macro/function.
53753         (gl_lock_init): Define as wrapper around glthread_lock_init.
53754         (glthread_lock_lock): New macro/function.
53755         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
53756         (glthread_lock_unlock): New macro/function.
53757         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
53758         (glthread_lock_destroy): New macro/function.
53759         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
53760         (glthread_rwlock_init): New macro/function.
53761         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
53762         (glthread_rwlock_rdlock): New macro/function.
53763         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
53764         (glthread_rwlock_wrlock): New macro/function.
53765         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
53766         (glthread_rwlock_unlock): New macro/function.
53767         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
53768         (glthread_rwlock_destroy): New macro/function.
53769         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
53770         (glthread_recursive_lock_init): New macro/function.
53771         (gl_recursive_lock_init): Define as wrapper around
53772         glthread_recursive_lock_init.
53773         (glthread_recursive_lock_lock): New macro/function.
53774         (gl_recursive_lock_lock): Define as wrapper around
53775         glthread_recursive_lock_lock.
53776         (glthread_recursive_lock_unlock): New macro/function.
53777         (gl_recursive_lock_unlock): Define as wrapper around
53778         glthread_recursive_lock_unlock.
53779         (glthread_recursive_lock_destroy): New macro/function.
53780         (gl_recursive_lock_destroy): Define as wrapper around
53781         glthread_recursive_lock_destroy.
53782         (glthread_once): New macro/function.
53783         (gl_once): Define as wrapper around glthread_once.
53784         Update function declarations.
53785         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
53786         glthread_rwlock_init. Return error code.
53787         (glthread_rwlock_rdlock_multithreaded): Renamed from
53788         glthread_rwlock_rdlock. Return error code.
53789         (glthread_rwlock_wrlock_multithreaded): Renamed from
53790         glthread_rwlock_wrlock. Return error code.
53791         (glthread_rwlock_unlock_multithreaded): Renamed from
53792         glthread_rwlock_unlock. Return error code.
53793         (glthread_rwlock_destroy_multithreaded): Renamed from
53794         glthread_rwlock_destroy. Return error code.
53795         (glthread_recursive_lock_init_multithreaded): Renamed from
53796         glthread_recursive_lock_init. Return error code.
53797         (glthread_recursive_lock_lock_multithreaded): Renamed from
53798         glthread_recursive_lock_lock. Return error code.
53799         (glthread_recursive_lock_unlock_multithreaded): Renamed from
53800         glthread_recursive_lock_unlock. Return error code.
53801         (glthread_recursive_lock_destroy_multithreaded): Renamed from
53802         glthread_recursive_lock_destroy. Return error code.
53803         (glthread_once_call): Make static.
53804         (glthread_once_multithreaded): Renamed from glthread_once.
53805         * lib/tls.h: Include <errno.h>.
53806         (glthread_tls_key_init): New macro/function.
53807         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
53808         (glthread_tls_set): New macro/function.
53809         (gl_tls_set): Define as wrapper around glthread_tls_set.
53810         (glthread_tls_key_destroy): New macro/function.
53811         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
53812         Update function declarations.
53813         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
53814         glthread_tls_get.
53815         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
53816
53817 2008-08-04  Eric Blake  <ebb9@byu.net>
53818
53819         gnumakefile: use space, not TAB, outside of targets
53820         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
53821
53822 2008-08-02  Jim Meyering  <meyering@redhat.com>
53823
53824         getdate.y: avoid locale-dependent date parsing failure
53825         In Turkish locales, getdate would fail to recognize keywords
53826         containing a lowercase "i".  The solution is not to rely on
53827         locale-sensitive case-conversion.
53828         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
53829         (lookup_word): Use c_toupper in place of toupper.
53830         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
53831         Reported by Vefa Bicakci <bicave@superonline.com> in
53832         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
53833         * modules/getdate (Depends-on): Add c-ctype.
53834
53835 2008-08-02  Bruno Haible  <bruno@clisp.org>
53836
53837         * gnulib-tool (func_import): When updating or creating a .gitignore
53838         file, prepend each added line with a slash, and ignore leading slashes
53839         from the existing lines.
53840         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
53841
53842 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53843
53844         Portability fix for GNU make 3.79.1.
53845         * top/GNUmakefile: Avoid 'else COND', which older GNU make
53846         versions do not understand.
53847
53848 2008-08-01  Bruno Haible  <bruno@clisp.org>
53849
53850         Work around bug of HP-UX 10.20 cc with -0.0 literal.
53851         * tests/test-isnanf.h (zero): New variable.
53852         (main): Avoid literal -0.0f.
53853         * tests/test-isnand.h (zero): New variable.
53854         (main): Avoid literal -0.0.
53855         * tests/test-isnanl.h (zero): New variable.
53856         (main): Avoid literal -0.0L.
53857         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
53858         (test_float, test_double, test_long_double): Avoid literals -0.0f,
53859         -0.0, -0.0L.
53860         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
53861         (test_signbitd): Avoid literal -0.0.
53862         (test_signbitl): Avoid literal -0.0L.
53863         * tests/test-ceilf1.c (zero): New variable.
53864         (main): Avoid literal -0.0f.
53865         * tests/test-ceill.c (zero): New variable.
53866         (main): Avoid literal -0.0L.
53867         * tests/test-floorf1.c (zero): New variable.
53868         (main): Avoid literal -0.0f.
53869         * tests/test-floorl.c (zero): New variable.
53870         (main): Avoid literal -0.0L.
53871         * tests/test-roundf1.c (zero): New variable.
53872         (main): Avoid literal -0.0f.
53873         * tests/test-round1.c (zero): New variable.
53874         (main): Avoid literal -0.0.
53875         * tests/test-roundl.c (zero): New variable.
53876         (main): Avoid literal -0.0L.
53877         * tests/test-truncf1.c (zero): New variable.
53878         (main): Avoid literal -0.0f.
53879         * tests/test-trunc1.c (zero): New variable.
53880         (main): Avoid literal -0.0.
53881         * tests/test-truncl.c (zero): New variable.
53882         (main): Avoid literal -0.0L.
53883         * tests/test-frexp.c (zero): New variable.
53884         (main): Avoid literal -0.0.
53885         * tests/test-frexpl.c (zero): New variable.
53886         (main): Avoid literal -0.0L.
53887         * tests/test-ldexpl.c (zero): New variable.
53888         (main): Avoid literal -0.0L.
53889         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
53890         (zerod, zerol): New variables.
53891         (test_function): Avoid literals -0.0, -0.0L.
53892         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
53893         (zerod, zerol): New variables.
53894         (test_function): Avoid literals -0.0, -0.0L.
53895         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
53896         (zerod, zerol): New variables.
53897         (test_function): Avoid literals -0.0, -0.0L.
53898         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
53899         (zerod, zerol): New variables.
53900         (test_function): Avoid literals -0.0, -0.0L.
53901         * tests/test-strtod.c (zero): New variable.
53902         (main): Avoid literal -0.0.
53903         Reported by Jonathan C. Patschke <jp@centtech.com>.
53904
53905 2008-07-31  Jim Meyering  <meyering@redhat.com>
53906
53907         sha256.h: correct definition of SHA224_DIGEST_SIZE
53908         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
53909         Reported by Paulie Pena IV <paulie4@gmail.com>.
53910         Define as 224 / 8, rather than as a literal.
53911         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
53912         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
53913         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
53914
53915 2008-07-31  Bruno Haible  <bruno@clisp.org>
53916
53917         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
53918         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
53919         Reported by Jonathan Patschke <jp@centtech.com>.
53920
53921 2008-07-31  Bruno Haible  <bruno@clisp.org>
53922
53923         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
53924         Reported by Paolo Bonzini <bonzini@gnu.org>.
53925
53926 2008-07-30  Eric Blake  <ebb9@byu.net>
53927
53928         test-strtod: allow compilation without -lm
53929         * tests/test-strtod.c (main): Avoid link dependence on fabs.
53930         Reported by Dennis Clarke <blastwave@gmail.com>.
53931
53932 2008-07-28  Jim Meyering  <meyering@redhat.com>
53933
53934         bootstrap: work also when there are no .po files in po/
53935         * build-aux/bootstrap (update_po_files): Complete the change
53936         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
53937
53938 2008-07-27  Jim Meyering  <meyering@redhat.com>
53939
53940         * users.txt: Add zile.
53941
53942 2008-07-26  Ben Pfaff  <blp@gnu.org>
53943
53944         Add missing dependencies on new m4/exponent[fdl].m4 files.
53945         * modules/isnanf-nolibm: Add m4/exponentf.m4.
53946         * modules/isnand-nolibm: Add m4/exponentd.m4.
53947         * modules/isnanl-nolibm: Add m4/exponentl.m4.
53948         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
53949         m4/isnan[fdl].m4, because the macros actually used moved.
53950         Reported by Jim Meyering.
53951
53952 2008-07-14  Ben Pfaff  <blp@gnu.org>
53953
53954         Add isinf module.
53955         * lib/isinf.c: New file.
53956         * lib/math.in.h: Define isinf macro if we have decided to replace
53957         it.
53958         * m4/isinf.m4: New file.
53959         * m4/math_h.m4: Initialize and substitute variables for isinf
53960         module.
53961         * modules/isinf: New file.
53962         * modules/isinf-tests: New file.
53963         * modules/math: Add substitutions for new module.
53964         * tests/test-isinf.c: New file.
53965         * doc/posix-functions/isinf.texi: Mention new module.
53966         * MODULES.html.sh: Mention new module.
53967
53968 2008-07-14  Ben Pfaff  <blp@gnu.org>
53969
53970         Factor out some macros for use by additional modules.
53971         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
53972         exponentf.m4.
53973         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
53974         exponentd.m4.
53975         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
53976         file exponentl.m4.
53977         * m4/exponentf.m4: New file.
53978         * m4/exponentd.m4: New file.
53979         * m4/exponentl.m4: New file.
53980         * modules/isnanf: Use new file m4/exponentf.m4.
53981         * modules/isnand: Use new file m4/exponentd.m4.
53982         * modules/isnanl: Use new file m4/exponentl.m4.
53983
53984 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
53985
53986         mktime.c: normalize tp->tm_isdst value to -1/0/1.
53987         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
53988         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
53989         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
53990
53991         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
53992         readlink on platforms without PATH_MAX.
53993
53994 2008-07-21  Eric Blake  <ebb9@byu.net>
53995
53996         Warn, not fail, on stale version.
53997         * top/GNUmakefile (_curr-ver): Tone down previous patch.
53998
53999         Don't allow installation with stale devel version number.
54000         * top/GNUmakefile (_is-install-target): New macro.
54001         (_curr-ver): Forbid installation with stale version number.
54002
54003 2008-07-20  Bruno Haible  <bruno@clisp.org>
54004
54005         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
54006         TESTS_ENVIRONMENT.
54007         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
54008
54009 2008-07-20  Bruno Haible  <bruno@clisp.org>
54010
54011         * lib/c-stack.h (c_stack_action): Add documentation.
54012         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
54013
54014 2008-07-20  Bruno Haible  <bruno@clisp.org>
54015
54016         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
54017         * modules/readlink (License): Likewise.
54018
54019 2008-07-17  Eric Blake  <ebb9@byu.net>
54020
54021         * modules/c-stack (Link): Fix typo.
54022
54023         Make c-stack use libsigsegv, when available.
54024         * modules/c-stack (Depends-on): Add libsigsegv.
54025         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
54026         needed.
54027         * lib/c-stack.c (SIGSTKSZ): Define fallback.
54028         (segv_handler, overflow_handler, c_stack_action)
54029         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
54030         implementation when libsigsegv is available, but only when using
54031         the library is necessary.
54032         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
54033         comment, explaining why XSI check fails on Linux.
54034         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
54035         * tests/test-c-stack2.sh: Tweak skip message.
54036         * NEWS: Document new link-time requirements.
54037
54038 2008-07-16  Eric Blake  <ebb9@byu.net>
54039
54040         c-stack: Expose false positives when not using libsigsegv.
54041         * modules/c-stack-tests (Files): Expand test.
54042         * tests/test-c-stack.c (main): Add means to conditionally trigger
54043         non-overflow SIGSEGV.
54044         * tests/test-c-stack2.sh: New file.
54045
54046 2008-07-14  Bruno Haible  <bruno@clisp.org>
54047
54048         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
54049         Reported by Eric Blake.
54050
54051 2008-07-14  Sam Steingold  <sds@gnu.org>
54052             Bruno Haible  <bruno@clisp.org>
54053
54054         New module libsigsegv.
54055         * modules/libsigsegv: New file.
54056         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
54057         modifications.
54058         * MODULES.html.sh (Signal handling): New section.
54059
54060 2008-07-14  Bruno Haible  <bruno@clisp.org>
54061
54062         * modules/unictype/ctype-* (Description): Add the word "function".
54063         Improves the resulting doc in MODULES.html.
54064
54065 2008-07-12  Ben Pfaff  <blp@gnu.org>
54066
54067         Add longlong module.
54068         * modules/longlong: New file.
54069
54070 2008-07-12  Bruno Haible  <bruno@clisp.org>
54071
54072         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
54073         to empty.
54074
54075 2008-07-10  Ben Pfaff  <blp@gnu.org>
54076
54077         Add isnan module.
54078         * doc/posix-functions/isnan.texi: Mention new module.
54079         * lib/math.in.h: Define isnan macro if we have decided to replace
54080         it.
54081         * m4/isnan.m4: New file.
54082         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
54083         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
54084         also.
54085         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
54086         redundancy.
54087         * m4/math_h.m4: Initialize and substitute variables for isnan
54088         module.
54089         * modules/isnan: New file.
54090         * modules/isnan-tests: New file.
54091         * modules/math: Add substitutions for new module.
54092         * tests/test-isnan.c: New file.
54093         * MODULES.html.sh: Mention new module.
54094
54095 2008-07-10  Ben Pfaff  <blp@gnu.org>
54096
54097         Add isnanf module.
54098         * lib/isnanf.m4: New file.
54099         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
54100         (gl_HAVE_ISNANF_IN_LIBM): New macro.
54101         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
54102         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
54103         * modules/isnanf: New file.
54104         * modules/isnanf-tests: New file.
54105         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
54106         files.
54107         * tests/test-isnanf-nolibm.c: factored most of its contents into
54108         new file tests/test-isnanf.h.
54109         * tests/test-isnanf.h: New file.
54110         * tests/test-isnanf.c: New file.
54111         * MODULES.html.sh: Mention new module.
54112         * doc/glibc-functions/isnanf.texi: Mention new module.
54113
54114 2008-07-10  Ben Pfaff  <blp@gnu.org>
54115
54116         Add isnand module.
54117         * lib/isnand.h: New file.
54118         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
54119         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
54120         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
54121         functionality also.
54122         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
54123         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
54124         (gl_HAVE_ISNAND_IN_LIBM): New macro.
54125         * modules/isnand: New file.
54126         * modules/isnand-tests: New file.
54127         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
54128         files.
54129         * tests/test-isnand-nolibm.c: factored most of its contents into
54130         new file tests/test-isnand.h.
54131         * tests/test-isnand.h: New file.
54132         * tests/test-isnand.c: New file.
54133         * MODULES.html.sh: Mention new module.
54134
54135 2008-07-10  Ben Pfaff  <blp@gnu.org>
54136
54137         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
54138         * lib/isnand.h: Rename lib/isnand-nolibm.h.
54139         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
54140         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
54141         * modules/isnanf-nolibm: Update references to renamed files.
54142         * modules/isnand-nolibm: Likewise.
54143         * modules/isnanf-nolibm-tests: Likewise.
54144         * modules/isnand-nolibm-tests: Likewise.
54145         * lib/frexp.c: Likewise.
54146         * lib/isfinite.c: Likewise.
54147         * lib/signbitd.c: Likewise.
54148         * lib/signbitf.c: Likewise.
54149         * lib/vasnprintf.c: Likewise.
54150         * tests/test-ceilf1.c: Likewise.
54151         * tests/test-ceilf2.c: Likewise.
54152         * tests/test-floorf1.c: Likewise.
54153         * tests/test-floorf2.c: Likewise.
54154         * tests/test-frexp.c: Likewise.
54155         * tests/test-round1.c: Likewise.
54156         * tests/test-round2.c: Likewise.
54157         * tests/test-roundf1.c: Likewise.
54158         * tests/test-strtod.c: Likewise.
54159         * tests/test-trunc1.c: Likewise.
54160         * tests/test-trunc2.c: Likewise.
54161         * tests/test-truncf1.c: Likewise.
54162         * tests/test-truncf2.c: Likewise.
54163         * NEWS: Mention the renamed header files.
54164
54165 2008-07-11  Jim Meyering  <meyering@redhat.com>
54166
54167         vc-list-files: make the last-resort awk code more portable
54168         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
54169         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
54170         does not support it.
54171
54172 2008-07-10  Eric Blake  <ebb9@byu.net>
54173
54174         Work with tar's bootstrap.
54175         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
54176         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
54177         an m4 comment.
54178
54179 2008-07-09  Jim Meyering  <meyering@redhat.com>
54180
54181         posix-shell.m4: fix typo that made this test malfunction
54182         * m4/posix-shell.m4: Remove capitalization in variable name.
54183
54184 2008-07-08  Bruno Haible  <bruno@clisp.org>
54185
54186         * m4/onceonly.m4: Update comments.
54187         Reported by Ben Pfaff <blp@cs.stanford.edu>.
54188
54189 2008-07-04  Jim Meyering  <meyering@redhat.com>
54190
54191         * users.txt: Add vc-dwim.
54192         (bison, coreutils): Use the gitweb URL.
54193
54194 2008-07-03  Jim Meyering  <meyering@redhat.com>
54195
54196         * users.txt: Add libffcall.  From Sam Steingold.
54197
54198 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
54199
54200         getdate.y: do not ignore TZ with relative day, month or year offset
54201         * lib/getdate.y (get_date): Move the tz-handling block to follow the
54202         relative-date-handling, since otherwise, the latter would clobber the
54203         sole output (an updated Start value) of the tz-handling block.
54204         * tests/test-getdate.c: Tests for the fix
54205
54206 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54207
54208         Recognize 'foo_LIBRARIES += libgnu.a'.
54209         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
54210         makefile snippet has already specified an installation location,
54211         also using '+='.
54212
54213 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
54214
54215         getdate.y: factor out common actions
54216         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
54217         Use them in place of open-coded actions.
54218
54219 2008-07-01  Simon Josefsson  <simon@josefsson.org>
54220
54221         Add self-test for getdate module.
54222         * modules/getdate-tests: New file.
54223         * tests/test-getdate.c: New file.
54224
54225 2008-06-29  Bruno Haible  <bruno@clisp.org>
54226
54227         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
54228         .gitignore.
54229         Reported by Sylvain Beucler <beuc@beuc.net>.
54230
54231 2008-06-29  Bruno Haible  <bruno@clisp.org>
54232
54233         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
54234         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
54235
54236 2008-06-29  Bruno Haible  <bruno@clisp.org>
54237
54238         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
54239         EXTRA_DIST.
54240         Reported by Sylvain Beucler <beuc@beuc.net>.
54241
54242 2008-06-26  Jim Meyering  <meyering@redhat.com>
54243
54244         make several modules depend on the "open" module
54245         This provides slightly increased consistency when opening-for-write
54246         the name of a non-directory spelled with a trailing slash.
54247         * modules/chdir-safer: Likewise.
54248         * modules/chown: Likewise.
54249         * modules/clean-temp: Likewise.
54250         * modules/copy-file: Likewise.
54251         * modules/fchdir: Likewise.
54252         * modules/fcntl-safer: Likewise.
54253         * modules/pipe: Likewise.
54254         * modules/utime: Likewise.
54255         Prompted by Eric Blake and Bruno Haible.
54256
54257 2008-06-24  Andreas Schwab  <schwab@suse.de>
54258
54259         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
54260         literals can be used as initializers for global variables.
54261
54262 2008-06-23  Eric Blake  <ebb9@byu.net>
54263
54264         Make gnulib-cache.m4 easier to diff.
54265         * gnulib-tool (func_import): Allow newlines when reading cached
54266         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
54267
54268 2008-06-23  Bruno Haible  <bruno@clisp.org>
54269
54270         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
54271         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
54272         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
54273         m4/signalblocking.m4.
54274         (gl_PREREQ_SIGACTION): Don't invoke it.
54275         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
54276         gl_PREREQ_SIG_HANDLER_H.
54277         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
54278         Don't check for sigaction here.
54279
54280 2008-06-23  Bruno Haible  <bruno@clisp.org>
54281
54282         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
54283         (install_handlers): Don't set the SA_RESETHAND flag.
54284
54285 2008-06-23  Bruno Haible  <bruno@clisp.org>
54286
54287         * m4/sigaction.m4: Comment fixes.
54288         * lib/signal.in.h: Likewise.
54289
54290 2008-06-23  Eric Blake  <ebb9@byu.net>
54291
54292         Fix typo.
54293         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
54294
54295         Avoid SA_ namespace.
54296         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
54297         Reported by Ralf Wildenhues.
54298
54299         Avoid test failure due to SA_RESTORER.
54300         * tests/test-sigaction.c (SA_MASK): New macro.
54301         (main): Avoid failing due to extension flags being set.
54302         Reported by Jim Meyering.
54303
54304         Revert use of sig-handler.h in sigprocmask.c.
54305         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
54306         it requires the existence of struct sigaction.
54307         * lib/sigprocmask.c (handler_t): Restore typedef.
54308         (rpl_signal, old_handlers): Use local type.
54309
54310 2008-06-22  Bruno Haible  <bruno@clisp.org>
54311
54312         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
54313         conditionally.
54314         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
54315
54316 2008-06-22  Bruno Haible  <bruno@clisp.org>
54317
54318         * doc/posix-functions/siginterrupt.texi: Move note.
54319
54320         * lib/signal.in.h (SA_RESTART): New macro.
54321         * lib/sigaction.c: Update comment.
54322
54323         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
54324
54325         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
54326         (gl_PREREQ_SIGPROCMASK): Invoke it.
54327         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
54328
54329         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
54330
54331         * lib/sigprocmask.c: Update a comment.
54332
54333 2008-06-21  Eric Blake  <ebb9@byu.net>
54334
54335         Use sigaction module rather than signal().
54336         * modules/c-stack (Depends-on): Add sigaction.
54337         * modules/fatal-signal (Depends-on): Likewise.
54338         * modules/nanosleep (Depends-on): Likewise.
54339         * modules/sigprocmask (Files): Add sig-handler.h.
54340         * modules/sigaction (Files): Likewise.
54341         * lib/sig-handler.h (get_handler): New file, suggested by Paul
54342         Eggert.
54343         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
54344         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
54345         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
54346         (init_fatal_signals): Likewise.
54347         * lib/nanosleep.c (rpl_nanosleep): Likewise.
54348         (siginterrupt): Delete fallback.
54349         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
54350         instead.
54351         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
54352         siginterrupt.
54353
54354         New module sigaction, for mingw.
54355         * modules/sigaction: New module...
54356         * modules/sigaction-tests: ...and its test.
54357         * m4/sigaction.m4: New file.
54358         * lib/sigaction.c: Likewise.
54359         * tests/test-sigaction.c: Likewise.
54360         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
54361         * modules/signal (Makefile.am): Likewise.
54362         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
54363         needed.
54364         * doc/posix-headers/signal.texi (signal.h): Mention provided
54365         types.
54366         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
54367         that sigaction is preferable.
54368         * doc/posix-functions/sigaction.texi (sigaction): Mention new
54369         module.
54370         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54371         sigaction.
54372
54373         Improve robustness of sigprocmask by overriding signal.
54374         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
54375         is in use.
54376         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
54377         (SIGKILL, SIGSTOP): Provide fallbacks.
54378         (rpl_signal): Implement.
54379         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
54380         signal can be called inside handlers.
54381
54382         Fix nanosleep module on mingw.
54383         * modules/nanosleep (Depends-on): Add sys_select.
54384         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
54385
54386         Fix licensing of sigprocmask.
54387         * modules/raise (License): Relicense as LGPL.
54388
54389 2008-06-21  Bruno Haible  <bruno@clisp.org>
54390
54391         * lib/propername.c (proper_name_utf8): Don't use the transliterated
54392         result if it contains question marks.
54393         Reported by Michael Geng <linux@michaelgeng.de>.
54394
54395 2008-06-19  Bruno Haible  <bruno@clisp.org>
54396
54397         Fix CVS-ism.
54398         * doc/gnulib.texi: Include updated-stamp.texi.
54399         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
54400         (updated-stamp.texi): New rule.
54401         (gnulib.info): Depend on it.
54402         * doc/.gitignore: Add updated-stamp.texi.
54403         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
54404
54405 2008-06-19  Bruno Haible  <bruno@clisp.org>
54406
54407         * doc/Makefile (gnulib.info): Update and simplify dependencies.
54408         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
54409
54410 2008-06-19  Eric Blake  <ebb9@byu.net>
54411
54412         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
54413         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
54414         Reported by Stepan Kasal.
54415
54416 2008-06-18  Bruno Haible  <bruno@clisp.org>
54417
54418         * lib/fatal-signal.c (init_fatal_signals): Add comment.
54419         Reported by Eric Blake.
54420
54421 2008-06-18  Eric Blake  <ebb9@byu.net>
54422
54423         Work around cygwin 1.5.25 strsignal bug.
54424         * tests/test-strsignal.c: Allow for const char *.
54425         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
54426
54427 2008-06-18  Simon Josefsson  <simon@josefsson.org>
54428
54429         * users.txt: Update URL to article and add author/date
54430         information.
54431
54432 2008-06-17  Bruno Haible  <bruno@clisp.org>
54433
54434         New macro gl_DISABLE_THREADS.
54435         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
54436         if the user did not pass --enable-threads or --disable-threads option.
54437         (gl_DISABLE_THREADS): New macro.
54438         Reported by Eric Blake <ebb9@byu.net>.
54439
54440 2008-06-17  Bruno Haible  <bruno@clisp.org>
54441
54442         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
54443         when the macro ignores it.
54444         Based on a patch by Eric Blake <ebb9@byu.net>.
54445
54446 2008-06-17  Bruno Haible  <bruno@clisp.org>
54447
54448         * modules/tls (License): Change to LGPLv2+.
54449         Reported by Eric Blake.
54450
54451 2008-06-17  Eric Blake  <ebb9@byu.net>
54452
54453         Simplify c-stack prerequisites.
54454         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
54455         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
54456         no longer requires <ucontext.h> to exist.  Optimize setrlimit
54457         check.
54458         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
54459         <sys/resource.h>.
54460
54461         Move c-stack test into testsuite.
54462         * modules/c-stack-tests: New file.
54463         * lib/c-stack.c [DEBUG]: Move test program...
54464         * tests/test-c-stack.c: ...into this new file.  Skip rather than
54465         fail test if sigaltstack is lacking.
54466         * tests/test-c-stack.sh: New driver file.
54467
54468 2008-06-16  Eric Blake  <ebb9@byu.net>
54469
54470         Use raise module consistently.
54471         * modules/fatal-signal (Depends-on): Add raise.
54472         * modules/sigprocmask (Depends-on): Likewise.
54473         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
54474         * lib/sigprocmask.c (sigprocmask): Likewise.
54475         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
54476         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
54477
54478         Fix compliance bug in sigpending.
54479         * lib/sigprocmask.c (sigpending): Return pending array via
54480         parameter, not return value.
54481
54482 2008-06-14  Eric Blake  <ebb9@byu.net>
54483
54484         Improve obstack-printf test code.
54485         * tests/test-obstack-printf.c (test_function): Fix comment, and
54486         simplify usage of obstack_* in macros.  Add a test for coverage.
54487         Reported by Bruno Haible.
54488
54489 2008-06-14  Bruno Haible  <bruno@clisp.org>
54490
54491         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
54492         array size as a constant, not as a const variable.
54493         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
54494         AC_USE_SYSTEM_EXTENSIONS.
54495         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
54496         Test whether the obstack_printf function actually exists.
54497         * modules/obstack-printf (Depends-on): Add extensions.
54498         (Include): Remove obstack.h.
54499         * modules/obstack-printf-posix (Depends-on): Add extensions.
54500         (Include): Remove obstack.h.
54501
54502 2008-06-13  Eric Blake  <ebb9@byu.net>
54503
54504         Add obstack-printf and obstack-printf-posix modules.
54505         * modules/obstack-printf: New file.
54506         * modules/obstack-printf-posix: Likewise.
54507         * MODULES.html.sh (Misc): Mention them.
54508         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
54509         Likewise.
54510         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
54511         Likewise.
54512         * modules/stdio (Makefile.am): Accomodate new modules.
54513         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
54514         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
54515         Declare.
54516         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
54517         functions.
54518         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
54519         (gl_REPLACE_OBSTACK_PRINTF): New macros
54520         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
54521         * tests/test-obstack-printf.c: New file.
54522         * modules/obstack-printf-tests: Likewise.
54523         * modules/obstack-printf-posix-tests: Likewise.
54524
54525 2008-06-11  Bruno Haible  <bruno@clisp.org>
54526
54527         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
54528         * lib/open.c: Include errno.h.
54529         (open): Fail when attempting to write to a file that has a trailing
54530         slash.
54531         * tests/test-open.c (main): Test against trailing slash bug.
54532         * doc/posix-functions/open.texi: Mention the trailing slash bug.
54533
54534 2008-06-10  Bruno Haible  <bruno@clisp.org>
54535
54536         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
54537         for $? to work inside the trap command, with various /bin/sh-s.
54538         * tests/test-vc-list-files-cvs.sh: Likewise.
54539
54540 2008-06-10  Bruno Haible  <bruno@clisp.org>
54541
54542         * lib/acl-internal.h: Don't include gettext.h here.
54543         * lib/set-mode-acl.c: Include gettext.h here.
54544         * lib/copy-acl.c: Likewise.
54545
54546 2008-06-10  Bruno Haible  <bruno@clisp.org>
54547
54548         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
54549         * lib/wait-process.c (wait_subprocess): Likewise.
54550         * lib/execute.h (execute): Add termsigp argument.
54551         * lib/execute.c (execute): Likewise.
54552         * lib/csharpcomp.c (compile_csharp_using_pnet,
54553         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
54554         * lib/csharpexec.c (execute_csharp_using_pnet,
54555         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
54556         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
54557         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
54558         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
54559         is_jikes_present): Update.
54560         * lib/javaexec.c (execute_java_class): Update.
54561         * lib/javaversion.c (execute_and_read_line): Update.
54562         * NEWS: Document the changes.
54563         Reported by Eric Blake.
54564
54565 2008-06-10  Eric Blake  <ebb9@byu.net>
54566
54567         Add missing include.
54568         * tests/test-strstr.c (includes): Add <signal.h>.
54569         * tests/test-strcasestr.c (includes): Likewise.
54570         * tests/test-memmem.c (includes): Likewise.
54571
54572 2008-06-10  Bruno Haible  <bruno@clisp.org>
54573
54574         * lib/wait-process.c (wait_subprocess): Add an assertion.
54575
54576 2008-06-10  Bruno Haible  <bruno@clisp.org>
54577
54578         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
54579
54580 2008-06-10  Bruno Haible  <bruno@clisp.org>
54581
54582         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
54583         using alarm().
54584         * tests/test-strcasestr.c (main): Likewise.
54585         * tests/test-strstr.c (main): Likewise.
54586
54587 2008-06-09  Bruno Haible  <bruno@clisp.org>
54588
54589         Work around the Solaris 10 ACE ACLs ABI change.
54590         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
54591         declare if ACL_NO_TRIVIAL is present.
54592         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
54593         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
54594         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
54595         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
54596         define if ACL_NO_TRIVIAL is present.
54597         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
54598         and use the current ABI.
54599         (file_has_acl): Use same #if condition as elsewhere.
54600         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
54601         in use, and use the current ABI.
54602         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
54603         Reported by Jim Meyering.
54604
54605 2008-06-09  Eric Blake  <ebb9@byu.net>
54606
54607         Work around environments that (stupidly) ignore SIGALRM.
54608         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
54609         before using alarm().
54610         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
54611         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
54612         Reported by Ian Beckwith <ianb@erislabs.net>.
54613
54614         Produce autobuild blurb earlier in log.
54615         * modules/autobuild (configure.ac-early): Move AB_INIT here.
54616
54617 2008-06-09  Jim Meyering  <meyering@redhat.com>
54618         and OndÅ™ej Vašík  <ovasik@redhat.com>
54619
54620         utimens.c: correct kernel bug work-around
54621         OndÅ™ej Vašík found that the invalid return value of 280 indicates
54622         failure, not success, and the kernel bug we're trying to work
54623         around affects not just the utimensat call, but also the fallback
54624         futimens call.
54625         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
54626         not success.
54627         [HAVE_FUTIMENS]: Use the same work-around, here.
54628
54629 2008-06-09  Jim Meyering  <meyering@redhat.com>
54630
54631         add more guards around definition of ACE_-related code
54632         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
54633         ALLOW and ACE_OWNER are also defined.
54634
54635 2008-06-08  Bruno Haible  <bruno@clisp.org>
54636
54637         * lib/acl-internal.h: Add me as co-author.
54638         * lib/file-has-acl.c: Likewise.
54639         * lib/set-mode-acl.c: Likewise.
54640         * lib/copy-acl.c: Likewise.
54641
54642 2008-06-08  Bruno Haible  <bruno@clisp.org>
54643
54644         Add support for AIX ACLs.
54645         * lib/acl-internal.h (acl_nontrivial): New declaration.
54646         * lib/file-has-acl.c (acl_nontrivial): New function.
54647         (file_has_acl): Add implementation using AIX 4 ACL API.
54648         * lib/set-mode-acl.c (qset_acl): Likewise.
54649         * lib/copy-acl.c (qcopy_acl): Likewise.
54650
54651 2008-06-08  Bruno Haible  <bruno@clisp.org>
54652
54653         Add support for HP-UX ACLs.
54654         * lib/acl-internal.h (acl_nontrivial): New declaration.
54655         * lib/file-has-acl.c (acl_nontrivial): New function.
54656         (file_has_acl): Add implementation using HP-UX 11 ACL API.
54657         * lib/set-mode-acl.c (qset_acl): Likewise.
54658         * lib/copy-acl.c (qcopy_acl): Likewise.
54659
54660 2008-06-08  Bruno Haible  <bruno@clisp.org>
54661
54662         Add support for Cygwin ACLs.
54663         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
54664         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
54665         the chmod_or_fchmod call.
54666         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
54667
54668 2008-06-08  Bruno Haible  <bruno@clisp.org>
54669
54670         Fix bug with setuid modes in Solaris 10+ code.
54671         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
54672         succeeded, when the mode contains some special bits.
54673
54674 2008-06-08  Bruno Haible  <bruno@clisp.org>
54675
54676         Add support for Solaris 7..10 ACLs.
54677         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
54678         declarations.
54679         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
54680         functions.
54681         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
54682         * lib/set-mode-acl.c (qset_acl): Likewise.
54683         * lib/copy-acl.c (qcopy_acl): Likewise.
54684
54685 2008-06-08  Bruno Haible  <bruno@clisp.org>
54686
54687         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
54688         declaration.
54689         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
54690         (acl_access_nontrivial): Remove MacOS X case.
54691         (file_has_acl): Use acl_extended_nontrivial.
54692         * lib/copy-acl.c (qcopy_acl): Likewise.
54693
54694 2008-06-08  Bruno Haible  <bruno@clisp.org>
54695
54696         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
54697
54698 2008-06-08  Jim Meyering  <meyering@redhat.com>
54699
54700         * modules/acl (Maintainer): Add Bruno Haible.
54701
54702 2008-06-07  Bruno Haible  <bruno@clisp.org>
54703
54704         Improve support for Tru64 ACLs.
54705         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
54706         ACL on OSF/1.
54707
54708 2008-06-07  Bruno Haible  <bruno@clisp.org>
54709
54710         Add support for MacOS X ACLs.
54711         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
54712         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
54713         * lib/set-mode-acl.c (qset_acl): Likewise.
54714         * lib/copy-acl.c (qcopy_acl): Likewise.
54715
54716 2008-06-07  Bruno Haible  <bruno@clisp.org>
54717
54718         Fix memory leak introduced on 2008-05-22.
54719         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
54720         use.
54721
54722 2008-06-07  Bruno Haible  <bruno@clisp.org>
54723
54724         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
54725         to construct an empty ACL.
54726
54727 2008-06-07  Bruno Haible  <bruno@clisp.org>
54728
54729         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
54730         precisely.
54731         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
54732
54733 2008-06-07  Bruno Haible  <bruno@clisp.org>
54734
54735         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
54736         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
54737
54738 2008-06-07  Bruno Haible  <bruno@clisp.org>
54739
54740         * doc/posix-functions/_setjmp.texi: Explain the use of this function
54741         regardless of POSIX.
54742         * doc/posix-functions/_longjmp.texi: Likewise.
54743         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
54744         SystemV platform in this case.
54745
54746 2008-06-06  Eric Blake  <ebb9@byu.net>
54747
54748         Document abort() bugs.
54749         * doc/posix-functions/abort.texi (abort): Mention anomalies.
54750
54751         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
54752         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
54753         sigsetjmp.
54754         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
54755         siglongjmp, but only as a macro.
54756         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
54757         is obsolete.
54758         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
54759
54760         Tweak documentation to cover cygwin argz bugs.
54761         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
54762         argz bug fix; no code change needed since no cygwin releases
54763         occurred between the last fix and the bug being tested.
54764         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
54765         module and recently fixed cygwin bugs.
54766         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
54767         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
54768         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
54769         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
54770         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
54771         Likewise.
54772         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
54773         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
54774         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
54775         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
54776         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
54777         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
54778         Likewise.
54779
54780         Avoid gcc warning on cygwin.
54781         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
54782         !ACL_NO_TRIVIAL]: Avoid unused variable.
54783
54784 2008-06-05  Eric Blake  <ebb9@byu.net>
54785
54786         Be tolerant of UNKNOWN version in gnulib-tool test dir.
54787         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
54788         git-version-gen fails to come up with a version.
54789         Reported by Simon Josefsson.
54790
54791 2008-06-05  Jim Meyering  <meyering@redhat.com>
54792             Paul Eggert  <eggert@cs.ucla.edu>
54793
54794         utimens.c: work around a probable Linux kernel bug
54795         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
54796         appears to be a kernel bug that causes utimensat to return 280
54797         instead of 0, indicating success.
54798
54799 2008-06-04  Bruno Haible  <bruno@clisp.org>
54800
54801         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
54802         2008-06-01 commit.
54803
54804 2008-06-04  Bruno Haible  <bruno@clisp.org>
54805
54806         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
54807         * lib/file-has-acl.c (acl_access_nontrivial): New function.
54808         (file_has_acl): Use it. Save errno afterwards.
54809         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
54810
54811 2008-06-03  Bruno Haible  <bruno@clisp.org>
54812
54813         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
54814         draft code. Simplify #ifs.
54815         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
54816         Put Solaris code after POSIX-draft code. Fix comments regarding
54817         Solaris 10, HP-UX. Mention Cygwin.
54818         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
54819
54820 2008-06-03  Eric Blake  <ebb9@byu.net>
54821
54822         Provide fallback for older kernels.
54823         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
54824         Provide runtime fallback if kernel lacks support.
54825         Reported by Mike Frysinger.
54826
54827 2008-06-02  Bruno Haible  <bruno@clisp.org>
54828
54829         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
54830         it exists.
54831
54832 2008-06-02  Bruno Haible  <bruno@clisp.org>
54833
54834         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
54835         * lib/copy-acl.c (qcopy_acl): Update comment.
54836
54837 2008-06-02  Bruno Haible  <bruno@clisp.org>
54838
54839         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
54840         like ACL APIs.
54841
54842 2008-06-02  Bruno Haible  <bruno@clisp.org>
54843
54844         * tests/test-file-has-acl.sh: Use different code for Cygwin.
54845         * tests/test-set-mode-acl.sh: Likewise.
54846         * tests/test-copy-acl.sh: Likewise.
54847         * tests/test-copy-file.sh: Likewise.
54848
54849 2008-06-02  Bruno Haible  <bruno@clisp.org>
54850
54851         * tests/test-file-has-acl.sh: Remove unused code.
54852
54853 2008-06-01  Bruno Haible  <bruno@clisp.org>
54854
54855         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
54856         (copy_acl): Just a wrapper around qcopy_acl that emits the error
54857         messages.
54858         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
54859
54860 2008-06-01  Bruno Haible  <bruno@clisp.org>
54861
54862         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
54863         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
54864         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
54865         APIs.
54866         * modules/acl-tests (configure.ac): Remove tests now contained in
54867         m4/acl.m4.
54868
54869 2008-06-02  Jim Meyering  <meyering@redhat.com>
54870
54871         announce-gen: use a better key-server host name
54872         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
54873         it may be more consistently reliable.  Suggested by Werner Koch
54874         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
54875
54876 2008-06-01  Bruno Haible  <bruno@clisp.org>
54877
54878         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
54879         Reported by Voroskoi Andras <voroskoi@gmail.com>.
54880
54881 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
54882
54883         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
54884
54885 2008-06-01  Bruno Haible  <bruno@clisp.org>
54886
54887         New ACL tests.
54888         * tests/test-file-has-acl.sh: New file.
54889         * tests/test-file-has-acl.c: New file.
54890         * tests/test-set-mode-acl.sh: New file.
54891         * tests/test-set-mode-acl.c: New file.
54892         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
54893         * tests/test-copy-acl.c: New file.
54894         * modules/acl-tests: New file, based on modules/copy-file-tests.
54895         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
54896         (Depends-on): Add acl-tests.
54897         (configure.ac): Remove checks.
54898         (Makefile.am): Don't create test-sameacls program here any more.
54899
54900 2008-06-01  Bruno Haible  <bruno@clisp.org>
54901
54902         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
54903         * tests/test-sameacls.c: Include progname.h.
54904         (main): Invoke set_program_name. Portability fixes for MacOS X,
54905         Solaris, HP-UX.
54906
54907 2008-06-01  Bruno Haible  <bruno@clisp.org>
54908
54909         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
54910         function.
54911         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
54912
54913 2008-06-01  Bruno Haible  <bruno@clisp.org>
54914
54915         * modules/rpmatch (Depends-on): Add strdup.
54916
54917 2008-06-01  Bruno Haible  <bruno@clisp.org>
54918
54919         * lib/pipe.c: Include unistd-safer.h.
54920         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
54921         * modules/pipe (Depends-on): Add unistd-safer.
54922
54923 2008-05-30  Simon Josefsson  <simon@josefsson.org>
54924
54925         * modules/autobuild (configure.ac): Call AB_INIT.
54926
54927 2008-05-30  Simon Josefsson  <simon@josefsson.org>
54928
54929         * tests/test-getaddrinfo.c: Don't print debug messages by default.
54930         Suggested by Bruno Haible <bruno@clisp.org>.
54931
54932 2008-05-30  Simon Josefsson  <simon@josefsson.org>
54933
54934         * tests/test-base64.c: Cast size_t to unsigned long when invoking
54935         printf.  Use %lu instead of %d.  Reported by Bruno Haible
54936         <bruno@clisp.org>.
54937
54938 2008-05-29  Eric Blake  <ebb9@byu.net>
54939
54940         Prefer new POSIX 200x interfaces over futimesat.
54941         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
54942         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
54943         when available.
54944         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
54945
54946 2008-05-28  Bruno Haible  <bruno@clisp.org>
54947
54948         * modules/stpcpy (License): Change to LGPLv2+.
54949         Requested by David Lutterkort <dlutter@redhat.com>.
54950
54951 2008-05-27  Bruno Haible  <bruno@clisp.org>
54952
54953         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
54954         current mingw.
54955         Reported by Jose E. Marchesi <jemarch@gnu.org>.
54956
54957 2008-05-27  Bruno Haible  <bruno@clisp.org>
54958
54959         * modules/iconv_open (Link): New section, from module 'iconv'.
54960         * modules/striconv (Link): Likewise.
54961         * modules/striconveh (Link): Likewise.
54962         * modules/xstriconv (Link): Likewise.
54963         * modules/unicodeio (Link): Likewise.
54964         * modules/propername (Link): Likewise.
54965         Reported by Jim Meyering.
54966
54967 2008-05-26  Jim Meyering  <meyering@redhat.com>
54968
54969         sha256: do not artificially restrict buffer length to be < 2^32
54970         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
54971         uint32_t to size_t.
54972         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
54973         to match.
54974
54975         avoid unaligned access errors, e.g., on sparc
54976         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
54977         direct access through a possibly-unaligned uint64* pointer.
54978         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
54979         direct access through a possibly-unaligned uint32* pointer.
54980         Prompted by this patch from Tom "spot" Callaway:
54981         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
54982
54983         sha512.c: fix typo in comment
54984         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
54985
54986 2008-05-25  Bruno Haible  <bruno@clisp.org>
54987
54988         * lib/set-mode-acl.c: Renamed from lib/acl.c.
54989         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
54990         (Makefile.am): Update lib_SOURCES.
54991
54992 2008-05-25  Bruno Haible  <bruno@clisp.org>
54993
54994         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
54995
54996 2008-05-25  Jim Meyering  <meyering@redhat.com>
54997
54998         useless-if-before-free: freed expr may have white-space differences
54999         * build-aux/useless-if-before-free: Recognize cases in which the
55000         freed expression differs from the tested one in embedded white
55001         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
55002         $1 was used, so we can't make any regexp shy.  Improved tests now
55003         detect this.
55004
55005         useless-if-before-free: accept white space in the expression.
55006         * build-aux/useless-if-before-free: For now, any white space
55007         in the expression must be identical in the free argument.
55008
55009         useless-if-before-free: efficiency tweak
55010         * build-aux/useless-if-before-free: Make the expression-matching
55011         regexp "shy".
55012         Make the *outer* regexp shy, not the expr-matching one.
55013
55014         update code-in-comment to accept cast of free arg
55015         * build-aux/useless-if-before-free: Update regexp.
55016
55017 2008-05-25  Bruno Haible  <bruno@clisp.org>
55018
55019         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
55020         * modules/copy-file-tests (Files, Makefile.am): Update.
55021         * tests/test-copy-file.c (func_test_copy): Update.
55022
55023 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
55024
55025         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
55026
55027 2008-05-23  Bruno Haible  <bruno@clisp.org>
55028
55029         Improve support for ACLs on OSF/1.
55030         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
55031         Remove fallback for unknown flavors of ACLs.
55032
55033 2008-05-22  Bruno Haible  <bruno@clisp.org>
55034
55035         Add support for ACLs on OSF/1.
55036         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
55037         replacements.
55038         (acl_free_text): New macro fallback.
55039         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
55040         acl_free.
55041         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
55042         acl_free_text function. Require AC_C_INLINE.
55043
55044 2008-05-22  Bruno Haible  <bruno@clisp.org>
55045
55046         Make copy_acl work on MacOS X 10.5.
55047         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
55048         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
55049         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
55050         If MODE_INSIDE_ACL, don't assume that every system has the same text
55051         representation for ACLs as FreeBSD.
55052         * lib/copy-acl.c (copy_acl): Add support for platforms with
55053         !MODE_INSIDE_ACL.
55054         * lib/file-has-acl.c (file_has_acl): Likewise.
55055         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
55056         FreeBSD, MacOS X, or IRIX, respectively.
55057
55058 2008-05-22  Bruno Haible  <bruno@clisp.org>
55059
55060         * lib/acl.h: Don't include <sys/acl.h>.
55061         (GETACLCNT): Move fallback to lib/acl-internal.h.
55062         * lib/acl-internal.h: Include <sys/acl.h> here.
55063         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
55064
55065 2008-05-22  Bruno Haible  <bruno@clisp.org>
55066
55067         Split off copy_acl function to separate file.
55068         * lib/copy-acl.c: New file, extracted from lib/acl.c.
55069         * lib/acl.c (copy_acl): Moved function to separate file.
55070         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
55071         * modules/acl (Files): Add lib/copy-acl.c.
55072         (Makefiles.am): Augment lib_SOURCES.
55073
55074 2008-05-22  Bruno Haible  <bruno@clisp.org>
55075
55076         * modules/copy-file-tests: New file.
55077         * tests/test-copy-file.sh: New file.
55078         * tests/test-copy-file.c: New file.
55079         * tests/test-copy-file-sameacls.c: New file.
55080
55081 2008-05-22  Eric Blake  <ebb9@byu.net>
55082
55083         Avoid gcc warning.
55084         * tests/test-memcmp.c (main): Pass NULL indirectly.
55085
55086 2008-05-21  Bruno Haible  <bruno@clisp.org>
55087
55088         Add reference doc about ACLs.
55089         * doc/acl-resources.txt: New file.
55090         * doc/acl-cygwin.txt: New file.
55091
55092 2008-05-21  Bruno Haible  <bruno@clisp.org>
55093
55094         Avoid one more warning from gcc.
55095         * lib/vasnprintf.c (IF_LINT): Update comments.
55096         (VASNPRINTF): Use it also for the 'prefix' array initializer.
55097
55098 2008-05-21  Jim Meyering  <meyering@redhat.com>
55099
55100         avoid a warning from gcc
55101         * lib/vasnprintf.c (IF_LINT): Define.
55102         (scale10_round_decimal_long_double):
55103         Use it to avoid a "may be used uninitialized" warning.
55104         (scale10_round_decimal_double): Likewise.
55105
55106 2008-05-21  Simon Josefsson  <simon@josefsson.org>
55107
55108         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
55109         declared.
55110
55111 2008-05-20  Bruno Haible  <bruno@clisp.org>
55112
55113         * tests/test-memcmp.c (main): Test also the sign of the result. Test
55114         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
55115
55116 2008-05-20  Simon Josefsson  <simon@josefsson.org>
55117
55118         * modules/memcmp-tests: New file.
55119         * tests/test-memcmp.c: New file.
55120
55121 2008-05-19  Bruno Haible  <bruno@clisp.org>
55122
55123         * modules/propername (Notice, configure.ac): Put quoted "..." into
55124         --keyword option.
55125         * lib/propername.h: Update comments accordingly.
55126         Reported by Eric Blake.
55127
55128 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
55129
55130         * modules/getpass-gnu (Depends-on): Add fseeko.
55131
55132 2008-05-19  Simon Josefsson  <simon@josefsson.org>
55133
55134         * modules/base64-tests: New file.
55135
55136 2008-05-19  Bo Borgerson <gigabo@gmail.com>
55137
55138         * lib/base64.c (base64_decode_ctx): If a decode context structure
55139         was passed in use it to ignore newlines.  If a context structure
55140         was _not_ passed in, continue to treat newlines as garbage (this
55141         is the historical behavior).  Formerly base64_decode.
55142         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
55143         takes a decode context structure.
55144         * lib/base64.h (base64_decode): Macro for four-argument calls.
55145         (base64_decode_alloc): Likewise.
55146         * lib/base64.c (base64_decode_ctx): If a decode context structure
55147         was passed in use it to ignore newlines.  If a context structure
55148         was _not_ passed in, continue to treat newlines as garbage (this
55149         is the historical behavior).  Formerly base64_decode.
55150         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
55151         takes a decode context structure.
55152         * lib/base64.h (base64_decode): Macro for four-argument calls.
55153         (base64_decode_alloc): Likewise.
55154
55155 2008-05-19  Jim Meyering  <meyering@redhat.com>
55156
55157         avoid a warning from gcc
55158         * lib/trim.c (IF_LINT): Define.
55159         (trim2): Use it to avoid a "may be used uninitialized" warning.
55160
55161         Fix doc typo.
55162         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
55163
55164 2008-05-19  Bruno Haible  <bruno@clisp.org>
55165
55166         * doc/glibc-functions/getpass.texi: Document limits of other
55167         implementations.
55168
55169 2008-05-19  Simon Josefsson  <simon@josefsson.org>
55170             Bruno Haible <bruno@clisp.org>
55171
55172         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
55173
55174 2008-05-18  Bruno Haible  <bruno@clisp.org>
55175
55176         * modules/propername: New file, from GNU gettext.
55177         * lib/propername.h: New file, from GNU gettext.
55178         * lib/propername.c: New file, from GNU gettext.
55179         * MODULES.html.sh (Internationalization functions): Add propername.
55180
55181 2008-05-16  Jim Meyering  <meyering@redhat.com>
55182             Bruno Haible  <bruno@clisp.org>
55183
55184         Avoid some warnings from "gcc -Wshadow".
55185         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
55186
55187 2008-05-15  Eric Blake  <ebb9@byu.net>
55188
55189         Extend previous patch to cygwin 1.7.0.
55190         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
55191         fast implementation in cygwin >= 1.7.0.
55192         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
55193         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
55194
55195 2008-05-15  Bruno Haible  <bruno@clisp.org>
55196
55197         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
55198         implementation in glibc >= 2.9.
55199         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
55200         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
55201
55202 2008-05-15  Bruno Haible  <bruno@clisp.org>
55203
55204         * MODULES.html.sh (Internationalization functions): Remove linebreak.
55205         (Unicode string functions): Add unilbrk/*.
55206         Reported by Karl Berry.
55207
55208 2008-05-15  Eric Blake  <ebb9@byu.net>
55209
55210         Fix violation of <stdbool.h> replacement in regex.
55211         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
55212         * lib/regexec.c (re_search_internal): Likewise.
55213         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
55214
55215 2008-05-15  Jim Meyering  <meyering@redhat.com>
55216
55217         avoid distracting test output when git or cvs is not found
55218         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
55219         * tests/test-vc-list-files-git.sh: Likewise.
55220
55221 2008-05-15  Eric Blake  <ebb9@byu.net>
55222
55223         Glibc finally accepted the memmem speedup code, bugzilla #5514.
55224         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
55225         glibc version.
55226         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
55227         * doc/posix-functions/strstr.texi (strstr): Likewise.
55228         * lib/str-two-way.h (MAX): Sychronize with glibc.
55229
55230 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
55231
55232         * lib/regcomp.c (optimize_utf8): Add a note on why we test
55233         opr.ctx_type.
55234         (calc_first): Initialize constraint field.
55235         (duplicate_node_closure): Use it instead of special casing ANCHORS.
55236         Fix grammar.
55237         (duplicate_node): Merge constraint field for all node types.
55238         (calc_eclosure_iter): Look at constraint field for all node types.
55239         * lib/regex_internal.c (create_cd_newstate): Don't look at
55240         opr.ctx_type.
55241
55242 2008-05-14  Bruno Haible  <bruno@clisp.org>
55243
55244         Help GCC to do better code generation.
55245         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
55246         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
55247         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
55248         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
55249         Declare with attribute 'malloc' if supported.
55250
55251 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
55252
55253         use "echo STR|wc -c" rather than unportable "expr length STR"
55254         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
55255         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
55256
55257 2008-05-14  Jim Meyering  <meyering@redhat.com>
55258
55259         use dd ibs=$n count=1 ... rather than less-portable head -c$n
55260         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
55261         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
55262         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
55263         via Collin Lasse.
55264
55265 2008-05-14  Eric Blake  <ebb9@byu.net>
55266
55267         Avoid quadratic growth in gl_LIBSOURCES.
55268         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
55269         Suggested by Bruno Haible.
55270
55271         Test xmemdup0.
55272         * modules/xmemdup0-tests: New file.
55273         * tests/test-xmemdup0.c: Likewise.
55274
55275 2008-05-13  Eric Blake  <ebb9@byu.net>
55276
55277         Split xmemdup0 into its own module.
55278         * modules/xmemdup0: New file.
55279         * lib/xmemdup0.h: Likewise.
55280         * lib/xmemdup0.c: Likewise.
55281         * MODULES.html.sh (Memory management functions): Add xmemdup0.
55282         * lib/xalloc.h (xmemdup0): Remove.
55283         * lib/xmalloc.c (xmemdup0): Likewise.
55284
55285 2008-05-13  Eric Blake  <ebb9@byu.net>
55286             Bruno Haible  <bruno@clisp.org>
55287
55288         Reduce number of forks required during autoconf.
55289         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
55290         and gl_LIBSOURCES_DIR.
55291         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
55292         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
55293         m4_syscmd per file.
55294         <m4_foreach_w>: Move...
55295         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
55296
55297 2008-05-13  Eric Blake  <ebb9@byu.net>
55298
55299         * gnulib-tool: Fix various comment typos.
55300
55301 2008-05-12  Bruno Haible  <bruno@clisp.org>
55302
55303         Tailor the linebreaking algorithm.
55304         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
55305
55306 2008-05-12  Bruno Haible  <bruno@clisp.org>
55307
55308         Update to Unicode 5.0.0.
55309         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
55310         LBP_JV, LBP_JT. Redistribute values.
55311         (unilbrk_table): Change size.
55312         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
55313         Unicode TR#14 rev. 22.
55314         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
55315         LBP_JV, LBP_JT. Redistribute values.
55316         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
55317         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
55318         Update.
55319         * lib/unilbrk/lbrkprop1.h: Regenerated.
55320         * lib/unilbrk/lbrkprop2.h: Regenerated.
55321         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
55322         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
55323         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
55324         Likewise.
55325         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
55326         Likewise.
55327         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
55328         result.
55329         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
55330         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
55331         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
55332         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
55333         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
55334         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
55335
55336 2008-05-11  Bruno Haible  <bruno@clisp.org>
55337
55338         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
55339
55340 2008-05-11  Bruno Haible  <bruno@clisp.org>
55341
55342         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
55343         * modules/unilbrk/gen-lbrk: New file.
55344
55345 2008-05-11  Bruno Haible  <bruno@clisp.org>
55346
55347         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
55348         * m4/sha512.m4 (gl_SHA512): Likewise.
55349
55350 2008-05-11  Jim Meyering  <meyering@redhat.com>
55351
55352         New modules: crypto/sha256, crypto/sha512 (from coreutils)
55353         * modules/crypto/sha256: New file.
55354         * modules/crypto/sha512: Likewise.
55355         * lib/sha256.c: Likewise.
55356         * lib/sha256.h: Likewise.
55357         * lib/sha512.c: Likewise.
55358         * lib/sha512.h: Likewise.
55359         * lib/u64.h: Likewise.
55360         * m4/sha256.m4: Likewise.
55361         * m4/sha512.m4: Likewise.
55362         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
55363
55364 2008-05-10  Bruno Haible  <bruno@clisp.org>
55365
55366         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
55367         (Input/Output <stdio.h>): Add xprintf.
55368         (Signal handling <signal.h>): Add strsignal.
55369         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
55370         (Core language properties): Add func.
55371         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
55372         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
55373         strings.
55374         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
55375         (Input/output): New section.
55376         (File system functions): Add openat-die, stat-macros.
55377         (Networking functions): Add sockets.
55378         (Unicode string functions): Add unictype/*.
55379         (Support for building libraries and executables): Add gperf.
55380         (Support for building documentation): Add agpl-3.0.
55381         (Misc): Add nocrash.
55382
55383 2008-05-10  Bruno Haible  <bruno@clisp.org>
55384
55385         * modules/unictype/gen-ctype: New file.
55386
55387 2008-05-10  Jim Meyering  <meyering@redhat.com>
55388
55389         Make chdir-safer.c more efficient on a system with no symlinks.
55390         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
55391         also if ELOOP is zero.  Suggested by Bruno Haible.
55392
55393         Make chdir-safer.c slightly safer.
55394         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
55395         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
55396
55397         Avoid compile failure on systems without ELOOP (like mingw).
55398         * lib/chdir-safer.c (ELOOP): Define if not already defined.
55399         Reported by Bruno Haible.
55400
55401 2008-05-10  Bruno Haible  <bruno@clisp.org>
55402
55403         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
55404         (is_utf8_encoding): Use a case-insensitive comparison.
55405         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
55406         streq.
55407
55408 2008-05-10  Bruno Haible  <bruno@clisp.org>
55409
55410         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
55411         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
55412         * lib/unilbrk/ulc-common.h (iconv_string_length,
55413         iconv_string_keeping_offsets): Remove declarations.
55414         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
55415         Don't include <iconv.h>, streq.h, xsize.h.
55416         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
55417         conversion.
55418         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
55419         <iconv.h>, streq.h, xsize.h.
55420         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
55421         conversion.
55422         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
55423         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
55424         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
55425         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
55426
55427 2008-05-10  Bruno Haible  <bruno@clisp.org>
55428
55429         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
55430         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
55431
55432         * modules/unilbrk/u32-width-linebreaks-tests: New file.
55433         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
55434
55435         * modules/unilbrk/u16-width-linebreaks-tests: New file.
55436         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
55437
55438         * modules/unilbrk/u8-width-linebreaks-tests: New file.
55439         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
55440
55441         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
55442         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
55443
55444         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
55445         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
55446
55447         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
55448         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
55449
55450         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
55451         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
55452
55453 2008-05-10  Bruno Haible  <bruno@clisp.org>
55454
55455         Split up 'linebreak' module.
55456         * lib/unilbrk.h: New file, based on lib/linebreak.h.
55457         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
55458         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
55459         modifications.
55460         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
55461         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
55462         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
55463         lib/linebreak.c.
55464         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
55465         lib/linebreak.c.
55466         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
55467         lib/linebreak.c.
55468         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
55469         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
55470         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
55471         lib/linebreak.c.
55472         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
55473         lib/linebreak.c.
55474         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
55475         lib/linebreak.c.
55476         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
55477         lib/linebreak.c.
55478         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
55479         lib/linebreak.c.
55480         * modules/unilbrk/base: New file.
55481         * modules/unilbrk/tables: New file.
55482         * modules/unilbrk/u8-possible-linebreaks: New file.
55483         * modules/unilbrk/u16-possible-linebreaks: New file.
55484         * modules/unilbrk/u32-possible-linebreaks: New file.
55485         * modules/unilbrk/ulc-common: New file.
55486         * modules/unilbrk/ulc-possible-linebreaks: New file.
55487         * modules/unilbrk/u8-width-linebreaks: New file.
55488         * modules/unilbrk/u16-width-linebreaks: New file.
55489         * modules/unilbrk/u32-width-linebreaks: New file.
55490         * modules/unilbrk/ulc-width-linebreaks: New file.
55491         * lib/linebreak.h: Remove file.
55492         * lib/linebreak.c: Remove file.
55493         * m4/linebreak.m4: Remove file.
55494         * modules/linebreak: Remove file.
55495         * NEWS: Mention the changes.
55496
55497 2008-05-09  Eric Blake  <ebb9@byu.net>
55498
55499         Add xmemdup0.
55500         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
55501         implementation.
55502         * lib/xmalloc.c (xmemdup0): New C implementation.
55503
55504 2008-05-08  Bruno Haible  <bruno@clisp.org>
55505
55506         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
55507
55508 2008-05-07  Eric Blake  <ebb9@byu.net>
55509
55510         Support cross-compilation of <wctype.h>.
55511         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
55512         AC_CACHE_CHECK.
55513
55514 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
55515
55516         * build-aux/vc-list-files: Add support for bzr.
55517
55518 2008-05-03  Jim Meyering  <meyering@redhat.com>
55519
55520         avoid failed assertion with tight malloc
55521         * tests/test-getndelim2.c: Correct an off-by-one assertion.
55522
55523 2008-05-03  Simon Josefsson  <simon@josefsson.org>
55524
55525         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
55526         are needed from arpa/inet.h.
55527         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
55528         Reported by Bruno Haible.
55529
55530 2008-05-02  Jim Meyering  <meyering@redhat.com>
55531
55532         avoid compilation error on FreeBSD 6
55533         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
55534
55535 2008-05-01  Jim Meyering  <meyering@redhat.com>
55536
55537         useless-if-before-free: correct --help's exit status description
55538         * build-aux/useless-if-before-free (usage): Like grep, exit 0
55539         for one or more matches, etc.  Reported by Bruno Haible.
55540
55541         vc-list-files: make the stand-alone gnulib test work
55542         * modules/vc-list-files-tests (configure.ac):
55543         Define and AC_SUBST abs_aux_dir.
55544         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
55545         $(abs_top_srcdir) to each script and having each of them
55546         duplicate the work of setting PATH, set PATH here, using
55547         the new variable, abs_aux_dir instead.
55548         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
55549         * tests/test-vc-list-files-git.sh: Likewise.
55550         Reported by Bruno Haible.
55551
55552 2008-05-01  Bruno Haible  <bruno@clisp.org>
55553
55554         * lib/getndelim2.c (getndelim2): Fix newsize computation during
55555         reallocation. Rename 'done' to 'found_delimiter'.
55556
55557 2008-05-01  Jim Meyering  <meyering@redhat.com>
55558
55559         vc-list-files: accommodate /bin/sh like the one from Solaris 10
55560         * build-aux/vc-list-files: Use `...`, not $(...).
55561
55562 2008-04-30  Jim Meyering  <meyering@redhat.com>
55563
55564         add tests for vc-list-files
55565         * modules/vc-list-files-tests: New module.
55566         * tests/test-vc-list-files-cvs.sh: New file.
55567         * tests/test-vc-list-files-git.sh: New file.
55568
55569         avoid a warning from gcc
55570         * lib/getndelim2.c (IF_LINT): Define.
55571         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
55572
55573         vc-list-files: work properly with build-aux/cvsu, too
55574         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
55575         to all cvs-based clauses.
55576
55577         vc-list-files: work properly in the CVS+awk case, too
55578         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
55579
55580         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
55581         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
55582         take more than one file argument, so .  Add quotes, just in case $dir
55583         ever contains a shell meta-character.  Prompted by Soren Hansen in
55584         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
55585
55586 2008-04-29  Eric Blake  <ebb9@byu.net>
55587
55588         Optimize getndelim2 to use block operations when possible.
55589         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
55590         freadseek, and memchr2.
55591         * lib/getndelim2.c (getndelim2): Use them for block reads.
55592
55593 2008-04-29  Bruno Haible  <bruno@clisp.org>
55594
55595         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
55596         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
55597         * modules/inet_ntop (Depends-on): Add extensions.
55598         * modules/inet_pton (Depends-on): Likewise.
55599         Reported by Simon Josefsson.
55600
55601 2008-04-29  Jim Meyering  <meyering@redhat.com>
55602
55603         When the is more than one match in a block, match all of them.
55604         * build-aux/useless-if-before-free: Iterate through each block
55605         until there are no more matches.
55606
55607         Fix broken useless-if-before-free script.
55608         * build-aux/useless-if-before-free: Fix typo: missing "?" after
55609         the expression to match cast of argument to free-like function.
55610
55611 2008-04-29  Eric Blake  <ebb9@byu.net>
55612
55613         Use new header.
55614         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
55615
55616 2008-04-29  Jim Meyering  <meyering@redhat.com>
55617
55618         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
55619         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
55620         by gnulib to exist and to declare e.g., inet_ntop.
55621         Don't include "inet_ntop.h", now removed.
55622
55623         * m4/arpa_inet_h.m4: Remove trailing blanks.
55624
55625 2008-04-29  Eric Blake  <ebb9@byu.net>
55626
55627         Silence valgrind on safe reads beyond potential array bounds.
55628         * lib/rawmemchr.valgrind: New file.
55629         * lib/strchrnul.valgrind: Likewise.
55630         * modules/rawmemchr (Files): Distribute new file.
55631         * modules/strchrnul (Files): Likewise.
55632         Suggested by Bruno Haible.
55633
55634 2008-04-29  Bruno Haible  <bruno@clisp.org>
55635
55636         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
55637         (inet_ntop, inet_pton): Change portability warning's wording.
55638         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
55639         Invoke gl_CHECK_NEXT_HEADERS.
55640         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
55641         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
55642         set ARPA_INET_H.
55643         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
55644         * modules/arpa_inet (Description): No longer only for systems that
55645         lack it.
55646         (Depends-on): Add include_next.
55647         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
55648         HAVE_ARPA_INET_H.
55649
55650 2008-04-29  Jim Meyering  <meyering@redhat.com>
55651
55652         * modules/mkdir (License): Re-license as LGPLv2+.
55653
55654 2008-04-29  Bruno Haible  <bruno@clisp.org>
55655
55656         * modules/rawmemchr (Maintainer): Set to Eric.
55657         * modules/strchrnul (Maintainer): Likewise.
55658
55659 2008-04-29  Simon Josefsson  <simon@josefsson.org>
55660
55661         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
55662         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
55663
55664         * modules/arpa_inet (arpa/inet.h): Use them.
55665
55666 2008-04-28  Eric Blake  <ebb9@byu.net>
55667
55668         Test getndelim2.
55669         * modules/getndelim2-tests: New file.
55670         * tests/test-getndelim2.c: Likewise.
55671         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
55672         stream.
55673         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
55674
55675         * MODULES.html.sh: Document new module.
55676
55677 2008-04-20  Bruno Haible  <bruno@clisp.org>
55678
55679         * lib/c-stack.c (die): Use raise.
55680         * modules/c-stack (Depends-on): Add raise.
55681
55682 2008-04-28  Bruno Haible  <bruno@clisp.org>
55683
55684         Expect rpmatch to be declared.
55685         * lib/yesno.c (rpmatch): Remove declaration.
55686
55687         Declare rpmatch.
55688         * lib/stdlib.in.h (rpmatch): New declaration.
55689         * lib/rpmatch.c: Include <stdlib.h> first.
55690         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
55691         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
55692         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
55693         HAVE_RPMATCH.
55694         * modules/rpmatch (Depends-on): Add stdlib, extensions.
55695         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55696         (Include): Set to <stdlib.h>.
55697         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
55698         HAVE_RPMATCH.
55699         * NEWS: Document the change.
55700
55701 2008-04-28  Bruno Haible  <bruno@clisp.org>
55702
55703         Change rpmatch to use nl_langinfo when appropriate.
55704         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
55705         (N_): New macro.
55706         (localized_pattern): New function/macro.
55707         (try): Remove match, nomatch arguments. Copy the pattern into safe
55708         memory before caching it.
55709         (rpmatch): Use localized_pattern. Add translator comments.
55710         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
55711         Suggested by Eric Blake.
55712         * modules/rpmatch (Depends-on): Add stdbool.
55713
55714 2008-04-28  Eric Blake  <ebb9@byu.net>
55715
55716         Add rawmemchr module, matching glibc.
55717         * modules/string (Makefile.am): New indicator.
55718         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
55719         * lib/string.in.h (rawmemchr): Declare when appropriate.
55720         * modules/rawmemchr: New file.
55721         * m4/rawmemchr.m4: Likewise.
55722         * lib/rawmemchr.c: Likewise.
55723         * modules/rawmemchr-tests: Likewise.
55724         * tests/test-rawmemchr.c: Likewise.
55725         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
55726         module.
55727         * modules/strchrnul (Depends-on): Add rawmemchr.
55728         * lib/strchrnul.c (strchrnul): Optimize a corner case.
55729
55730         Whitespace cleanup.
55731         * tests/test-strchrnul.c: Reindent.
55732         * lib/strchrnul.c: Likewise.
55733
55734         Optimize and test strchrnul.
55735         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
55736         * modules/strchrnul-tests: New file.
55737         * tests/test-strchrnul.c: Likewise.
55738
55739         Remove intprops dependency.
55740         * modules/memchr (Depends-on): Remove intprops.
55741         * modules/memrchr (Depends-on): Likewise.
55742         * modules/memchr2 (Depends-on): Likewise.
55743         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
55744         * lib/memrchr.c (__memrchr): Likewise.
55745         * lib/memrchr2.c (memchr2): Likewise.
55746         Reported by Simon Josefsson.
55747
55748 2008-04-28  Simon Josefsson  <simon@josefsson.org>
55749
55750         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
55751         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55752
55753 2008-04-28  Simon Josefsson  <simon@josefsson.org>
55754
55755         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
55756
55757         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
55758
55759         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
55760
55761         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
55762         declarations.
55763         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
55764
55765         * m4/inet_pton.m4: Don't check for header files.
55766
55767         * m4/inet_ntop.m4: Don't check for header files.
55768
55769 2008-04-28  Simon Josefsson  <simon@josefsson.org>
55770
55771         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
55772         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
55773         trigger for cygwin).
55774         Reported by Bruno Haible  <bruno@clisp.org>.
55775
55776 2008-04-28  Bruno Haible  <bruno@clisp.org>
55777
55778         * doc/posix-functions/strdup.texi: Mention mingw problem.
55779
55780 2008-04-27  Bruno Haible  <bruno@clisp.org>
55781
55782         * modules/stat-time-tests (Depends-on): Add sleep.
55783         * tests/test-stat-time.c (force_unlink): New function.
55784         (cleanup): Use it.
55785         (test_mtime): Remove the ctime related tests.
55786         (test_ctime): New function, containing the ctime related tests.
55787         (main): Call test_ctime, except on native Windows platforms.
55788
55789 2008-04-27  Bruno Haible  <bruno@clisp.org>
55790
55791         * lib/rpmatch.c (rpmatch): Add some comments.
55792         Reported by James Youngman <jay@gnu.org>.
55793
55794 2008-04-27  Bruno Haible  <bruno@clisp.org>
55795
55796         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
55797         quiet NaNs.
55798
55799 2008-04-27  Bruno Haible  <bruno@clisp.org>
55800
55801         Make test-yesno.sh work on mingw.
55802         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
55803         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
55804         (main): Set stdin to binary mode.
55805         * modules/yesno-tests (Depends-on): Add binary-io.
55806
55807 2008-04-27  Bruno Haible  <bruno@clisp.org>
55808
55809         Fix 'isfinite' on x86, x86_64, ia64 platforms.
55810         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
55811         argument that lie outside the IEEE 854 domain.
55812         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
55813         (gl_ISFINITE): Use it.
55814         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
55815
55816 2008-04-27  Bruno Haible  <bruno@clisp.org>
55817
55818         Allow local renaming in config.h.
55819         * lib/memrchr.c (memrchr): Don't undefine outside libc.
55820
55821 2008-04-27  Bruno Haible  <bruno@clisp.org>
55822
55823         * lib/memchr.c (__memchr): Change type of 'i'.
55824         * lib/memchr2.c (memchr2): Likewise.
55825
55826 2008-04-26  Eric Blake  <ebb9@byu.net>
55827         and Bruno Haible  <bruno@clisp.org>
55828
55829         Optimize and test memrchr.
55830         * modules/memrchr (Depends-on): Add intprops.
55831         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
55832         * modules/memrchr-tests: New file.
55833         * tests/test-memrchr.c: New file.
55834
55835 2008-04-26  Bruno Haible  <bruno@clisp.org>
55836
55837         Add tentative support for DragonFly BSD.
55838         * lib/stdio-impl.h: Add macros for DragonFly BSD.
55839         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
55840         fp.
55841         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
55842         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
55843         * lib/fpurge.c (fpurge): Likewise.
55844         * lib/freadable.c (freaadable): Likewise.
55845         * lib/freadahead.c (freadahead): Likewise.
55846         * lib/freading.c (freading): Likewise.
55847         * lib/freadptr.c (freadptr): Likewise.
55848         * lib/freadseek.c (freadptrinc): Likewise.
55849         * lib/fseeko.c (fseeko): Likewise.
55850         * lib/fseterr.c (fseterr): Likewise.
55851         * lib/fwritable.c (fwritable): Likewise.
55852         * lib/fwriting.c (fwriting): Likewise.
55853
55854 2008-04-26  Bruno Haible  <bruno@clisp.org>
55855
55856         * lib/stdio-impl.h: New file.
55857         * lib/fbufmode.c: Include stdio-impl.h.
55858         (fbufmode): Use fp_, remove redundant #defines.
55859         * lib/fflush.c: Include stdio-impl.h.
55860         (clear_ungetc_buffer): Remove redundant #defines.
55861         * lib/fpurge.c: Include stdio-impl.h.
55862         (fpurge): Remove redundant #defines.
55863         * lib/freadable.c: Include stdio-impl.h.
55864         (freadable): Remove redundant #defines.
55865         * lib/freadahead.c: Include stdio-impl.h.
55866         (freadahead): Remove redundant #defines.
55867         * lib/freading.c: Include stdio-impl.h.
55868         (freading): Remove redundant #defines.
55869         * lib/freadptr.c: Include stdio-impl.h.
55870         (freadptr): Remove redundant #defines.
55871         * lib/freadseek.c: Include stdio-impl.h.
55872         (freadptrinc): Remove redundant #defines.
55873         * lib/fseeko.c: Include stdio-impl.h.
55874         (rpl_fseeko): Remove redundant #defines.
55875         * lib/fseterr.c: Include stdio-impl.h.
55876         (fseterr): Remove redundant #defines.
55877         * lib/fwritable.c: Include stdio-impl.h.
55878         (fwritable: Remove redundant #defines.
55879         * lib/fwriting.c: Include stdio-impl.h.
55880         (fwriting): Remove redundant #defines.
55881         * modules/fbufmode (Files): Add lib/stdio-impl.h.
55882         * modules/fflush (Files): Likewise.
55883         * modules/fpurge (Files): Likewise.
55884         * modules/freadable (Files): Likewise.
55885         * modules/freadahead (Files): Likewise.
55886         * modules/freading (Files): Likewise.
55887         * modules/freadptr (Files): Likewise.
55888         * modules/freadseek (Files): Likewise.
55889         * modules/fseeko (Files): Likewise.
55890         * modules/fseterr (Files): Likewise.
55891         * modules/fwritable (Files): Likewise.
55892         * modules/fwriting (Files): Likewise.
55893
55894 2008-04-26  Bruno Haible  <bruno@clisp.org>
55895
55896         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
55897         restore_seek_optimization, update_fpos_cache): New functions, extracted
55898         from rpl_fflush.
55899         (rpl_fflush): Use them.
55900         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
55901         (gl_REPLACE_FFLUSH): Use it.
55902
55903 2008-04-26  Bruno Haible  <bruno@clisp.org>
55904
55905         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
55906         on Solaris.
55907         * tests/test-xstrtoimax.sh: Likewise.
55908         * tests/test-xstrtoumax.sh: Likewise.
55909         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55910
55911 2008-04-26  Bruno Haible  <bruno@clisp.org>
55912
55913         * modules/memchr-tests: New file.
55914         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
55915
55916 2008-04-26  Eric Blake  <ebb9@byu.net>
55917             Bruno Haible  <bruno@clisp.org>
55918
55919         * lib/memchr.c: Include intprops.h.
55920         (__memchr): Optimize parallel detection of matching bytes. Rename local
55921         variables. Add explanatory comments.
55922
55923 2008-04-26  Bruno Haible  <bruno@clisp.org>
55924
55925         Fix module 'memchr', broken since 2000-10-28.
55926         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
55927
55928 2008-04-26  Bruno Haible  <bruno@clisp.org>
55929
55930         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
55931         comments.
55932
55933 2008-04-25  Eric Blake  <ebb9@byu.net>
55934
55935         Use native fstatat on cygwin 1.7.0.
55936         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
55937         first.
55938
55939 2008-04-23  Eric Blake  <ebb9@byu.net>
55940
55941         Improve memchr2 performance.
55942         * lib/memchr2.c (memchr2): Further optimize parallel detection of
55943         NUL bytes.
55944         * modules/memchr2 (Depends-on): Use intprops.h.
55945
55946 2008-04-23  Simon Josefsson  <simon@josefsson.org>
55947
55948         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
55949         an inline function instead of a CPP macro.  Patch by Ben Pfaff
55950         <blp@cs.stanford.edu>.
55951
55952 2008-04-23  Simon Josefsson  <simon@josefsson.org>
55953
55954         * lib/arpa_inet.in.h: New file.
55955
55956         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
55957         (Makefile.am): Sed in substitute header file.
55958
55959         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
55960         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
55961
55962         * modules/inet_ntop (configure.ac): Use
55963         gl_ARPA_INET_MODULE_INDICATOR.
55964
55965         * modules/inet_pton (configure.ac): Use
55966         gl_ARPA_INET_MODULE_INDICATOR.
55967
55968 2008-04-22  Jim Meyering  <meyering@redhat.com>
55969
55970         * modules/verify (License): Re-license as LGPLv2+.
55971
55972 2008-04-22  Simon Josefsson  <simon@josefsson.org>
55973
55974         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
55975         parameter to void* as per POSIX standard (MinGW uses char*).
55976
55977 2008-04-21  Bruno Haible  <bruno@clisp.org>
55978
55979         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
55980         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
55981         Define to replacements if REPLACE_ISWCNTRL is 1.
55982         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
55983         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
55984         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
55985         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
55986         what it fixes.
55987         * doc/posix-functions/iswalpha.texi: Likewise.
55988         * doc/posix-functions/iswblank.texi: Likewise.
55989         * doc/posix-functions/iswcntrl.texi: Likewise.
55990         * doc/posix-functions/iswdigit.texi: Likewise.
55991         * doc/posix-functions/iswgraph.texi: Likewise.
55992         * doc/posix-functions/iswlower.texi: Likewise.
55993         * doc/posix-functions/iswprint.texi: Likewise.
55994         * doc/posix-functions/iswpunct.texi: Likewise.
55995         * doc/posix-functions/iswspace.texi: Likewise.
55996         * doc/posix-functions/iswupper.texi: Likewise.
55997         * doc/posix-functions/iswxdigit.texi: Likewise.
55998         Reported by Alain Guibert.
55999
56000 2008-04-21  Bruno Haible  <bruno@clisp.org>
56001
56002         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
56003         Patch by Alain Guibert.
56004
56005 2008-04-21  Bruno Haible  <bruno@clisp.org>
56006
56007         Fix test failures on mingw.
56008         * tests/test-xstrtol.c (print_no_progname): New function.
56009         (main): Install it in error_print_progname hook.
56010         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
56011         * tests/test-xstrtoimax.sh: Likewise.
56012         * tests/test-xstrtoumax.sh: Likewise.
56013
56014 2008-04-21  Bruno Haible  <bruno@clisp.org>
56015
56016         Fix test failure on mingw.
56017         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
56018
56019 2008-04-21  Bruno Haible  <bruno@clisp.org>
56020
56021         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
56022         Actually assign a value.
56023
56024 2008-04-20  Bruno Haible  <bruno@clisp.org>
56025
56026         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
56027         take 2.
56028         * lib/canonicalize.c (canonicalize_file_name): Elide if the
56029         'canonicalize-lgpl' module is also used.
56030         * lib/canonicalize-lgpl.c: Undo last change.
56031         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
56032
56033 2008-04-20  Bruno Haible  <bruno@clisp.org>
56034
56035         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
56036         config.h. Provide _mkdir based fallback for mingw.
56037         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
56038         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
56039         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
56040         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
56041         rather than defining mkdir in config.h.
56042         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
56043         (gl_SYS_STAT_H_DEFAULTS): New macro.
56044         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
56045         HAVE_IO_H any more.
56046         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
56047         HAVE_DECL_MKDIR and HAVE_IO_H.
56048
56049 2008-04-20  Bruno Haible  <bruno@clisp.org>
56050
56051         * lib/isapipe.c: Port to native Windows platforms.
56052
56053 2008-04-20  Bruno Haible  <bruno@clisp.org>
56054
56055         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
56056
56057 2008-04-21  Eric Blake  <ebb9@byu.net>
56058
56059         Work around preprocessors that don't handle UINTMAX_MAX.
56060         * lib/memchr2.c (memchr2): Avoid embedded #if.
56061         Reported by Alain Guibert, fix suggested by Bruno Haible.
56062
56063 2008-04-21  Simon Josefsson  <simon@josefsson.org>
56064
56065         * doc/posix-functions/strftime.texi (strftime): Explain better
56066         Windows incompatibility.  Suggested by Micah Cowan
56067         <micah@cowan.name>.
56068
56069 2008-04-20  Bruno Haible  <bruno@clisp.org>
56070
56071         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
56072         unistr/u8-mblen.
56073
56074 2008-04-20  Bruno Haible  <bruno@clisp.org>
56075
56076         Fix test failure on platforms with non-GNU iconv.
56077         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
56078         (U_TO_U8): Use it, rather than u16_to_u8.
56079         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
56080         units at the end of the input string.
56081         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
56082
56083 2008-04-20  Bruno Haible  <bruno@clisp.org>
56084
56085         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
56086         when the resulting length is 0.
56087         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
56088
56089 2008-04-20  Bruno Haible  <bruno@clisp.org>
56090
56091         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
56092         works.
56093         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
56094
56095 2008-04-20  Bruno Haible  <bruno@clisp.org>
56096
56097         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
56098         * modules/tsearch-tests (configure.ac): Test for initstate function.
56099
56100 2008-04-20  Bruno Haible  <bruno@clisp.org>
56101
56102         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
56103         for nlink_t if missing.
56104         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
56105
56106 2008-04-19  Bruno Haible  <bruno@clisp.org>
56107
56108         Work around snprintf bug on Linux libc5.
56109         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
56110         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
56111         gl_SNPRINTF_SIZE1.
56112         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56113         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
56114         that test failed.
56115         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
56116         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
56117         * modules/snprintf (Files): Add m4/printf.m4.
56118         * modules/vsnprintf (Files): Likewise.
56119         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
56120         * doc/posix-functions/vsnprintf.texi: Likewise.
56121
56122 2008-04-19  Bruno Haible  <bruno@clisp.org>
56123
56124         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
56125         from 0.0058 to less than 10^-7.
56126
56127 2008-04-19  Bruno Haible  <bruno@clisp.org>
56128
56129         Fix rounding when a precision is given.
56130         * lib/vasnprintf.c (is_borderline): New function.
56131         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
56132         9...9x.
56133         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
56134         %e, %g.
56135         * tests/test-vasprintf-posix.c (test_function): Likewise.
56136         * tests/test-snprintf-posix.h (test_function): Likewise.
56137         * tests/test-sprintf-posix.h (test_function): Likewise.
56138         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
56139         * tests/test-printf-posix.h (test_function): Likewise.
56140         * tests/test-printf-posix.output: Update.
56141         Reported by John Darrington <john@darrington.wattle.id.au> via
56142         Ben Pfaff <blp@cs.stanford.edu>.
56143
56144 2008-04-18  Simon Josefsson  <simon@josefsson.org>
56145
56146         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
56147         Suggested by Bruno Haible <bruno@clisp.org>.
56148
56149 2008-04-17  Bruno Haible  <bruno@clisp.org>
56150
56151         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
56152         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
56153         implementation.
56154         Patch by Bruce Merry <bmerry@gmail.com>.
56155
56156 2008-04-17  Simon Josefsson  <simon@josefsson.org>
56157
56158         * doc/posix-functions/strftime.texi (strftime): Mention that %e
56159         doesn't work under Windows.
56160
56161 2008-04-16  Bruno Haible  <bruno@clisp.org>
56162
56163         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
56164         New macros.
56165         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
56166         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
56167         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
56168         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
56169         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
56170         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
56171         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
56172         macros.
56173         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
56174         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
56175         Northern Sotho, Uighur.
56176
56177 2008-04-16  Bruno Haible  <bruno@clisp.org>
56178
56179         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
56180         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
56181         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
56182         Reported by Daniel Bergström <daniel@octocode.com>.
56183
56184 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
56185             Bruno Haible  <bruno@clisp.org>
56186
56187         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
56188         function.
56189         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
56190         New functions, mostly extracted from gl_locale_name_default.
56191         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
56192
56193 2008-04-16  Eric Blake  <ebb9@byu.net>
56194
56195         Adjust strtod detection to catch glibc 2.7 bug.
56196         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
56197         Reported by John Gatewood Ham.
56198
56199 2008-04-16  Bruno Haible  <bruno@clisp.org>
56200
56201         Add tentative support for Linux libc5.
56202         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
56203         * lib/fpurge.c (fpurge): Likewise.
56204         * lib/freadable.c (freadable): Likewise.
56205         * lib/freadahead.c (freadahead): Likewise.
56206         * lib/freading.c (freading): Likewise.
56207         * lib/freadptr.c (freadptr): Likewise.
56208         * lib/freadseek.c (freadptrinc): Likewise.
56209         * lib/fseeko.c (rpl_fseeko): Likewise.
56210         * lib/fseterr.c (fseterr): Likewise.
56211         * lib/fwritable.c (fwritable): Likewise.
56212         * lib/fwriting.c (fwriting): Likewise.
56213         Reported by Alain Guibert <alguibert+bts@free.fr>.
56214
56215 2008-04-15  Bruno Haible  <bruno@clisp.org>
56216
56217         * modules/mathl (configure.ac): Define module indicator.
56218
56219 2008-04-15  Bruno Haible  <bruno@clisp.org>
56220
56221         * lib/logl.c (logl): Remove unused variables.
56222
56223 2008-04-15  Bruno Haible  <bruno@clisp.org>
56224
56225         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
56226         fails.
56227
56228 2008-04-15  Bruno Haible  <bruno@clisp.org>
56229
56230         * lib/trim.c (trim2): Fix argument of isspace() macro.
56231
56232 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
56233
56234         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
56235         to 0.
56236         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
56237
56238 2008-04-14  Bruno Haible  <bruno@clisp.org>
56239
56240         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
56241         AC_LANG_PROGRAM argument.
56242         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
56243         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
56244         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
56245         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
56246         * m4/math_h.m4 (gl_MATH_H): Likewise.
56247         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
56248         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
56249         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
56250         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
56251         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
56252         * m4/regex.m4 (gl_REGEX): Likewise.
56253         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
56254         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
56255         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
56256         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
56257         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
56258         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
56259         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
56260         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
56261
56262 2008-04-14  Jim Meyering  <meyering@redhat.com>
56263
56264         test-strtod: fix typos: s/abs/fabs/
56265         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
56266
56267 2008-04-13  Bruno Haible  <bruno@clisp.org>
56268
56269         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
56270         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
56271         module is also used and while not building the reloc-wrapper.
56272
56273 2008-04-13  Bruno Haible  <bruno@clisp.org>
56274
56275         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
56276
56277 2008-04-13  Bruno Haible  <bruno@clisp.org>
56278
56279         Fix AIX compilation failure introduced on 2008-04-02.
56280         * tests/test-frexp.c (exp): Undefine before redefining.
56281         * tests/test-frexpl.c (exp): Likewise.
56282
56283 2008-04-13  Bruno Haible  <bruno@clisp.org>
56284
56285         Work around a HP-UX stdio bug.
56286         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
56287         * tests/test-ftello.c (main): Likewise.
56288         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
56289         * doc/posix-functions/ftello.texi: Likewise.
56290
56291 2008-04-13  Bruno Haible  <bruno@clisp.org>
56292
56293         Make test-signbit pass on HP-UX/hppa.
56294         * tests/test-signbit.c (minus_zerol): New variable.
56295         (test_signbitl): Use it.
56296
56297 2008-04-13  Bruno Haible  <bruno@clisp.org>
56298
56299         Make truncl work on OSF/1 4.0.
56300         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
56301         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
56302         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
56303         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
56304         HAVE_DECL_TRUNCL.
56305         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
56306         HAVE_DECL_TRUNCL.
56307         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
56308
56309 2008-04-13  Bruno Haible  <bruno@clisp.org>
56310
56311         * lib/unictype.h: Remove trailing comma from enumeration definitions.
56312
56313 2008-04-13  Bruno Haible  <bruno@clisp.org>
56314
56315         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
56316         expression, so as to avoid HP-UX 11 cc compiler bug.
56317
56318 2008-04-13  Bruno Haible  <bruno@clisp.org>
56319
56320         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
56321
56322 2008-04-13  Bruno Haible  <bruno@clisp.org>
56323
56324         * lib/git-merge-changelog.c: Remove empty declaration outside of
56325         functions.
56326
56327 2008-04-13  Bruno Haible  <bruno@clisp.org>
56328
56329         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
56330
56331 2008-04-13  Bruno Haible  <bruno@clisp.org>
56332
56333         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
56334         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
56335         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
56336         also if it exists but lacks definitions of the SHUT_* macros.
56337         * modules/sys_socket (Description): Update.
56338         Reported by Elbert Pol <e.pol@chello.nl>.
56339
56340 2008-04-13  Bruno Haible  <bruno@clisp.org>
56341
56342         * lib/localcharset.c (OS2): Don't redefine if already defined.
56343         Reported by Elbert Pol <e.pol@chello.nl>.
56344
56345 2008-04-13  Bruno Haible  <bruno@clisp.org>
56346
56347         * lib/binary-io.h [__EMX__]: Include <io.h>.
56348         Reported by Elbert Pol <e.pol@chello.nl>.
56349
56350 2008-04-12  Bruno Haible  <bruno@clisp.org>
56351
56352         * lib/fpucw.h: Enable the definitions also for x86_64.
56353         Needed for NetBSD/x86_64.
56354         Reported by Thomas Klausner <tk@giga.or.at>.
56355
56356 2008-04-12  Bruno Haible  <bruno@clisp.org>
56357
56358         * tests/test-strtod.c: Include isnand.h.
56359         (main): Use isnand instead of isnan.
56360         Reported by Jim Meyering.
56361
56362 2008-04-12  Bruno Haible  <bruno@clisp.org>
56363
56364         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
56365         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
56366
56367 2008-04-12  Jim Meyering  <meyering@redhat.com>
56368
56369         * m4/math_h.m4 (gl_MATH_H): Fix typos.
56370
56371 2008-04-12  Bruno Haible  <bruno@clisp.org>
56372
56373         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
56374         Reported by Elbert Pol <e.pol@chello.nl>.
56375
56376 2008-04-12  Eric Blake  <ebb9@byu.net>
56377
56378         Work around Solaris 10 math.h bug.
56379         * m4/math_h.m4 (gl_MATH_H): Check for bug.
56380         (gl_MATH_H_DEFAULTS): Set up default.
56381         * modules/math (Makefile.am): Replace new indicators.
56382         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
56383         * tests/test-math.c (main): Test this.
56384         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
56385         * doc/posix-headers/math.texi (math.h): Mention bug.
56386         Reported by Nelson H. F. Beebe and Jim Meyering.
56387
56388 2008-04-11  Bruno Haible  <bruno@clisp.org>
56389
56390         Adapt to future versions of Apple GCC.
56391         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
56392         Reported by Peter O'Gorman <peter@pogma.com>.
56393
56394 2008-04-11  Bruno Haible  <bruno@clisp.org>
56395
56396         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
56397
56398 2008-04-11  Bruno Haible  <bruno@clisp.org>
56399
56400         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
56401
56402         * modules/getaddrinfo-tests (Makefile.am): Define
56403         test_getaddrinfo_LDADD.
56404
56405 2008-04-11  Bruno Haible  <bruno@clisp.org>
56406
56407         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
56408         (init): Fix syntax error.
56409         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
56410         is declared.
56411
56412 2008-04-11  Bruno Haible  <bruno@clisp.org>
56413
56414         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
56415         * modules/glob (Depends-on): Add stdbool.
56416
56417 2008-04-11  Bruno Haible  <bruno@clisp.org>
56418
56419         * lib/trim.c: Include <string.h>.
56420
56421 2008-04-11  Eric Blake  <ebb9@byu.net>
56422
56423         Avoid compile failure on OS/2.
56424         * lib/regex_internal.h (internal_function): Disable optimization
56425         on OS/2 (__EMX__), where it caused compiler error.
56426         Reported by Elbert Pol.
56427
56428 2008-04-11  Bruno Haible  <bruno@clisp.org>
56429
56430         Flush the standard error stream before aborting. Needed on mingw.
56431         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
56432         * tests/test-array_list.c (ASSERT): Likewise.
56433         * tests/test-array_oset.c (ASSERT): Likewise.
56434         * tests/test-avltree_list.c (ASSERT): Likewise.
56435         * tests/test-avltree_oset.c (ASSERT): Likewise.
56436         * tests/test-avltreehash_list.c (ASSERT): Likewise.
56437         * tests/test-binary-io.c (ASSERT): Likewise.
56438         * tests/test-byteswap.c (ASSERT): Likewise.
56439         * tests/test-c-ctype.c (ASSERT): Likewise.
56440         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
56441         * tests/test-c-strcasestr.c (ASSERT): Likewise.
56442         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
56443         * tests/test-c-strstr.c (ASSERT): Likewise.
56444         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
56445         * tests/test-canonicalize.c (ASSERT): Likewise.
56446         * tests/test-carray_list.c (ASSERT): Likewise.
56447         * tests/test-ceilf1.c (ASSERT): Likewise.
56448         * tests/test-ceilf2.c (ASSERT): Likewise.
56449         * tests/test-ceill.c (ASSERT): Likewise.
56450         * tests/test-count-one-bits.c (ASSERT): Likewise.
56451         * tests/test-fbufmode.c (ASSERT): Likewise.
56452         * tests/test-fflush2.c (ASSERT): Likewise.
56453         * tests/test-floorf1.c (ASSERT): Likewise.
56454         * tests/test-floorf2.c (ASSERT): Likewise.
56455         * tests/test-floorl.c (ASSERT): Likewise.
56456         * tests/test-fopen.c (ASSERT): Likewise.
56457         * tests/test-fpending.c (ASSERT): Likewise.
56458         * tests/test-fprintf-posix.c (ASSERT): Likewise.
56459         * tests/test-fpurge.c (ASSERT): Likewise.
56460         * tests/test-freadable.c (ASSERT): Likewise.
56461         * tests/test-freadahead.c (ASSERT): Likewise.
56462         * tests/test-freading.c (ASSERT): Likewise.
56463         * tests/test-freadptr.c (ASSERT): Likewise.
56464         * tests/test-freadptr2.c (ASSERT): Likewise.
56465         * tests/test-freadseek.c (ASSERT): Likewise.
56466         * tests/test-freopen.c (ASSERT): Likewise.
56467         * tests/test-frexp.c (ASSERT): Likewise.
56468         * tests/test-frexpl.c (ASSERT): Likewise.
56469         * tests/test-fseek.c (ASSERT): Likewise.
56470         * tests/test-fseeko.c (ASSERT): Likewise.
56471         * tests/test-fstrcmp.c (ASSERT): Likewise.
56472         * tests/test-ftell.c (ASSERT): Likewise.
56473         * tests/test-ftello.c (ASSERT): Likewise.
56474         * tests/test-func.c (ASSERT): Likewise.
56475         * tests/test-fwritable.c (ASSERT): Likewise.
56476         * tests/test-fwriting.c (ASSERT): Likewise.
56477         * tests/test-getdelim.c (ASSERT): Likewise.
56478         * tests/test-getline.c (ASSERT): Likewise.
56479         * tests/test-i-ring.c (ASSERT): Likewise.
56480         * tests/test-iconv-utf.c (ASSERT): Likewise.
56481         * tests/test-iconv.c (ASSERT): Likewise.
56482         * tests/test-isfinite.c (ASSERT): Likewise.
56483         * tests/test-isnand.c (ASSERT): Likewise.
56484         * tests/test-isnanf.c (ASSERT): Likewise.
56485         * tests/test-isnanl.h (ASSERT): Likewise.
56486         * tests/test-ldexpl.c (ASSERT): Likewise.
56487         * tests/test-linked_list.c (ASSERT): Likewise.
56488         * tests/test-linkedhash_list.c (ASSERT): Likewise.
56489         * tests/test-localename.c (ASSERT): Likewise.
56490         * tests/test-lseek.c (ASSERT): Likewise.
56491         * tests/test-mbscasecmp.c (ASSERT): Likewise.
56492         * tests/test-mbscasestr1.c (ASSERT): Likewise.
56493         * tests/test-mbscasestr2.c (ASSERT): Likewise.
56494         * tests/test-mbscasestr3.c (ASSERT): Likewise.
56495         * tests/test-mbscasestr4.c (ASSERT): Likewise.
56496         * tests/test-mbschr.c (ASSERT): Likewise.
56497         * tests/test-mbscspn.c (ASSERT): Likewise.
56498         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
56499         * tests/test-mbspbrk.c (ASSERT): Likewise.
56500         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
56501         * tests/test-mbsrchr.c (ASSERT): Likewise.
56502         * tests/test-mbsspn.c (ASSERT): Likewise.
56503         * tests/test-mbsstr1.c (ASSERT): Likewise.
56504         * tests/test-mbsstr2.c (ASSERT): Likewise.
56505         * tests/test-mbsstr3.c (ASSERT): Likewise.
56506         * tests/test-memchr2.c (ASSERT): Likewise.
56507         * tests/test-memmem.c (ASSERT): Likewise.
56508         * tests/test-open.c (ASSERT): Likewise.
56509         * tests/test-printf-frexp.c (ASSERT): Likewise.
56510         * tests/test-printf-frexpl.c (ASSERT): Likewise.
56511         * tests/test-printf-posix.c (ASSERT): Likewise.
56512         * tests/test-quotearg.c (ASSERT): Likewise.
56513         * tests/test-rbtree_list.c (ASSERT): Likewise.
56514         * tests/test-rbtree_oset.c (ASSERT): Likewise.
56515         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
56516         * tests/test-round1.c (ASSERT): Likewise.
56517         * tests/test-roundf1.c (ASSERT): Likewise.
56518         * tests/test-roundl.c (ASSERT): Likewise.
56519         * tests/test-signbit.c (ASSERT): Likewise.
56520         * tests/test-sleep.c (ASSERT): Likewise.
56521         * tests/test-snprintf-posix.c (ASSERT): Likewise.
56522         * tests/test-snprintf.c (ASSERT): Likewise.
56523         * tests/test-sprintf-posix.c (ASSERT): Likewise.
56524         * tests/test-stat-time.c (ASSERT): Likewise.
56525         * tests/test-strcasestr.c (ASSERT): Likewise.
56526         * tests/test-strerror.c (ASSERT): Likewise.
56527         * tests/test-striconv.c (ASSERT): Likewise.
56528         * tests/test-striconveh.c (ASSERT): Likewise.
56529         * tests/test-striconveha.c (ASSERT): Likewise.
56530         * tests/test-strsignal.c (ASSERT): Likewise.
56531         * tests/test-strstr.c (ASSERT): Likewise.
56532         * tests/test-strtod.c (ASSERT): Likewise.
56533         * tests/test-trunc1.c (ASSERT): Likewise.
56534         * tests/test-trunc2.c (ASSERT): Likewise.
56535         * tests/test-truncf1.c (ASSERT): Likewise.
56536         * tests/test-truncf2.c (ASSERT): Likewise.
56537         * tests/test-truncl.c (ASSERT): Likewise.
56538         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
56539         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
56540         * tests/test-vasnprintf.c (ASSERT): Likewise.
56541         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
56542         * tests/test-vasprintf.c (ASSERT): Likewise.
56543         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
56544         * tests/test-vprintf-posix.c (ASSERT): Likewise.
56545         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
56546         * tests/test-vsnprintf.c (ASSERT): Likewise.
56547         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
56548         * tests/test-wcwidth.c (ASSERT): Likewise.
56549         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
56550         * tests/test-xprintf-posix.c (ASSERT): Likewise.
56551         * tests/test-xvasprintf.c (ASSERT): Likewise.
56552         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
56553         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
56554         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
56555         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
56556         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
56557         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
56558         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
56559         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
56560         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
56561         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
56562         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
56563         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
56564         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
56565         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
56566         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
56567         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
56568         * tests/unictype/test-block_list.c (ASSERT): Likewise.
56569         * tests/unictype/test-block_of.c (ASSERT): Likewise.
56570         * tests/unictype/test-block_test.c (ASSERT): Likewise.
56571         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
56572         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
56573         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
56574         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
56575         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
56576         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
56577         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
56578         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
56579         * tests/unictype/test-combining.c (ASSERT): Likewise.
56580         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
56581         * tests/unictype/test-digit.c (ASSERT): Likewise.
56582         * tests/unictype/test-mirror.c (ASSERT): Likewise.
56583         * tests/unictype/test-numeric.c (ASSERT): Likewise.
56584         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
56585         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
56586         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
56587         * tests/unictype/test-scripts.c (ASSERT): Likewise.
56588         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
56589         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
56590         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
56591         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
56592         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
56593         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
56594         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
56595         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
56596         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
56597         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
56598         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
56599         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
56600         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
56601         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
56602         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
56603         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
56604         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
56605         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
56606         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
56607         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
56608         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
56609         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
56610         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
56611         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
56612         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
56613         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
56614         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
56615         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
56616         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
56617         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
56618         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
56619         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
56620         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
56621         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
56622         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
56623         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
56624         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
56625         Reported by Eric Blake.
56626
56627 2008-04-11  Bruno Haible  <bruno@clisp.org>
56628
56629         * lib/wchar.in.h: Tweak comment.
56630
56631 2008-04-11  Bruno Haible  <bruno@clisp.org>
56632
56633         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
56634         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
56635         gl_COMMON.
56636         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
56637
56638 2008-04-11  Bruno Haible  <bruno@clisp.org>
56639
56640         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
56641
56642 2008-04-11  Simon Josefsson  <simon@josefsson.org>
56643
56644         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
56645         of attempting to use non-existing /dev/*random.  Based on patch
56646         from Adam Strzelecki <ono@java.pl> in
56647         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
56648
56649 2008-04-08  Bruno Haible  <bruno@clisp.org>
56650
56651         Add tentative support for emx+gcc.
56652         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
56653         * lib/fpurge.c (fpurge): Likewise.
56654         * lib/freadable.c (freadable): Likewise.
56655         * lib/freadahead.c (freadahead): Likewise.
56656         * lib/freading.c (freading): Likewise.
56657         * lib/freadptr.c (freadptr): Likewise.
56658         * lib/freadseek.c (freadptrinc): Likewise.
56659         * lib/fseeko.c (rpl_fseeko): Likewise.
56660         * lib/fseterr.c (fseterr): Likewise.
56661         * lib/fwritable.c (fwritable): Likewise.
56662         * lib/fwriting.c (fwriting): Likewise.
56663         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
56664
56665 2008-04-09  Eric Blake  <ebb9@byu.net>
56666
56667         Avoid some autoconf warnings.
56668         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
56669         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
56670         * m4/afs.m4 (gl_AFS): Likewise.
56671         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
56672         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
56673         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
56674         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
56675         (gl_INTEGER_TYPE_SUFFIX): Likewise.
56676         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
56677         (AC_CHECK_DECLS_ONCE): Likewise.
56678         Rename file...
56679         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
56680         gnulib-tool requires autoconf 2.59 or better.
56681         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
56682
56683 2008-04-08  Eric Blake  <ebb9@byu.net>
56684
56685         Use 'git describe --match' if present (added in git 1.5.5).
56686         * build-aux/git-version-gen: Limit result to tags that match 'v*'
56687         if possible.
56688
56689 2008-04-08  Bruno Haible  <bruno@clisp.org>
56690
56691         Add tentative support for OpenServer.
56692         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
56693         _ptr, _cnt.
56694         * lib/fpurge.c (fpurge): Likewise.
56695         * lib/freadable.c (freadable): Likewise.
56696         * lib/freadahead.c (freadahead): Likewise.
56697         * lib/freading.c (freading): Likewise.
56698         * lib/freadptr.c (freadptr): Likewise.
56699         * lib/freadseek.c (freadptrinc): Likewise.
56700         * lib/fseeko.c (rpl_fseeko): Likewise.
56701         * lib/fseterr.c (fseterr): Likewise.
56702         * lib/fwritable.c (fwritable): Likewise.
56703         * lib/fwriting.c (fwriting): Likewise.
56704         Reported by Roger Cornelius <rac@tenzing.org> and
56705         Brian K. White <brian@aljex.com>.
56706
56707 2008-04-06  Jim Meyering  <meyering@redhat.com>
56708
56709         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
56710
56711 2008-04-06  Bruno Haible  <bruno@clisp.org>
56712
56713         Avoid possible error with non-ASCII bytes in UTF-8 locales.
56714         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
56715         * tests/test-printf-posix.sh: Likewise.
56716         * tests/test-vfprintf-posix.sh: Likewise.
56717         * tests/test-vprintf-posix.sh: Likewise.
56718         * tests/test-xprintf-posix.sh: Likewise.
56719
56720 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56721
56722         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
56723         hide error from 'ls', needed on OS/2.
56724         Report by Elbert Pol <elbert.pol@gmail.com>.
56725
56726 2008-04-04  Eric Blake  <ebb9@byu.net>
56727
56728         Make test-fseeko.c failures meaningful.
56729         * tests/test-fseeko.c: Print line number on failure.
56730         * tests/test-fseek.c: Likewise.
56731         Reported by Nelson H. F. Beebe.
56732
56733         Improve strtod bug detection check.
56734         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
56735         required for Solaris 10.
56736         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
56737
56738 2008-04-04  Bruno Haible  <bruno@clisp.org>
56739
56740         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
56741         by m4/setenv.m4.
56742
56743 2008-04-03  Eric Blake  <ebb9@byu.net>
56744
56745         Ensure sane .version contents.
56746         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
56747         version string.
56748         * build-aux/git-version-gen: Improve documentation.
56749
56750         Make GNU make output nicer.
56751         * top/GNUmakefile [!_have-Makefile]: Add dependency on
56752         MAKECMDGOALS to enforce message for all command line targets.  Set
56753         srcdir for use in maint.mk.
56754
56755         Another maintainer tweak.
56756         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
56757         a target that regenerates version.
56758
56759 2008-04-03  Jim Meyering  <meyering@redhat.com>
56760
56761         vc-list-files: don't cause coreutils "make po-check" failure
56762         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
56763
56764 2008-04-03  Eric Blake  <ebb9@byu.net>
56765
56766         Allow VPATH usage of vc-list-files.
56767         * build-aux/vc-list-files (scriptversion): Add timestamp.
56768         (options): Add --help, --version, -C.
56769         (CVS): Support installed cvsu.
56770
56771 2008-04-02  Bruno Haible  <bruno@clisp.org>
56772
56773         Avoid some "statement with no effect" warnings from gcc.
56774         * tests/test-wctype.c (main): Explicitly ignore unused values.
56775         Reported by Jim Meyering.
56776
56777 2008-04-02  Jim Meyering  <meyering@redhat.com>
56778
56779         Avoid some warnings from "gcc -Wshadow".
56780         * tests/test-frexp.c (exp): Define to a different identifier.
56781         * tests/test-frexpl.c (exp): Likewise.
56782
56783 2008-04-03  Jim Meyering  <meyering@redhat.com>
56784
56785         bootstrap: remove dangling *.[ch] symlinks from lib
56786         * build-aux/bootstrap [dangling symlink removal]: Move find's
56787         -depth option to precede all others, to avoid a warning.
56788         Remove *.[ch] files too, and from "$source_base" (usually lib/).
56789
56790 2008-04-02  Bruno Haible  <bruno@clisp.org>
56791
56792         Avoid some warnings from "gcc -Wshadow".
56793         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
56794         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
56795         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
56796         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
56797         Reported by Jim Meyering.
56798
56799 2008-04-01  Bruno Haible  <bruno@clisp.org>
56800
56801         Fix test to work on IRIX 6.5 with cc.
56802         * tests/test-math.c (numeric_equal): New function.
56803         (main): Use it.
56804
56805 2008-04-01  Bruno Haible  <bruno@clisp.org>
56806
56807         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
56808
56809 2008-04-01  Bruno Haible  <bruno@clisp.org>
56810
56811         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
56812         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
56813         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
56814         (Depends-on): Remove math.
56815
56816         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
56817         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
56818         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
56819         (Depends-on): Remove math.
56820
56821         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
56822         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
56823         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
56824         (Depends-on): Remove math.
56825         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
56826         (Depends-on): Remove math.
56827
56828         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
56829         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
56830         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
56831         (Depends-on): Remove math.
56832         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
56833         (Depends-on): Remove math.
56834
56835         * tests/test-round1.c: Include nan.h.
56836         (main): Use NaNd instead of NAN.
56837         * modules/round-tests (Files): Add tests/nan.h.
56838
56839         * tests/test-trunc1.c: Include nan.h.
56840         (main): Use NaNd instead of NAN.
56841         * modules/trunc-tests (Files): Add tests/nan.h.
56842
56843         * tests/test-roundf1.c: Include nan.h.
56844         (main): Use NaNf instead of NAN.
56845         * modules/roundf-tests (Files): Add tests/nan.h.
56846
56847         * tests/test-truncf1.c: Include nan.h.
56848         (main): Use NaNf instead of NAN.
56849         * modules/truncf-tests (Files): Add tests/nan.h.
56850
56851         * tests/test-ceilf1.c: Include nan.h.
56852         (main): Use NaNf instead of NAN.
56853         * modules/ceilf-tests (Files): Add tests/nan.h.
56854
56855         * tests/test-floorf1.c: Include nan.h.
56856         (main): Use NaNf instead of NAN.
56857         * modules/floorf-tests (Files): Add tests/nan.h.
56858
56859         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
56860         (main): Use NaNf instead of NAN.
56861         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
56862
56863         * tests/test-isnand.c: Include nan.h instead of <math.h>.
56864         (main): Use NaNd instead of NAN.
56865         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
56866
56867         * tests/test-frexp.c: Include nan.h.
56868         (main): Use NaNd instead of NAN.
56869         * modules/frexp-tests (Files): Add tests/nan.h.
56870
56871         * lib/isnan.c: Don't include <math.h>.
56872         (FUNC): Don't use NAN macro.
56873         * modules/isnand-nolibm (Depends-on): Remove math.
56874         * modules/isnanf-nolibm (Depends-on): Remove math.
56875         * modules/isnanl (Depends-on): Remove math.
56876         * modules/isnanl-nolibm (Depends-on): Remove math.
56877
56878         * tests/nan.h: New file.
56879
56880 2008-04-01  Eric Blake  <ebb9@byu.net>
56881
56882         Fix typos.
56883         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
56884         values to be the right type.
56885
56886         For now, cater to gnulib strtod inaccuracies.
56887         * tests/test-strtod.c (main): Allow 1-ulp error on expected
56888         fractional results.  While not as nice from a QoI perspective, it
56889         is a quicker patch than correctly implementing decimal to binary
56890         rounding.
56891
56892 2008-03-31  Eric Blake  <ebb9@byu.net>
56893
56894         Guarantee a definition of NAN.
56895         * lib/math.in.h (NAN): Define if missing.
56896         * tests/test-math.c (main): Test it.
56897         * doc/posix-headers/math.texi (math.h): Document this.
56898         * lib/isnan.c (rpl_isnand): Use it.
56899         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
56900         * tests/test-floorf1.c (NaN): Likewise.
56901         * tests/test-frexp.c (NaN): Likewise.
56902         * tests/test-isnand.c (NaN): Likewise.
56903         * tests/test-isnanf.c (NaN): Likewise.
56904         * tests/test-round1.c (NaN): Likewise.
56905         * tests/test-roundf1.c (NaN): Likewise.
56906         * tests/test-snprintf-posix.h (NaN): Likewise.
56907         * tests/test-sprintf-posix.h (NaN): Likewise.
56908         * tests/test-trunc1.c (NaN): Likewise.
56909         * tests/test-truncf1.c (NaN): Likewise.
56910         * tests/test-vasnprintf-posix.c (NaN): Likewise.
56911         * tests/test-vasprintf-posix.c (NaN): Likewise.
56912         * modules/isnand-nolibm (Depends-on): Add math.
56913         * modules/isnanf-nolibm (Depends-on): Likewise.
56914         * modules/isnanl (Depends-on): Likewise.
56915         * modules/isnanl-nolibm (Depends-on): Likewise.
56916         * modules/snprintf-posix-tests (Depends-on): Likewise.
56917         * modules/sprintf-posix-tests (Depends-on): Likewise.
56918         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
56919         * modules/vsprintf-posix-tests (Depends-on): Likewise.
56920         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
56921         * modules/vasprintf-posix-tests (Depends-on): Likewise.
56922
56923 2008-03-31  Bruno Haible  <bruno@clisp.org>
56924
56925         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
56926         * doc/posix-functions/strtod.texi: Likewise.
56927
56928 2008-03-31  Bruno Haible  <bruno@clisp.org>
56929
56930         * tests/test-strtod.c (main): Don't use C99 syntax.
56931
56932 2008-03-31  Bruno Haible  <bruno@clisp.org>
56933
56934         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
56935         Reported by Eric Blake.
56936
56937 2008-03-31  Jim Meyering  <meyering@redhat.com>
56938
56939         Don't compare actual signbit return values.
56940         * tests/test-strtod.c (main): Rather, compare only their
56941         zero/non-zero nature.
56942
56943 2008-03-31  Eric Blake  <ebb9@byu.net>
56944
56945         More strtod documentation.
56946         * doc/posix-functions/strtod.texi (strtod): Interpret more test
56947         failures as distinct bugs.
56948
56949 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
56950
56951         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
56952         Problem reported by Erik Benada in
56953         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
56954
56955 2008-03-30  Bruno Haible  <bruno@clisp.org>
56956
56957         * tests/test-strtod.c: Add comments about which assertion fails on which
56958         platform.
56959         * doc/posix-functions/strtod.texi: Add info about many more platforms.
56960
56961 2008-03-30  Eric Blake  <ebb9@byu.net>
56962
56963         Test signbit behavior on zeros.
56964         * tests/test-signbit.c (test_signbitf): Add tests for zero.
56965         (test_signbitd, test_signbitl): Likewise.
56966
56967         More strtod touchups.
56968         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
56969         sign of negative underflow, for now.  Use .5, not .1.
56970         * doc/posix-functions/strtod.texi (strtod): Mention these
56971         limitations.
56972         Reported by Jim Meyering.
56973
56974 2008-03-30  Bruno Haible  <bruno@clisp.org>
56975
56976         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
56977         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
56978
56979 2008-03-30  Bruno Haible  <bruno@clisp.org>
56980
56981         Avoid failure when attempting to return empty iconv results on some
56982         platforms.
56983         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
56984         allocation, don't report ENOMEM when the resulting string is empty.
56985
56986 2008-03-30  Bruno Haible  <bruno@clisp.org>
56987
56988         Fix buffer overrun.
56989         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
56990         Don't consider the width for tmp_length. Check count against tmp_length
56991         before doing the padding. Ensure enough allocation during padding.
56992
56993 2008-03-30  Eric Blake  <ebb9@byu.net>
56994
56995         strtod touchups.
56996         * lib/strtod.c (strtod): Avoid compiler warnings.
56997         Reported by Jim Meyering.
56998
56999 2008-03-30  Bruno Haible  <bruno@clisp.org>
57000
57001         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
57002         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
57003         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
57004         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
57005         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
57006         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
57007         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
57008         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
57009
57010         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
57011         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
57012         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
57013         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
57014         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
57015         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
57016         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
57017         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
57018
57019         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
57020         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
57021         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
57022         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
57023         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
57024         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
57025         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
57026         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
57027
57028         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
57029         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
57030
57031         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
57032         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
57033
57034         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
57035         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
57036
57037         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
57038         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
57039         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
57040
57041         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
57042         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
57043         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
57044
57045         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
57046         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
57047         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
57048
57049         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
57050         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
57051         * modules/vasprintf (Depends-on): Add EOVERFLOW.
57052
57053         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
57054         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
57055         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
57056         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
57057         (Depends-on): Add EOVERFLOW.
57058         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
57059         (Depends-on): Add EOVERFLOW.
57060         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
57061         (Depends-on): Add EOVERFLOW.
57062         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
57063         (Depends-on): Add EOVERFLOW.
57064         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
57065         (Depends-on): Add EOVERFLOW.
57066         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
57067         (Depends-on): Add EOVERFLOW.
57068         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
57069         (Depends-on): Add EOVERFLOW.
57070         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
57071         (Depends-on): Add EOVERFLOW.
57072
57073         * lib/sprintf.c (EOVERFLOW): Remove fallback.
57074         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
57075         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
57076
57077         * lib/snprintf.c (EOVERFLOW): Remove fallback.
57078         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
57079         * modules/snprintf (Depends-on): Add EOVERFLOW.
57080
57081         * lib/poll.c (EOVERFLOW): Remove fallback.
57082         * modules/poll (Depends-on): Add EOVERFLOW.
57083
57084         * lib/getugroups.c (EOVERFLOW): Remove fallback.
57085         * modules/getugroups (Depends-on): Add EOVERFLOW.
57086
57087         * lib/getdelim.c (EOVERFLOW): Remove fallback.
57088         * modules/getdelim (Depends-on): Add EOVERFLOW.
57089
57090         * lib/ftell.c (EOVERFLOW): Remove fallback.
57091         * modules/ftell (Depends-on): Add EOVERFLOW.
57092
57093         * lib/fprintf.c (EOVERFLOW): Remove fallback.
57094         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
57095         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
57096
57097         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
57098
57099         * modules/EOVERFLOW-tests: New file.
57100         * tests/test-EOVERFLOW.c: New file.
57101
57102         * modules/EOVERFLOW: New file.
57103         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
57104
57105 2008-03-30  Bruno Haible  <bruno@clisp.org>
57106
57107         Fix bug introduced on 2007-06-10.
57108         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
57109         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
57110
57111 2008-03-30  Bruno Haible  <bruno@clisp.org>
57112
57113         Improve freadseek's efficiency after ungetc.
57114         * lib/freadseek.c: Include freadahead.h.
57115         (freadptrinc): New function, extracted from freadseek.
57116         (freadseek): Use it in a loop. Use freadahead to determine the number
57117         of loop iterations.
57118         * modules/freadseek (Depends-on): Add freadahead.
57119         (configure.ac): Require AC_C_INLINE.
57120
57121 2008-03-30  Bruno Haible  <bruno@clisp.org>
57122
57123         * lib/freadseek.c (freadseek): Don't ignore the return value of
57124         freadptr.
57125
57126 2008-03-29  Eric Blake  <ebb9@byu.net>
57127
57128         Add hex float support.
57129         * modules/strtod (Depends-on): Add c-ctype.
57130         (Link): Mention POW_LIB.
57131         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
57132         whitespace between 'e' and exponent.
57133         * tests/test-strtod.c (main): Enable hex float tests.
57134         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
57135         now provides.
57136
57137         Document various strtod bugs, with some fixes.
57138         * doc/posix-functions/strtod.texi (strtod): Document bugs with
57139         "-0x", "inf", "nan", and hex constants.
57140         * doc/posix-functions/atof.texi (atof): Likewise.
57141         * modules/stdlib (Makefile.am): Support strtod.
57142         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
57143         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
57144         detect additional strtod bugs.
57145         * lib/stdlib.in.h (rpl_strtod): Add declarations.
57146         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
57147         bool where appropriate.  Parse 'inf' and 'nan'.
57148         * tests/test-strtod.c: New file.
57149         * modules/strtod (Depends-on): Add stdbool, stdlib.
57150         (configure.ac): Turn on module indicator.
57151         * modules/strtod-tests: New module.
57152
57153 2008-03-29  Eric Blake  <ebb9@byu.net>
57154
57155         Fix ftell on mingw.
57156         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
57157         * modules/ftell-tests (Depends-on): Add binary-io.
57158         * modules/ftello-tests (Depends-on): Likewise.
57159         * tests/test-ftell.c (main): Enhance test to cover behavior after
57160         ungetc.  Enforce binary mode.
57161         * tests/test-ftello.c (main): Likewise.
57162
57163         Pass test-freadseek on cygwin.
57164         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
57165         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
57166         ungetc buffer.
57167
57168         * tests/test-fflush2.c (main): Fix typo.
57169
57170 2008-03-29  Bruno Haible  <bruno@clisp.org>
57171
57172         * tests/test-fflush2.c (main): Temporarily disable the contents of
57173         this test.
57174         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
57175         Reported by Eric Blake.
57176
57177 2008-03-28  Simon Josefsson  <simon@josefsson.org>
57178
57179         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
57180         (GC_SHA224_DIGEST_SIZE): Add.
57181
57182         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
57183         (gc_hash_digest_length): Likewise.
57184         (gc_hash_buffer): Likewise.
57185
57186 2008-03-25  Bruno Haible  <bruno@clisp.org>
57187
57188         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
57189         detail which gettext release to use.
57190         Reported by Simon Josefsson.
57191
57192 2008-03-26  Jim Meyering  <meyering@redhat.com>
57193
57194         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
57195         * modules/gnumakefile (clean-GNUmakefile): Also, use
57196         test ... && ... || : syntax rather than if-then ... fi.
57197
57198         gnumakefile: Don't double-quote-expand $(VPATH) value.
57199         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
57200
57201 2008-03-24  Eric Blake  <ebb9@byu.net>
57202
57203         Alter GNUmakefile to install into top directory.
57204         * modules/maintainer-makefile: Split, and add dependency...
57205         * modules/gnumakefile: to this new module.
57206         * build-aux/GNUmakefile: Move...
57207         * top/GNUmakefile: ...here.
57208         * build-aux/maint.mk: Move...
57209         * top/maint.mk: ...here.
57210         * MODULES.html.sh (Support for maintaining...): Document new
57211         module.
57212
57213 2008-03-23  Bruno Haible  <bruno@clisp.org>
57214
57215         * gnulib-tool: New options --vc-files, --no-vc-files.
57216         (func_usage): Document them.
57217         (vc_files): New variable.
57218         (func_import): Consider vc_files.
57219         (func_create_testdir): Set vc_files to empty.
57220         Suggested by Jim Meyering and Karl Berry.
57221
57222 2008-03-23  Bruno Haible  <bruno@clisp.org>
57223
57224         Fix regex compilation error on HP-UX 11.
57225         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
57226         * modules/regex (Files): Add m4/mbstate_t.m4.
57227         Reported by Ton Voon <ton.voon@altinity.com>.
57228
57229 2008-03-23  Bruno Haible  <bruno@clisp.org>
57230
57231         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
57232
57233 2008-03-23  Eric Blake  <ebb9@byu.net>
57234             Bruno Haible  <bruno@clisp.org>
57235
57236         Install files from top/ in the destination directory.
57237         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
57238         augmentation also for the files from top/.
57239         (func_import, func_create_testdir): Rewrite file names:
57240         top/filename -> filename.
57241
57242 2008-03-23  Bruno Haible  <bruno@clisp.org>
57243
57244         Tweak "gnulib --version" output.
57245         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
57246
57247 2008-03-23  Bruno Haible  <bruno@clisp.org>
57248
57249         Tweak "gnulib --version" output.
57250         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
57251         rather than contents of ChangeLog, when possible.
57252
57253 2008-03-21  Eric Blake  <ebb9@byu.net>
57254
57255         More --version tweaks.
57256         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
57257         date of last ChangeLog entry.
57258
57259 2008-03-21  Jim Meyering  <meyering@redhat.com>
57260
57261         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
57262
57263 2008-03-20  Eric Blake  <ebb9@byu.net>
57264
57265         VPATH fix.
57266         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
57267
57268 2008-03-20  Simon Josefsson  <simon@josefsson.org>
57269
57270         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
57271         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
57272
57273 2008-03-20  Eric Blake  <ebb9@byu.net>
57274
57275         Sync GNUmakefile with coreutils.
57276         * build-aux/GNUmakefile (have-Makefile): Rename...
57277         (_have-Makefile): ...to this, for namespace consideration.
57278         (GNUmakefile.cfg): Include, if present.
57279         (_autoreconf): Define a default.
57280         (_is-dist-target): New rule for rebuilds to pick up intra-release
57281         version.
57282         (maint-cfg.mk): Rename...
57283         (cfg.mk): ...to this.
57284
57285 2008-03-18  Jim Meyering  <meyering@redhat.com>
57286
57287         New script and module: mktempd
57288         * MODULES.html.sh (maint+release support): Add mktempd.
57289         * build-aux/mktempd: New file.
57290         * modules/mktempd: New file.
57291
57292 2008-03-15  Jim Meyering  <meyering@redhat.com>
57293
57294         Undo last change.
57295         * lib/sha1.c, lib/md5.c: 63 != ~63.
57296         Reported by Andreas Schwab.
57297
57298         sha1.c, md5.c: Hoist a redundant expression.
57299         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
57300         "ctx->buflen" only once, before calling *_process_block.
57301         * lib/md5.c (md5_process_bytes): Likewise.
57302
57303 2008-03-14  Eric Blake  <ebb9@byu.net>
57304
57305         Bump copyright year in files generated by gnulib-tool.
57306         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
57307         gnulib-tool, rather than hard-coding it.
57308
57309         Fix 'gnulib-tool --version' output to work with git.
57310         * gnulib-tool (func_gnulib_dir): New function, extracted from...
57311         (startup): ...here.
57312         (func_version): Use it to invoke git-version-gen, rather than
57313         relying on CVS keyword expansion.  Modernize wording.
57314         (cvsdatestamp, last_checkin_date, version): Kill unused
57315         variables.
57316
57317 2008-03-12  Jim Meyering  <meyering@redhat.com>
57318
57319         Recognize optional cast of the argument to free.
57320         * build-aux/useless-if-before-free: Update regexps.
57321
57322         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
57323
57324 2008-03-11  Bruno Haible  <bruno@clisp.org>
57325
57326         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
57327         by a single package.
57328         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
57329         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
57330         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
57331         Reported by Sam Steingold <sds@gnu.org>.
57332
57333 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
57334
57335         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
57336         repositories.
57337
57338 2008-03-11  Bruno Haible  <bruno@clisp.org>
57339
57340         Avoid conflicts between local macro definitions.
57341         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
57342         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
57343
57344 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
57345             Bruno Haible  <bruno@clisp.org>
57346
57347         Make va_copy work with some version of xlc on AIX 5.1.
57348         * lib/stdarg.in.h: New file.
57349         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
57350         On AIX, use a <stdarg.h> file substitute.
57351         * modules/stdarg (Files): Add lib/stdarg.in.h.
57352         (Depends-on): Add include_next.
57353         (Makefile.am): Build a stdarg.h substitute if requested.
57354         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
57355
57356 2008-03-10  Bruno Haible  <bruno@clisp.org>
57357
57358         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
57359         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
57360         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
57361
57362 2008-03-10  Bruno Haible  <bruno@clisp.org>
57363
57364         * modules/stdlib (Depends-on): Add include_next, remove
57365         absolute-header.
57366
57367 2008-03-09  Bruno Haible  <bruno@clisp.org>
57368
57369         * lib/freadahead.h (freadahead): Document more precisely.
57370         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
57371         the sum of both buffer sizes.
57372         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
57373         * NEWS: Document the change.
57374
57375 2008-03-09  Bruno Haible  <bruno@clisp.org>
57376
57377         Extend freadptr to return also the buffer size.
57378         * lib/freadptr.h (freadptr): Add sizep argument.
57379         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
57380         (freadptr): Add sizep argument. Determine buffer size like freadahead
57381         does.
57382         * tests/test-freadptr.c: Don't include freadahead.h.
57383         (main): Adapt for new calling convention of freadptr.
57384         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
57385         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
57386         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
57387         tests/test-freadptr2.sh.
57388         (Depends): Remove freadahead.
57389         (TESTS): Add test-freadptr2.sh.
57390         (check_PROGRAMS): Add test-freadptr2.
57391
57392 2008-03-09  Bruno Haible  <bruno@clisp.org>
57393
57394         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
57395         Report and solution by Simon Josefsson.
57396
57397 2008-03-06  Bruno Haible  <bruno@clisp.org>
57398
57399         Make fflush after ungetc work on BSD platforms.
57400         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
57401         * tests/test-fflush2.c: New file.
57402         * tests/test-fflush2.sh: New file.
57403         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
57404         tests/test-fflush2.c.
57405         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
57406         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
57407
57408 2008-03-06  Eric Blake  <ebb9@byu.net>
57409
57410         Likewise for ftello.
57411         * modules/ftello (Dependencies): Add extensions.
57412         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
57413
57414 2008-03-06  Bruno Haible  <bruno@clisp.org>
57415
57416         * modules/fseeko (Dependencies): Add extensions.
57417         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
57418         Needed on glibc systems.
57419
57420 2008-03-06  Bruno Haible  <bruno@clisp.org>
57421
57422         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
57423         email address.
57424         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
57425
57426 2008-03-06  Bruno Haible  <bruno@clisp.org>
57427
57428         * users.txt: Add libgnupdf.
57429
57430 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
57431
57432         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
57433         (Header File Substitutes, Function Substitutes,
57434         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
57435         (Build robot for gnulib): Fix typo.
57436
57437 2008-03-06  Bruno Haible  <bruno@clisp.org>
57438
57439         * doc/gnulib-tool.texi (VCS Issues): Small updates.
57440         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
57441
57442 2008-03-06  Bruno Haible  <bruno@clisp.org>
57443
57444         * doc/func.texi: New file, extracted from doc/gnulib.texi.
57445         * doc/gnulib.texi: Include it.
57446
57447 2008-03-06  Simon Josefsson  <simon@josefsson.org>
57448
57449         * modules/func (License): Change license to unlimited; there was
57450         no LGPL parts in the module anyway.
57451
57452 2008-03-06  Simon Josefsson  <simon@josefsson.org>
57453
57454         * modules/__func__: Renamed to modules/func.
57455         * modules/__func__-tests: Renamed to modules/func-tests.
57456         * tests/test-__func__.c: Renamed to tests/test-func.c.
57457         * m4/__func__.m4: Renamed to m4/func.m4.
57458         * doc/gnulib.texi (__func__): Section renamed to func.
57459         Suggested by Eric Blake <ebb9@byu.net>.
57460
57461 2008-03-06  Simon Josefsson  <simon@josefsson.org>
57462
57463         * doc/gnulib.texi (__func__): Use C99 terminology when talking
57464         about __func__.  Make example self-contained.  Suggested by Eric
57465         Blake <ebb9@byu.net>.
57466
57467         * tests/test-__func__.c (main): Avoid extraneous () around __func.
57468         Suggested by Eric Blake <ebb9@byu.net>.
57469
57470 2008-03-06  Simon Josefsson  <simon@josefsson.org>
57471
57472         * modules/__func__: New file.
57473         * modules/__func__-tests: New file.
57474         * tests/test-__func__.c: New file.
57475         * m4/__func__.m4: New file.
57476         * doc/gnulib.texi (__func__): Document __func__ module.
57477
57478 2008-03-05  Simon Josefsson  <simon@josefsson.org>
57479
57480         * modules/byteswap (License): Re-license as LGPLv2+.
57481
57482 2008-03-05  Simon Josefsson  <simon@josefsson.org>
57483
57484         * doc/Makefile: Add pdf target.
57485
57486 2008-03-05  Simon Josefsson  <simon@josefsson.org>
57487
57488         * modules/inline (License): Use 'unlimited', since there are only
57489         *.m4 files in this module.
57490
57491 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
57492             Bruno Haible  <bruno@clisp.org>
57493
57494         Add support for HP C 7.1 on OpenVMS 8.3.
57495         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
57496
57497 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
57498
57499         Update VMS specifics.
57500         * lib/getopt.c [VMS]: Remove include of unixlib.h.
57501
57502 2008-03-02  Jim Meyering  <meyering@redhat.com>
57503
57504         Remove the last dependency on the "free" module.
57505         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
57506         Reported by Bob Proulx.
57507
57508         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
57509
57510         Remove useless "if" tests before free.  Deprecate "free" module.
57511         * doc/posix-functions/free.texi: Mention that this
57512         module is no longer useful.
57513         * modules/free (Notice): Say this module is obsolete.
57514         * modules/readutmp (Depends-on): Remove free.
57515         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
57516         * lib/putenv.c (putenv): Likewise.
57517         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
57518         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
57519         * tests/test-c-strcasestr.c (main): Likewise.
57520         * tests/test-c-strstr.c (main): Likewise.
57521         * tests/test-mbscasestr1.c (main): Likewise.
57522         * tests/test-mbscasestr2.c (main): Likewise.
57523         * tests/test-mbsstr1.c (main): Likewise.
57524         * tests/test-mbsstr2.c (main): Likewise.
57525         * tests/test-memmem.c (main): Likewise.
57526         * tests/test-strcasestr.c (main): Likewise.
57527         * tests/test-striconv.c (main): Likewise.
57528         * tests/test-striconveh.c (main): Likewise.
57529         * tests/test-striconveha.c (main): Likewise.
57530         * tests/test-strstr.c (main): Likewise.
57531
57532         * build-aux/git-version-gen: Adjust a comment and the Usage string.
57533
57534         bootstrap: sync from coreutils again
57535         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
57536
57537 2008-03-01  Jim Meyering  <meyering@redhat.com>
57538
57539         bootstrap: sync from coreutils
57540         * build-aux/bootstrap (update_po_files): Copy a .po file into place
57541         also when the target doesn't exist.
57542
57543 2008-03-01  Eric Blake  <ebb9@byu.net>
57544
57545         Fix bugs in last patch.
57546         * lib/memchr2.c (memchr2): Fix typo.
57547         * tests/test-memchr2.c: Test previous bug, and don't use GNU
57548         extension.
57549         Reported by Bruce Korb.
57550
57551         New module 'memchr2'.
57552         * modules/memchr2: New file.
57553         * modules/memchr2-tests: Likewise.
57554         * lib/memchr2.h: Likewise.
57555         * lib/memchr2.c: Likewise, based on memchr.c.
57556         * tests/test-memchr2.c: New test.
57557         * MODULES.html.sh (String handling): Add memchr2.
57558
57559 2008-02-29  Bruno Haible  <bruno@clisp.org>
57560
57561         * modules/freadseek-tests: New file.
57562         * tests/test-freadseek.sh: New file.
57563         * tests/test-freadseek.c: New file.
57564
57565         New module 'freadseek'.
57566         * modules/freadseek: New file.
57567         * lib/freadseek.h: New file.
57568         * lib/freadseek.c: New file.
57569         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
57570
57571 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
57572
57573         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
57574         wydawca.
57575
57576         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
57577         program_invocation_name and program_invocation_short_name are
57578         present.
57579
57580 2008-02-28  Bruno Haible  <bruno@clisp.org>
57581
57582         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
57583         * tests/test-freadptr.sh: Also test non-seekable stdin.
57584
57585 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
57586
57587         * build-aux/bootstrap (source_base, m4_base)
57588         (doc_base, tests_base): New variables.
57589         (gnulib_tool_options): Do not hardcode base directories, use
57590         the above variables instead.
57591
57592 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
57593
57594         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
57595
57596 2008-02-28  Bruno Haible  <bruno@clisp.org>
57597
57598         * modules/freadptr-tests: New file.
57599         * tests/test-freadptr.sh: New file.
57600         * tests/test-freadptr.c: New file.
57601
57602         New module 'freadptr'.
57603         * modules/freadptr: New file.
57604         * lib/freadptr.h: New file.
57605         * lib/freadptr.c: New file.
57606         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
57607
57608 2008-02-26  Karl Berry  <karl@freefriends.org>
57609
57610         Sync from Libtool:
57611         * libltdl/argz.c (argz_add, argz_count): New functions.
57612         * libltdl/argz.in.h: Declare them.
57613         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
57614
57615 2008-02-22  Bruno Haible  <bruno@clisp.org>
57616
57617         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
57618         is a pointer type.  Needed for HP-UX 10.
57619         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
57620         * doc/posix-functions/gmtime_r.texi: Likewise.
57621         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
57622
57623 2008-02-24  Bruno Haible  <bruno@clisp.org>
57624
57625         * modules/environ-tests: New file.
57626         * tests/test-environ.c: New file.
57627
57628         New module 'environ'.
57629         * modules/environ: New file.
57630         * lib/unistd.in.h (environ): New declaration.
57631         * m4/environ.m4: New file.
57632         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
57633         after use.
57634         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
57635         HAVE_DECL_ENVIRON.
57636         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
57637         HAVE_DECL_ENVIRON.
57638         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
57639         wrong claim that 'environ' is missing on some systems.
57640         * modules/execute (Depends-on): Add environ.
57641         * lib/execute.c (environ): Remove fallback declaration.
57642         * modules/pipe (Depends-on): Add environ.
57643         * lib/pipe.c (environ): Remove fallback declaration.
57644         * modules/setenv (Depends-on): Add environ.
57645         * lib/setenv.c (environ): Remove fallback declaration.
57646         * modules/unsetenv (Depends-on): Add environ.
57647         * lib/unsetenv.c (environ): Remove fallback declaration.
57648         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
57649         m4/environ.m4.
57650         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
57651         (gl_PREREQ_UNSETENV): Likewise.
57652
57653 2008-02-24  Bruno Haible  <bruno@clisp.org>
57654
57655         * doc/posix-functions/environ.texi: Document the MacOS X problem.
57656
57657 2008-02-20  Bob Proulx  <bob@proulx.com>
57658
57659         Enable use of older two part flavor 'git describe'.
57660         * build-aux/git-version-gen: If using the older two part flavor of
57661         git version then recreate the third part now present in the
57662         newer three part flavor of git describe.
57663
57664 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
57665
57666         * lib/fts.c (fts_build): Typo correction to comment.
57667
57668 2008-02-17  Bruno Haible  <bruno@clisp.org>
57669
57670         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
57671         generating no-op conflicts.
57672
57673 2008-02-17  Bruno Haible  <bruno@clisp.org>
57674
57675         Speed up by 10%.
57676         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
57677         result_entries, rather than an index-based loop.
57678
57679 2008-02-17  Bruno Haible  <bruno@clisp.org>
57680
57681         Speed up by 25%.
57682         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
57683         'hashcode_cached'.
57684         (entry_create): New function.
57685         (entry_hashcode): Use the cached hashcode if possible.
57686         (read_changelog_file, try_split_merged_entry): Use entry_create.
57687
57688 2008-02-17  Bruno Haible  <bruno@clisp.org>
57689
57690         Speed up from O(n^2) to O(n) for long ChangeLog files.
57691         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
57692         (read_changelog_file): Change implementation of entries_reversed list
57693         to rbtreehash.
57694         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
57695
57696 2008-02-17  Bruno Haible  <bruno@clisp.org>
57697
57698         New option --split-merged-entry.
57699         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
57700         (find_paragraph_end, try_split_merged_entry): New functions.
57701         (long_options): Add option --split-merged-entry.
57702         (usage): Document option --split-merged-entry.
57703         (main): Implement option --split-merged-entry.
57704         Reported by Eric Blake.
57705
57706 2008-02-17  Bruno Haible  <bruno@clisp.org>
57707
57708         * lib/git-merge-changelog.c: Include c-strstr.h.
57709         (main): Support the "git pull --rebase" situation.
57710         * modules/git-merge-changelog (Depends-on): Add c-strstr.
57711         Reported by Eric Blake.
57712
57713 2008-02-16  Eric Blake  <ebb9@byu.net>
57714
57715         Avoid doubling \ in common case of "c-maybe" quoting style.
57716         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
57717         eliding outer quotes.
57718         * lib/quotearg.h: Document this.
57719         * tests/test-quotearg.c (result_strings, inputs, results_g)
57720         (flag_results, locale_results): Test it by adding a new string to
57721         each test group.
57722         (compare_strings): Test new string.
57723
57724 2008-02-13  Eric Blake  <ebb9@byu.net>
57725
57726         Avoid trigraph quoting in default output.
57727         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
57728         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
57729         unless explicitly requested.
57730         * tests/test-quotearg.c (flag_results, main): Add additional tests.
57731
57732 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
57733
57734         Don't rely on signed integer overflowing to negative value.
57735         * lib/getugroups.c (getugroups): Include <limits.h>.
57736         Instead, compare against INT_MAX, and increment only if the test passes.
57737
57738 2008-02-13  Jim Meyering  <meyering@redhat.com>
57739         and Eric Blake  <ebb9@byu.net>
57740
57741         Avoid shadowing warning and compile errors on Linux.
57742         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
57743         forwarding macros on Linux.
57744         (dcgettext): Define a stub, for Linux.
57745         (results_g, main): Avoid warnings.
57746
57747 2008-02-12  Eric Blake  <ebb9@byu.net>
57748
57749         Silence warning in last patch.
57750         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
57751
57752         Quotearg part 4: add tests, fix c-maybe colon quoting.
57753         * lib/quotearg.h: Improve documentation.
57754         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
57755         escapes when adding outer quotes.  When quoting trigraphs, use
57756         valid C notation.  When quoting NUL, omit extra characters if next
57757         character is not digit.  Alter prototype.
57758         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
57759         callers.
57760         * modules/quotearg-tests: New module.
57761         * tests/test-quotearg.c: New test.
57762
57763 2008-02-07  Eric Blake  <ebb9@byu.net>
57764
57765         Quotearg part 3: add flag to control outer quote elision.
57766         * lib/quotearg.h (c_maybe_quoting_style): New style.
57767         (enum quoting_flags): Better documentation of flags.
57768         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
57769         c-maybe style.
57770         (quotearg_buffer_restyled): Handle new flag to elide outer
57771         quotes.
57772
57773         Quotearg part 2: add flag that can control NUL elision.
57774         * lib/quotearg.h (set_quoting_flags): New prototype.
57775         * lib/quotearg.c (struct quoting_options): Add flag field.
57776         (set_quoting_flags): New function.
57777         (quotearg_buffer_restyled): Add flags parameter.
57778         (quotearg_alloc_mem): Set the flag if length cannot be returned.
57779         (quotearg_n_options): Set the flag, since length cannot be
57780         returned.
57781         (quoting_options_from_style): Default flags correctly.
57782
57783         Quotearg part 1: more wrappers, restore quotearg_char state.
57784         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
57785         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
57786         (quotearg_colon_mem): New wrappers.
57787         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
57788         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
57789         functions.
57790         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
57791         (quotearg_colon_mem): New functions.
57792
57793 2008-02-11  Bruno Haible  <bruno@clisp.org>
57794
57795         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
57796         library in the current directory: it does not work with parallel make.
57797         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57798
57799 2008-02-11  Bruno Haible  <bruno@clisp.org>
57800
57801         * .gitattributes: New file.
57802
57803 2008-02-11  Jim Meyering  <meyering@redhat.com>
57804
57805         useless-if-before-free: Fix reversed exit values.
57806         * build-aux/useless-if-before-free: Use correct values
57807         for EXIT_MATCH and EXIT_NO_MATCH.
57808
57809         * build-aux/useless-if-before-free: Close stdout carefully.
57810
57811 2008-02-10  Bruno Haible  <bruno@clisp.org>
57812
57813         New module 'git-merge-changelog'.
57814         * modules/git-merge-changelog: New file.
57815         * lib/git-merge-changelog.c: New file.
57816
57817 2008-02-10  Jim Meyering  <meyering@redhat.com>
57818
57819         useless-if-before-free: New option: --list (-l).
57820
57821         useless-if-before-free: Don't exit immediately upon open failure.
57822         * build-aux/useless-if-before-free: Exit 2 for errors.
57823         Upon failure to open a file, don't exit immediately.
57824         Rather, just warn and continue with any remaining files.
57825
57826 2008-02-10  Bruno Haible  <bruno@clisp.org>
57827
57828         New abstract list operation 'node_set_value'.
57829         * lib/gl_list.h (gl_list_node_set_value): New function.
57830         (struct gl_list_implementation): New field node_set_value.
57831         * lib/gl_list.c (gl_list_node_set_value): New function.
57832         * lib/gl_array_list.c (gl_array_node_set_value): New function.
57833         (gl_array_list_implementation): Update.
57834         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
57835         (gl_carray_list_implementation): Update.
57836         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
57837         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
57838         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
57839         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
57840         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
57841         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
57842         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
57843         Update.
57844         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
57845         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
57846         (gl_sublist_list_implementation): Update.
57847
57848 2008-02-10  Bruno Haible  <bruno@clisp.org>
57849
57850         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
57851         Needed when ELEMENT is #defined to 'some_type *'.
57852
57853 2008-02-10  Jim Meyering  <meyering@redhat.com>
57854
57855         New script and module: useless-if-before-free
57856         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
57857         * build-aux/useless-if-before-free: New file.
57858         * modules/useless-if-before-free: New file.
57859
57860         * build-aux/gitlog-to-changelog: Use committer date, not author date.
57861
57862         xstrtol_error: Fix typo.
57863         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
57864         s/exit_failure/exit_status/.
57865
57866 2008-02-09  Jim Meyering  <meyering@redhat.com>
57867
57868         New script and module: gitlog-to-changelog
57869         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
57870         * modules/gitlog-to-changelog: New file.
57871         * build-aux/gitlog-to-changelog: New file.
57872
57873 2008-02-08  Jim Meyering  <meyering@redhat.com>
57874
57875         Avoid two "parameter unused" warnings.
57876         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
57877         Mark "st" as used.
57878
57879         Use "git COMMAND", not "git-COMMAND".
57880         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
57881         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
57882         * build-aux/git-version-gen: Use "git status", not "git-status".
57883
57884 2008-02-07  Bruno Haible  <bruno@clisp.org>
57885
57886         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
57887         Avoids a crash on Windows Vista.
57888         Reported by Adam Strzelecki <ono@java.pl> via
57889         Simon Josefsson <simon@josefsson.org>.
57890
57891 2008-02-06  Bruno Haible  <bruno@clisp.org>
57892
57893         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
57894         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
57895         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
57896         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
57897         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
57898         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
57899         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
57900         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
57901         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
57902         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57903         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57904         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57905         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
57906         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57907         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57908         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
57909         left-adjust flag.
57910         * tests/test-snprintf-posix.h (test_function): Likewise.
57911         * tests/test-sprintf-posix.h (test_function): Likewise.
57912         * tests/test-vasprintf-posix.c (test_function): Likewise.
57913         * doc/posix-functions/fprintf.texi: Update.
57914         * doc/posix-functions/printf.texi: Update.
57915         * doc/posix-functions/snprintf.texi: Update.
57916         * doc/posix-functions/sprintf.texi: Update.
57917         * doc/posix-functions/vfprintf.texi: Update.
57918         * doc/posix-functions/vprintf.texi: Update.
57919         * doc/posix-functions/vsnprintf.texi: Update.
57920         * doc/posix-functions/vsprintf.texi: Update.
57921         Reported by Peter Fales <psfales@alcatel-lucent.com>.
57922
57923 2008-02-06  Bruno Haible  <bruno@clisp.org>
57924
57925         Fix bug introduced on 2008-01-26.
57926         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
57927
57928 2008-02-06  Bruno Haible  <bruno@clisp.org>
57929
57930         Fix bug introduced on 2007-06-10.
57931         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
57932         !NEED_PRINTF_FLAG_ZERO.
57933
57934 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
57935
57936         getloadavg: use libperfstat on AIX5
57937         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
57938
57939 2008-02-03  Bruno Haible  <bruno@clisp.org>
57940
57941         * lib/diffseq.h: Add comments about required #includes.
57942         Reported by Michael Biggs <gnulib@doubleplum.net>.
57943
57944 2008-02-01  Bruno Haible  <bruno@clisp.org>
57945
57946         * users.txt: Add gnuit.
57947
57948 2008-01-31  Bruno Haible  <bruno@clisp.org>
57949
57950         * lib/md4.c (set_uint32): Mark as inline.
57951         * lib/md5.c (set_uint32): Likewise.
57952         * lib/sha1.c (set_uint32): Likewise.
57953         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
57954         * m4/md5.m4 (gl_MD5): Likewise.
57955         * m4/sha1.m4 (gl_SHA1): Likewise.
57956
57957 2008-01-31  Jim Meyering  <meyering@redhat.com>
57958
57959         Use "sizeof VAR", rather than a literal "4".
57960         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
57961         * lib/md4.c (md4_read_ctx): Likewise.
57962         * lib/sha1.c (sha1_read_ctx): Likewise.
57963
57964 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57965
57966         * tests/test-sha1.c: New file, based on test-md5.c.
57967
57968         * modules/crypto/sha1-tests: New file.
57969
57970 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57971
57972         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
57973
57974 2008-01-31  Jim Meyering  <meyering@redhat.com>
57975
57976         Prefer "sizeof v" over the equivalent "4".
57977         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
57978         * lib/md5.c (set_uint32): Likewise.
57979         * lib/sha1.c (set_uint32): Likewise.
57980
57981 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57982
57983         * lib/sha1.c (set_uint32): Mark function as static.
57984
57985 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57986
57987         md2: clarify comments to say that alignment is not required.
57988         * lib/md2.h: Remove warning about alignment in comment.
57989         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
57990         never been required.
57991
57992 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57993
57994         md4: adapt alignment constraint fix from sha1.
57995         * lib/md4.c (set_uint32): New function, from sha1.c
57996         (md4_read_ctx): Use it.
57997         (md4_finish_ctx): Doc fix.
57998         * lib/md4.h: Doc fix.
57999
58000 2008-01-31  Simon Josefsson  <simon@josefsson.org>
58001
58002         md5: adapt alignment constraint fix from sha1.
58003         * lib/md5.c (set_uint32): New function, from sha1.c
58004         (md5_read_ctx): Use it.
58005         (md5_finish_ctx): Doc fix.
58006         * lib/md5.h: Doc fix.
58007
58008 2008-01-30  Peter Palfrader  <weasel@debian.org>
58009
58010         sha1: remove the result buffer alignment constraint
58011         * lib/sha1.c (set_uint32): New function.
58012         (sha1_read_ctx): Rewrite to remove the result buffer alignment
58013         constraint.
58014         (sha1_finish_ctx): Remove comment warning about alignment constraint.
58015         * lib/sha1.h: Likewise.
58016
58017 2008-01-30  Andreas Schwab  <schwab@suse.de>
58018             Bruno Haible  <bruno@clisp.org>
58019
58020         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
58021         correct definition of LDBL_MIN_EXP.
58022
58023 2008-01-30  Karl Berry  <karl@gnu.org>
58024
58025         * config/srclist-update: try to preserve x bit on updates.
58026         * config/srclistvars.sh: update for karl.
58027
58028 2008-01-29  Jim Meyering  <meyering@redhat.com>
58029
58030         vasnprintf.c: Avoid warning about unused label
58031         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
58032         "overflow" label definition and associated code with the
58033         same cpp condition that guards the sole use of that label.
58034
58035 2008-01-26  Bruno Haible  <bruno@clisp.org>
58036
58037         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
58038         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
58039         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
58040         * lib/isnanl-nolibm.h (isnanl): Likewise.
58041         Reported by Paul Eggert <eggert@cs.ucla.edu>.
58042
58043 2008-01-26  Bruno Haible  <bruno@clisp.org>
58044
58045         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
58046         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
58047
58048 2008-01-26  Bruno Haible  <bruno@clisp.org>
58049
58050         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
58051         GCC >= 4.0 built-in.
58052         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
58053
58054 2008-01-26  Bruno Haible  <bruno@clisp.org>
58055
58056         Rename isnan, applicable to 'double' only, to isnand.
58057         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
58058         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
58059         (configure.ac): Update.
58060         (Include): Replace "isnan.h" with "isnand.h".
58061         * m4/isnand.m4: Renamed from m4/isnan.m4.
58062         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
58063         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
58064         instead of isnan.c.
58065         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
58066         instead of HAVE_ISNAN_IN_LIBC.
58067         (isnand): Renamed from isnan.
58068         * lib/isnand.c: New file.
58069         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
58070         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
58071         (Makefile.am): Update.
58072         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
58073         Include isnand.h instead of isnan.h.
58074         (main): Test isnand instead of isnan.
58075         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
58076         isnan-nolibm.
58077         * modules/frexp (Depends-on): Likewise.
58078         * modules/frexp-tests (Depends-on): Likewise.
58079         * modules/frexp-nolibm (Depends-on): Likewise.
58080         * modules/frexp-nolibm-tests (Depends-on): Likewise.
58081         * modules/isfinite (Depends-on): Likewise.
58082         * modules/round-tests (Depends-on): Likewise.
58083         * modules/signbit (Depends-on): Likewise.
58084         * modules/signbit-tests (Depends-on): Likewise.
58085         * modules/snprintf-posix (Depends-on): Likewise.
58086         * modules/sprintf-posix (Depends-on): Likewise.
58087         * modules/trunc-tests (Depends-on): Likewise.
58088         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
58089         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
58090         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
58091         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
58092         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
58093         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
58094         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
58095         * modules/vasnprintf-posix (Depends-on): Likewise.
58096         * modules/vasprintf-posix (Depends-on): Likewise.
58097         * modules/vfprintf-posix (Depends-on): Likewise.
58098         * modules/vsnprintf-posix (Depends-on): Likewise.
58099         * modules/vsprintf-posix (Depends-on): Likewise.
58100         * lib/frexp.c: Include isnand.h instead of isnan.h.
58101         (ISNAN): Set to isnand instead of isnan.
58102         * lib/isfinite.c: Include isnand.h instead of isnan.h.
58103         (gl_isfinited): Use isnand instead of isnan.
58104         * lib/signbitd.c: Include isnand.h instead of isnan.h.
58105         (gl_signbitd): Use isnand instead of isnan.
58106         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
58107         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
58108         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
58109         (main): Use isnand instead of isnan.
58110         * tests/test-round1.c: Include isnand.h.
58111         (main): Use isnand instead of isnan.
58112         * tests/test-round2.c: Include isnand.h instead of isnan.h.
58113         (ISNAN): Set to isnand instead of isnan.
58114         * tests/test-trunc1.c: Include isnand.h.
58115         (main): Use isnand instead of isnan.
58116         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
58117         (equal): Use isnand instead of isnan.
58118         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
58119         isnand-nolibm.
58120         * NEWS: Mention the change.
58121
58122 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
58123             Bruno Haible  <bruno@clisp.org>
58124
58125         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
58126         the GCC builtins for signbits are present and set
58127         REPLACE_SIGNBIT_USING_GCC if so.
58128         * lib/math.in.h (signbit): Define using GCC builtins if
58129         REPLACE_SIGNBIT_USING_GCC is set.
58130         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
58131         REPLACE_SIGNBIT_USING_GCC.
58132         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
58133
58134 2008-01-25  Jim Meyering  <meyering@redhat.com>
58135
58136         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
58137         * lib/poll.c: Include <config.h>, not "config.h".
58138         * tests/test-getaddrinfo.c: Likewise.
58139
58140 2008-01-25  Simon Josefsson  <simon@josefsson.org>
58141
58142         * modules/sockets-tests: New file.
58143
58144 2008-01-24  Simon Josefsson  <simon@josefsson.org>
58145
58146         * modules/sockets: New module, can be used to call WSA_Startup and
58147         WSA_Cleanup when needed.
58148
58149         * lib/sockets.h, lib/sockets.c: New files.
58150
58151         * m4/sockets.m4: New file.
58152
58153         * tests/test-sockets.c: New file.
58154
58155 2008-01-19  Bruno Haible  <bruno@clisp.org>
58156
58157         * doc/posix-headers: Renamed from doc/headers.
58158         * doc/posix-functions: Renamed from doc/functions.
58159         * doc/gnulib.texi: Update.
58160
58161 2008-01-19  Bruno Haible  <bruno@clisp.org>
58162
58163         * doc/glibc-functions/strcasestr.texi: Include contents of
58164         doc/functions/strcasestr.texi, fixing the list of platforms.
58165         * doc/functions/strcasestr.texi: Remove file.
58166
58167 2008-01-19  Bruno Haible  <bruno@clisp.org>
58168
58169         * doc/glibc-functions/memmem.texi: Include contents of
58170         doc/functions/memmem.texi.
58171         * doc/functions/memmem.texi: Remove file.
58172
58173 2008-01-18  Bruno Haible  <bruno@clisp.org>
58174
58175         * doc/glibc-functions/*.texi: New files.
58176         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
58177         to use the new files.
58178
58179 2008-01-17  Bruno Haible  <bruno@clisp.org>
58180
58181         * tests/test-gethostname.c (main): Fix printf statement.
58182
58183 2008-01-17  Simon Josefsson  <simon@josefsson.org>
58184
58185         * modules/gethostname-tests: New file.
58186
58187         * tests/test-gethostname.c: New file.
58188
58189 2008-01-17  Simon Josefsson  <simon@josefsson.org>
58190
58191         * lib/gethostname.c: Include string.h unconditionally, strncpy is
58192         used by the UNAME case.  Reported by Bruno Haible
58193         <bruno@clisp.org>.
58194
58195 2008-01-17  Eric Blake  <ebb9@byu.net>
58196
58197         Convert c-strcasestr to be more efficient.
58198         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
58199         (Depends-on): Add c-strcase, remove malloca, strnlen.
58200         * tests/test-c-strcasestr.c (main): Enhance test.
58201         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
58202
58203 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
58204
58205         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
58206         Use it in creating po/Makevars.
58207
58208 2008-01-15  Simon Josefsson  <simon@josefsson.org>
58209
58210         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
58211         Applications that requires it should initialize libgcrypt
58212         manually.
58213
58214 2008-01-16  Simon Josefsson  <simon@josefsson.org>
58215
58216         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
58217
58218 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
58219
58220         Fix problem with getdate on mingw32 reported by Simon Josefsson
58221         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
58222         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
58223         tzname", when deciding whether to declare tzname.
58224         * lib/strftime.c (tzname): Likewise.
58225
58226 2008-01-15  Bruno Haible  <bruno@clisp.org>
58227
58228         Work around a MacOS X 10.5 bug in frexpl().
58229         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
58230         * doc/functions/frexpl.texi: Document the bug.
58231         Reported by Elias Pipping <pipping@gentoo.org>.
58232
58233 2008-01-14  Eric Blake  <ebb9@byu.net>
58234
58235         Touch up previous patch.
58236         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
58237         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
58238
58239         Convert strcasestr module to use Two-Way algorithm.
58240         * modules/strcasestr-simple: New module, based on the old
58241         strcasestr, but with Two-Way rather than KMP.
58242         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
58243         * lib/string.in.h (rpl_strcasestr): Declare.
58244         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
58245         performance.
58246         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
58247         * modules/string (Makefile.am): Support strcasestr.
58248         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
58249         * modules/strcasestr-tests (Depends-on): Check for alarm.
58250         * tests/test-strcasestr.c: Augment test.
58251         * lib/str-two-way.h: Clean up stray macro.
58252         * NEWS: Document new module.
58253         * MODULES.html.sh (string handling): Likewise.
58254         * doc/functions/strcasestr.texi: New file.
58255         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
58256         here, since it is not a POSIX function.
58257
58258 2008-01-14  Colin Watson  <cjwatson@debian.org>
58259             Bruno Haible  <bruno@clisp.org>
58260
58261         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
58262         works fine; if not, set REPLACE_STRSIGNAL.
58263         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
58264         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
58265         REPLACE_STRSIGNAL.
58266         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
58267         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
58268         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
58269
58270 2008-01-14  Bruno Haible  <bruno@clisp.org>
58271
58272         * modules/strsignal (Include): Change to <string.h>.
58273
58274 2008-01-14  Colin Watson  <cjwatson@debian.org>
58275
58276         * modules/argp (Notice): Add a notice recommending to change
58277         XGETTEXT_OPTIONS.
58278         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
58279
58280 2008-01-13  Colin Watson  <cjwatson@debian.org>
58281
58282         * modules/strsignal-tests: New file.
58283         * tests/test-strsignal.c: New file.
58284
58285         * lib/strsignal.c: New file, from glibc with modifications.
58286         * lib/siglist.h: New file, from glibc with modifications.
58287         * lib/string.in.h (strsignal): New declaration.
58288         * m4/strsignal.m4: New file.
58289         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
58290         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
58291         * modules/strsignal: New file.
58292         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
58293         HAVE_DECL_STRSIGNAL.
58294
58295 2008-01-13  Bruno Haible  <bruno@clisp.org>
58296
58297         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
58298         locale encoding is not ASCII. Needed for OpenBSD 4.0.
58299         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
58300         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
58301
58302 2008-01-13  Bruno Haible  <bruno@clisp.org>
58303
58304         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
58305         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
58306         * lib/argp.h (__attribute__): Likewise.
58307         * lib/c-stack.c (__attribute__): Likewise.
58308         * lib/error.h (__attribute__): Likewise.
58309         * lib/fts.c (__attribute__): Likewise.
58310         * lib/openat.h (__attribute__): Likewise.
58311         * lib/stdio.in.h (__attribute__): Likewise.
58312         * lib/string.in.h (__attribute__): Likewise.
58313         * lib/utimens.c (__attribute__): Likewise.
58314         * lib/vasnprintf.h (__attribute__): Likewise.
58315         * lib/xalloc.h (__attribute__): Likewise.
58316         * lib/xprintf.h (__attribute__): Likewise.
58317         * lib/xstrtol.h (__attribute__): Likewise.
58318         * lib/xvasprintf.h (__attribute__): Likewise.
58319
58320 2008-01-12  Bruno Haible  <bruno@clisp.org>
58321
58322         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
58323         * doc/glibc-headers/a.out.texi: New file.
58324         * doc/glibc-headers/aliases.texi: New file.
58325         * doc/glibc-headers/alloca.texi: New file.
58326         * doc/glibc-headers/ar.texi: New file.
58327         * doc/glibc-headers/argp.texi: New file.
58328         * doc/glibc-headers/argz.texi: New file.
58329         * doc/glibc-headers/byteswap.texi: New file.
58330         * doc/glibc-headers/crypt.texi: New file.
58331         * doc/glibc-headers/endian.texi: New file.
58332         * doc/glibc-headers/envz.texi: New file.
58333         * doc/glibc-headers/err.texi: New file.
58334         * doc/glibc-headers/error.texi: New file.
58335         * doc/glibc-headers/execinfo.texi: New file.
58336         * doc/glibc-headers/fpu_control.texi: New file.
58337         * doc/glibc-headers/fstab.texi: New file.
58338         * doc/glibc-headers/fts.texi: New file.
58339         * doc/glibc-headers/getopt.texi: New file.
58340         * doc/glibc-headers/ieee754.texi: New file.
58341         * doc/glibc-headers/ifaddrs.texi: New file.
58342         * doc/glibc-headers/libintl.texi: New file.
58343         * doc/glibc-headers/mcheck.texi: New file.
58344         * doc/glibc-headers/mntent.texi: New file.
58345         * doc/glibc-headers/obstack.texi: New file.
58346         * doc/glibc-headers/paths.texi: New file.
58347         * doc/glibc-headers/printf.texi: New file.
58348         * doc/glibc-headers/pty.texi: New file.
58349         * doc/glibc-headers/resolv.texi: New file.
58350         * doc/glibc-headers/shadow.texi: New file.
58351         * doc/glibc-headers/sysexits.texi: New file.
58352         * doc/glibc-headers/ttyent.texi: New file.
58353
58354 2008-01-12  Jim Meyering  <meyering@redhat.com>
58355
58356         announce-gen: emit Gnulib's git-based version string.
58357         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
58358         New option --gnulib-version=V, where V is expected to be
58359         the output of running git describe in the gnulib directory.
58360         (get_tool_versions): Request feedback on xdelta.  I suspect it's
58361         not useful, and plan to stop publishing an xdelta file with each
58362         coreutils release.
58363
58364         * build-aux/announce-gen: Also check for lzma-compressed files.
58365
58366 2008-01-11  Bruno Haible  <bruno@clisp.org>
58367
58368         * tests/test-memmem.c (main): Increase maximum allowed time.
58369         * tests/test-strstr.c (main): Likewise.
58370
58371 2008-01-11  Bruno Haible  <bruno@clisp.org>
58372
58373         * doc/functions/memmem.texi: Add more precisions about platforms.
58374         * doc/functions/strstr.texi: Likewise.
58375
58376 2008-01-10  Eric Blake  <ebb9@byu.net>
58377
58378         * m4/strstr.m4: Delete cruft from copy-n-paste.
58379         Reported by Bruno Haible.
58380
58381 2008-01-10  Bruno Haible  <bruno@clisp.org>
58382
58383         Make c-strstr rely on strstr.
58384         * lib/c-strstr.c: Don't include str-kmp.h.
58385         (c_strstr): Define in terms of strstr.
58386         * modules/c-strstr (Files): Remove lib/str-kmp.h.
58387         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
58388
58389 2008-01-10  Bruno Haible  <bruno@clisp.org>
58390
58391         * doc/gnulib.texi (String Functions in C Locale): New section.
58392         * doc/c-ctype.texi: New file.
58393         * doc/c-strcase.texi: New file.
58394         * doc/c-strcaseeq.texi: New file.
58395         * doc/c-strcasestr.texi: New file.
58396         * doc/c-strstr.texi: New file.
58397         * doc/c-strtod.texi: New file.
58398         * doc/c-strtold.texi: New file.
58399
58400 2008-01-10  Eric Blake  <ebb9@byu.net>
58401
58402         * lib/relocatable.h: Fix a comment.
58403
58404 2008-01-10  Eric Blake  <ebb9@byu.net>
58405
58406         Share two-way algorithm.
58407         * lib/str-two-way.h: New file, merged from...
58408         * lib/memmem.c: ...here...
58409         * lib/strstr.c: ...and here.
58410         * modules/memmem (Files): Use it.
58411         * modules/strstr (Files): Likewise.
58412
58413         Avoid quadratic strstr implementations.
58414         * lib/strstr.c: New file.
58415         * m4/strstr.m4: Likewise.
58416         * modules/strstr: Likewise.
58417         * modules/strstr-tests: Likewise.
58418         * tests/test-strstr.c: Likewise.
58419         * lib/string.in.h (rpl_strstr): Declare.
58420         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
58421         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
58422         * modules/string (Makefile.am): Likewise.
58423         * MODULES.html.sh (string handling): Mention new module.
58424         * doc/functions/strstr.texi (strstr): Document the bug.
58425
58426 2008-01-10  Bruno Haible  <bruno@clisp.org>
58427
58428         * lib/relocatable.h (relocate): State whether result is freshly
58429         allocated or not.
58430         * lib/relocatable.c (relocate): Return a freshly allocated string
58431         instead of a pointer to a privately held string.
58432         Reported by Sylvain Beucler <beuc@gnu.org>.
58433
58434 2008-01-10  Colin Watson  <cjwatson@debian.org>
58435
58436         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
58437         s/S_ISNLK/S_ISLNK/.
58438
58439 2008-01-09  Bruno Haible  <bruno@clisp.org>
58440
58441         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
58442         and other files.
58443         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
58444         if it's only a guess.
58445         * modules/memmem: Simplify by depending on memmem-simple.
58446
58447 2008-01-09  Bruno Haible  <bruno@clisp.org>
58448
58449         Work around OpenBSD 4.0 tdelete() bug.
58450         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
58451         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
58452         macros and don't redefine the enum values.
58453         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
58454         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
58455         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
58456
58457 2008-01-09  Bruno Haible  <bruno@clisp.org>
58458
58459         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
58460         (main): Don't perform the tests if setlocale did not install a UTF-8
58461         locale. Needed on OpenBSD 4.0.
58462         * modules/wcwidth-tests (Depends-on): Add localcharset.
58463
58464 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
58465
58466         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
58467         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
58468         * NEWS: announce this.
58469         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
58470
58471 2008-01-09  Simon Josefsson  <simon@josefsson.org>
58472         and Eric Blake  <ebb9@byu.net>
58473
58474         Add memmem-simple module.
58475         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
58476         (gl_FUNC_MEMMEM): Separate performance from presence checks.
58477         * modules/memmem-simple: New file.
58478         * modules/memmem (Description): Tweak.
58479         * MODULES.html.sh (string handling): Mention new module.
58480         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
58481         addressed by memmem-simple.
58482         * NEWS: Document the difference.
58483
58484 2008-01-09  Eric Blake  <ebb9@byu.net>
58485
58486         Give gcc some memmem optimization hints.
58487         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
58488         (strcasestr): Declare as pure.
58489         * modules/memmem (Maintainer): Claim my implementation.
58490
58491 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58492
58493         Support AIX 6.1 and higher.
58494         * build-aux/config.libpath: Likewise.
58495         * build-aux/config.rpath: Likewise.
58496
58497 2008-01-08  Jim Meyering  <meyering@redhat.com>
58498             Bruno Haible  <bruno@clisp.org>
58499
58500         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
58501         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
58502         Reported by Peter Fales in
58503         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
58504
58505 2008-01-08  Bruno Haible  <bruno@clisp.org>
58506
58507         * modules/unictype/category-of (Depends-on): Add
58508         unictype/category-none.
58509         * modules/unictype/category-and-tests (Depends-on): Add
58510         unictype/category-{L,N,Lu,Nd}.
58511         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
58512         * modules/unictype/category-or-tests (Depends-on): Add
58513         unictype/category-{L,N}.
58514         * modules/unictype/category-name-tests (Depends-on): Add
58515         unictype/category-{Z,Nl}.
58516         Reported by Simon Josefsson.
58517
58518 2008-01-08  Bruno Haible  <bruno@clisp.org>
58519
58520         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
58521         convention better.
58522         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
58523         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
58524         Reported by Peter Miller <millerp@canb.auug.org.au>.
58525
58526 2008-01-08  Eric Blake  <ebb9@byu.net>
58527
58528         Rewrite memmem to guarantee linear complexity without malloc.
58529         * lib/memmem.c (memmem): Use Two-Way rather than
58530         Knuth-Morris-Pratt, to allow O(1) space usage.
58531         (critical_factorization, two_way_short_needle)
58532         (two_way_long_needle): New functions.
58533         (knuth_morris_pratt): Delete.
58534         * modules/memmem (Depends-on): No longer need malloca or stdbool.
58535         Add stdint.
58536         * tests/test-memmem.c (main): Add tests for periodic needle and
58537         sublinear performance.
58538         * doc/functions/memmem.texi (memmem): Document other deficiencies
58539         in cygwin and older glibc.
58540
58541 2008-01-08  Bruno Haible  <bruno@clisp.org>
58542
58543         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
58544         augmentation.
58545
58546 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
58547
58548         Add a configure time option: --disable-acl.
58549         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
58550         AC_ARG_ENABLE(acl).
58551
58552 2008-01-06  Simon Josefsson  <simon@josefsson.org>
58553
58554         * tests/test-localename.c: Don't include obsolete "setenv.h".
58555
58556         * modules/localename-tests (Depends-on): Need unsetenv.
58557
58558 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58559
58560         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
58561
58562 2008-01-06  Colin Watson  <cjwatson@debian.org>
58563
58564         * users.txt: Add man-db.
58565
58566 2008-01-07  Bruno Haible  <bruno@clisp.org>
58567
58568         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
58569         previous section name.
58570
58571 2008-01-07  Bruno Haible  <bruno@clisp.org>
58572
58573         * lib/progname.c (set_program_name): Don't strip off a leading
58574         "lt-" prefix outside a .libs directory.
58575         Suggested by Paul Eggert.
58576
58577 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
58578             Bruno Haible  <bruno@clisp.org>
58579
58580         Improve memory cleanup in 'relocatable' module.
58581         * lib/relocatable.h (compute_curr_prefix): Change return type to
58582         'char *'.
58583         * lib/relocatable.c (compute_curr_prefix): Change return type to
58584         'char *'. Free curr_installdir after use.
58585         (relocate): Free curr_prefix_better after use.
58586         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
58587
58588 2008-01-01  Bruno Haible  <bruno@clisp.org>
58589
58590         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
58591         failure on older glibc systems.
58592         Reported by Peter Fales <psfales@alcatel-lucent.com>.
58593
58594 2008-01-05  Eric Blake  <ebb9@byu.net>
58595
58596         Avoid quadratic system memmem.
58597         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
58598         Reported by Ralf Wildenhues.
58599
58600         Fix memmem test for mingw.
58601         * modules/memmem-tests (configure.ac): Check for alarm.
58602         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
58603         it.
58604         * doc/functions/memmem.texi: New file.
58605         * doc/gnulib.texi (Function Substitutes): Add memmem.
58606         Reported by Bruno Haible.
58607
58608 2008-01-04  Bruno Haible  <bruno@clisp.org>
58609
58610         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
58611         Require gl_HEADER_STRINGS_H_DEFAULTS, not
58612         gl_HEADER_STRING_H_DEFAULTS.
58613
58614 2008-01-04  Eric Blake  <ebb9@byu.net>
58615
58616         Shorten duration of memmem test.
58617         * tests/test-memmem.c (main): Use alarm to declare failure if test
58618         is taking too long.
58619         Reported by Ralf Wildenhues.
58620
58621 2007-12-21  Simon Josefsson  <simon@josefsson.org>
58622
58623         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
58624         string, needed by strerror.
58625
58626 2008-01-03  Colin Watson  <cjwatson@debian.org>
58627             Bruno Haible  <bruno@clisp.org>
58628
58629         * doc/gnulib-tool.texi (Localization): New section.
58630
58631 2008-01-02  Bruno Haible  <bruno@clisp.org>
58632
58633         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
58634         variables to 'unsigned char *' type.
58635         Reported by Paul Eggert.
58636
58637 2008-01-02  Jim Meyering  <jim@meyering.net>
58638
58639         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
58640
58641 2007-12-31  Jim Meyering  <jim@meyering.net>
58642
58643         Avoid use of private FTS type name.
58644         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
58645
58646 2007-12-30  Karl Berry  <karl@gnu.org>
58647
58648         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
58649         work around defect in Texinfo and/or the standalone Info browser.
58650
58651 2007-12-30  Bruno Haible  <bruno@clisp.org>
58652
58653         Unify 5 copies of the KMP code.
58654         * lib/str-kmp.h: New file.
58655         * lib/c-strcasestr.c: Include str-kmp.h.
58656         (knuth_morris_pratt): Remove function.
58657         (c_strcasestr): Update.
58658         * lib/c-strstr.c: Include str-kmp.h.
58659         (knuth_morris_pratt): Remove function.
58660         (c_strcasestr): Update.
58661         * lib/mbscasestr.c: Include str-kmp.h.
58662         (knuth_morris_pratt_unibyte): Remove function.
58663         * lib/mbsstr.c: Include str-kmp.h.
58664         (knuth_morris_pratt_unibyte): Remove function.
58665         * lib/strcasestr.c: Include str-kmp.h.
58666         (knuth_morris_pratt): Remove function.
58667         (strcasestr): Update.
58668         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
58669         * modules/c-strstr (Files): Likewise.
58670         * modules/mbscasestr (Files): Likewise.
58671         * modules/mbsstr (Files): Likewise.
58672         * modules/strcasestr (Files): Likewise.
58673         Suggested by Paul Eggert.
58674
58675 2007-12-30  Bruno Haible  <bruno@clisp.org>
58676
58677         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
58678         defined.
58679
58680 2007-12-30  Bruno Haible  <bruno@clisp.org>
58681
58682         * lib/xmalloca.h: Include xalloc.h.
58683         (xnmalloca): New macro.
58684
58685 2007-12-30  Bruno Haible  <bruno@clisp.org>
58686
58687         * lib/malloca.h (nmalloca): New macro.
58688         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
58689         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
58690         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
58691         knuth_morris_pratt_multibyte): Likewise.
58692         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
58693         knuth_morris_pratt_multibyte): Likewise.
58694         * lib/memmem.c (knuth_morris_pratt): Likewise.
58695         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
58696
58697 2007-12-25  Bruno Haible  <bruno@clisp.org>
58698
58699         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
58700         * lib/glob.c: Don't include openat.h.
58701         (link_exists2_p): Add back the code that deals with the
58702         !GLOB_ALTDIRFUNC case.
58703         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
58704         let it do the filename concatenation.
58705         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
58706         * modules/glob (Depends-on): Remove openat.
58707
58708 2007-12-31  Bruno Haible  <bruno@clisp.org>
58709
58710         * modules/dirfd (License): Change to LGPLv2+.
58711         Approved by Jim Meyering.
58712
58713 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
58714
58715         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
58716         when multiplying M by sizeof (size_t).
58717
58718 2007-12-10  Martin Lambers  <marlam@marlam.de>
58719
58720         Override getpagesize on mingw.
58721         * lib/getpagesize.c: New file.
58722         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
58723         * modules/getpagesize (Files): Add lib/getpagesize.c.
58724         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
58725         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
58726         REPLACE_GETPAGESIZE.
58727         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
58728
58729 2007-12-25  Bruno Haible  <bruno@clisp.org>
58730
58731         * modules/localcharset (Notice): New field.
58732         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
58733         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
58734
58735 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
58736             Bruno Haible  <bruno@clisp.org>
58737
58738         Avoid using the syntax symbol() in formatted documentation.
58739         * MODULES.html.sh (func_module): When replacing symbol() with a
58740         hyperlink, remove the parentheses. Show an error if some remain.
58741         Recognize and render the '...' syntax.
58742         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
58743         Rework. Add paragraph about GCC's inlining.
58744         * doc/alloca.texi: Likewise.
58745         * doc/error.texi: Remove parentheses from symbol reference.
58746         * doc/gnulib-intro.texi: Likewise.
58747         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
58748         * modules/fnmatch (Description): Reword to say "the ... function".
58749         * modules/full-read (Description): Likewise.
58750         * modules/full-write (Description): Likewise.
58751         * modules/safe-read (Description): Likewise.
58752         * modules/safe-write (Description): Likewise.
58753         * modules/strchrnul (Description): Likewise.
58754         * modules/trim (Description): Likewise.
58755         * modules/error (Description): Remove parentheses from symbol
58756         references.
58757         * modules/verror (Description): Likewise.
58758         Reported by Karl Berry.
58759
58760 2007-12-25  Bruno Haible  <bruno@clisp.org>
58761
58762         Fixup after 2007-10-16 commit.
58763         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
58764
58765 2007-12-24  Bruno Haible  <bruno@clisp.org>
58766
58767         Make --enable-relocatable work with DESTDIR.
58768         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
58769         to compute installdir from destprog.
58770         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
58771         also set the RELOC_DESTDIR variable.
58772         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
58773
58774 2007-12-24  Bruno Haible  <bruno@clisp.org>
58775
58776         Fix link error due to xalloc_die().
58777         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
58778         of xreadlink.
58779         * lib/relocwrapper.c: Update comments.
58780         * build-aux/install-reloc: Remove xreadlink.c from file list.
58781         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
58782         xreadlink.c.
58783         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
58784
58785 2007-12-24  Bruno Haible  <bruno@clisp.org>
58786
58787         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
58788         * lib/setenv.h: Remove file.
58789         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
58790         lib/setenv.h.
58791         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
58792         (Depends-on): Add stdlib.
58793         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
58794         gl_FUNC_UNSETENV.
58795         (Include): Replace setenv.h with <stdlib.h>.
58796         * modules/unsetenv: New file.
58797         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
58798         * lib/unsetenv.c: Include <stdlib.h> first.
58799         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
58800         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
58801         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
58802         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
58803         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
58804         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
58805         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
58806         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
58807         * doc/functions/unsetenv.texi: Update.
58808         * modules/xsetenv (Depends-on): Add unsetenv.
58809         * modules/getdate (Depends-on): Likewise.
58810         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
58811         * lib/xsetenv.c: Don't include setenv.h.
58812         * lib/getdate.y: Likewise.
58813         * lib/relocwrapper.c: Likewise.
58814         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
58815         (Depends-on): Add stdlib.
58816         * NEWS: Mention the changes.
58817         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
58818
58819 2007-12-23  Bruno Haible  <bruno@clisp.org>
58820
58821         * lib/memmem.c (memmem): Use lowercase variable names. Tab
58822         indentation.
58823
58824 2007-12-23  Bruno Haible  <bruno@clisp.org>
58825
58826         * lib/c-strcasestr.c: Add more comments.
58827         * lib/c-strstr.c: Likewise.
58828         * lib/mbscasestr.c: Likewise.
58829         * lib/mbsstr.c: Likewise.
58830         * lib/strcasestr.c: Likewise.
58831         * lib/memmem.c: Likewise.
58832
58833 2007-12-23  Bruno Haible  <bruno@clisp.org>
58834
58835         * tests/test-memmem.c: Include <string.h> first.
58836
58837 2007-12-22  Bruno Haible  <bruno@clisp.org>
58838
58839         * gnulib-tool (func_create_testdir): Change $auxdir while generating
58840         the contents of $testsbase.
58841         Reported by Ralf Wildenhues.
58842
58843 2007-12-22  Bruno Haible  <bruno@clisp.org>
58844
58845         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
58846         two variables local_ldadd_before, local_ldadd_last.
58847
58848 2007-12-20  Eric Blake  <ebb9@byu.net>
58849
58850         Work around circular library issue when cross-compiling.
58851         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
58852         that progname.o does not need to pull in rpl_memcmp.
58853
58854 2007-12-19  Eric Blake  <ebb9@byu.net>
58855
58856         Fix memmem to avoid O(n^2) worst-case complexity.
58857         * lib/memmem.c (knuth_morris_pratt): New function.
58858         (memmem): Use it if first few naive iterations fail.
58859         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
58860         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
58861         * modules/memchr (License): Likewise.
58862         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
58863         malloca.
58864         * tests/test-memmem.c: Rewrite, borrowing ideas from
58865         test-mbsstr1.c; the old version wouldn't even compile!
58866         * modules/memmem-tests: New file.
58867         * lib/string.in.h (rpl_memmem): Add declaration.
58868         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
58869         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
58870         REPLACE_MEMMEM.
58871
58872 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
58873
58874         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
58875         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
58876         before any system include files, and undef after them all.  This
58877         should fix a problem on VMS reported by John E. Malmberg in
58878         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
58879
58880 2007-12-17  Eric Blake  <ebb9@byu.net>
58881
58882         Revert addition of verify, for BSD/OS.
58883         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
58884         can't handle large files, for the sake of obsolete platforms.
58885         * modules/fseeko (Depends-on): Remove verify.
58886         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
58887         * doc/functions/ftello.texi (ftello): Likewise.
58888         * doc/functions/fgetpos.texi (fgetpos): Likewise.
58889         Reported by Larry Jones.
58890
58891 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
58892
58893         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
58894         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
58895
58896 2007-12-17  Jim Meyering  <meyering@redhat.com>
58897
58898         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
58899         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
58900         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
58901         * modules/getcwd (Depends-on): Add openat.
58902         Reported by Petr Salinger.
58903
58904 2007-12-17  Bruno Haible  <bruno@clisp.org>
58905
58906         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
58907         avoid a segmentation fault of the configure test on x86_64 systems.
58908
58909 2007-12-15  Jim Meyering  <meyering@redhat.com>
58910
58911         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
58912
58913 2007-12-13  Eric Blake  <ebb9@byu.net>
58914
58915         Another fseek test.
58916         * tests/test-fseek.c (main): Also test ungetc handling.
58917         * tests/test-fseeko.c (main): Likewise.
58918         * modules/fseeko (Depends-on): Add verify.
58919         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
58920         large.
58921         Reported by Larry Jones.
58922
58923         Fix fseeko on mingw.
58924         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
58925         seek.
58926
58927         Beef up fseek tests.
58928         * tests/test-fseek.c (main): Also test eof handling.
58929         * tests/test-fseeko.c (main): Likewise.
58930         Reported by Larry Jones.
58931
58932 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
58933
58934         Fix fseeko on BSD-based platforms.
58935         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
58936         successful seek.
58937
58938 2007-12-12  Eric Blake  <ebb9@byu.net>
58939
58940         Allow circular dependency of separate libtests.a
58941         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
58942         when use_libtests.
58943
58944 2007-12-11  Eric Blake  <ebb9@byu.net>
58945
58946         Fix bug with -0.0L in previous patch.
58947         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
58948         * tests/test-isnan.c (main): Also test on zeroes.
58949         * tests/test-isnanf.c (main): Likewise.
58950         * tests/test-isnanl.h (main): Likewise.
58951
58952         Detect pseudo-denormals on x86 even when cross-compiling.
58953         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
58954         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
58955         invalid bit patterns that happen to satisfy ==.
58956
58957         Avoid link failures with separate libtests.a.
58958         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
58959         last, to satisfy circular dependencies.
58960
58961 2007-12-11  Eric Blake  <ebb9@byu.net>
58962         and Bruno Haible  <bruno@clisp.org>
58963
58964         Fix OpenBSD 4.0 <float.h> handling of long double.
58965         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
58966         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
58967         * doc/headers/float.texi (float.h): Document OpenBSD bug.
58968
58969 2007-12-11  Jim Meyering  <meyering@redhat.com>
58970
58971         * users.txt: Add libvirt.
58972
58973         Support versions of autoconf prior to 2.59c.
58974         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
58975         if it is not already defined.
58976
58977 2007-12-09  Bruno Haible  <bruno@clisp.org>
58978
58979         Let 'gnulib-tool --import' collect sources needed for the tests in
58980         tests/ rather than in lib/.
58981         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
58982         argument. If true, add rules to generate libtests.a, and put libtests.a
58983         into $(LDADD). Consider source files in subdirectories and set
58984         uses_subdirs.
58985         (func_emit_initmacro_start, func_emit_initmacro_end,
58986         func_emit_initmacro_done): Pass all arguments explicitly.
58987         (func_import): Determine two module lists main_modules,
58988         testsrelated_modules. Determine use_libtests. Determine two variables
58989         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
58990         instead of just sed_transform_lib_file. Determine two variables
58991         main_files and testsrelated_files. Compute 'files' as the union of
58992         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
58993         func_add_or_update. In the generated gnulib-comp.m4, collect the
58994         object files for tests/ in different variables than those for lib/.
58995         Substitute LIBTESTS_LIBDEPS.
58996         (func_create_testdir): Combine the uses_subdirs results from
58997         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
58998
58999 2007-12-09  Bruno Haible  <bruno@clisp.org>
59000
59001         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
59002         the build-aux directory.
59003
59004 2007-12-09  Bruno Haible  <bruno@clisp.org>
59005
59006         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
59007         introduced on 2006-09-09.
59008
59009 2007-12-07  Jim Meyering  <meyering@redhat.com>
59010
59011         Let these macros work also with autoconf-2.59.
59012         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
59013         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
59014         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
59015
59016 2007-12-06  Jim Meyering  <meyering@redhat.com>
59017
59018         Avoid a configure-time syntax error in gl_FUNC_ACL.
59019         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
59020         function in each branch, before testing the cache variable.
59021
59022 2007-12-04  Eric Blake  <ebb9@byu.net>
59023
59024         Make scripts executable.
59025         * build-aux/config.guess: Add execute permissions.
59026         * build-aux/config.sub: Likewise.
59027         * build-aux/gendocs.sh: Likewise.
59028
59029         Fix frexp on mingw.
59030         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
59031         cross-compiling.
59032         * doc/functions/frexp.texi (frexp): Document the bug.
59033
59034         Make cygwin fseeko check more reliable.
59035         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
59036         version numbers, rather than unrelated feature check.
59037         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
59038         * doc/functions/ftello.texi (ftello): Likewise.
59039         Reported by Bruno Haible.
59040
59041         * m4/strerror.m4: Bump version number.
59042
59043 2007-12-03  Bruno Haible  <bruno@clisp.org>
59044
59045         * doc/functions/mprotect.texi: Mention the mingw problem.
59046
59047 2007-12-03  Eric Blake  <ebb9@byu.net>
59048
59049         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
59050         REPLACE_STRERROR is initialized before this macro.
59051
59052 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
59053
59054         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
59055         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
59056         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
59057         put -lsec in even for programs other than 'ls'.  This fixes a problem
59058         for gettext reported by Bruno Haible in
59059         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
59060         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
59061         Add support for Solaris 10.  This isn't efficient, but should get the
59062         job done for now.
59063
59064 2007-12-03  James Youngman  <jay@gnu.org>
59065
59066         * doc/regexprops-generic.texi: change "an close-group" to "a
59067         close-group" and "illegal" to "not allowed".
59068
59069 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59070
59071         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
59072         pr_byname.h. Needed for the rare case when the maintainer has done
59073         "make maintainer-clean" in the source directory and then attempts a
59074         build outside the source directory.
59075         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
59076         scripts_byname.h.
59077
59078 2007-12-02  Martin Lambers <marlam@marlam.de>
59079             Bruno Haible  <bruno@clisp.org>
59080
59081         * lib/getpagesize.h: Remove file.
59082         * lib/unistd.in.h: Include declaration of getpagesize here.
59083         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
59084         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
59085         HAVE_SYS_PARAM_H.
59086         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
59087         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
59088         * modules/getpagesize (Files): Remove lib/getpagesize.h.
59089         (Depends-on): Add unistd.
59090         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
59091         (Include): Use <unistd.h> instead of getpagesize.h.
59092         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
59093         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
59094         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
59095         gl_GETPAGESIZE invocation, already handled by module dependency.
59096         * lib/pagealign_alloc.c: Don't include getpagesize.h.
59097
59098 2007-12-02  Bruno Haible  <bruno@clisp.org>
59099
59100         * modules/strings-tests: New file.
59101         * tests/test-strings.c: New file.
59102
59103         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
59104         * lib/strings.in.h: New file.
59105         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
59106         * m4/strings_h.m4: New file.
59107         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
59108         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
59109         * modules/strings: New file.
59110         * modules/string (Makefile.am): Update.
59111         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
59112         Reported by Karl Berry.
59113
59114 2007-12-01  Eric Blake  <ebb9@byu.net>
59115
59116         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
59117         accomodate fix in cygwin 1.5.25.
59118
59119 2007-12-01  Jim Meyering  <meyering@redhat.com>
59120
59121         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
59122         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
59123         that would inhibit utf8-optimization of a regexp containing line-
59124         or buffer-anchors, e.g., `^', `$'.
59125
59126 2007-11-30  Bruno Haible  <bruno@clisp.org>
59127
59128         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
59129         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
59130         glthread_recursive_lock_init.
59131         * lib/lock.c (glthread_recursive_lock_init)
59132         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
59133         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
59134
59135 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
59136
59137         New function qset_acl, like set_acl but with syscall semantics.
59138         * lib/acl.h (qset_acl): New decl.
59139         * lib/acl.c (qset_acl): New function.
59140         (set_acl): Use new function.  Use more-consistent diagnostics.
59141
59142 2007-11-28  Jim Meyering  <meyering@redhat.com>
59143
59144         * modules/physmem (License): Change from GPL to LGPLv2+.
59145
59146 2007-11-26  Bruno Haible  <bruno@clisp.org>
59147
59148         * lib/vasnprintf.c (decode_long_double): Don't abort if the
59149         'long double' type has excess precision.
59150         Reported by Jim Meyering in
59151         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
59152
59153 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59154
59155         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
59156         Sync from <http://gnu.org/licenses>.
59157         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
59158         with license text from same location.
59159         * doc/maintain.texi, doc/standards.texi:  Sync from
59160         <http://savannah.gnu.org/projects/gnustandards>.
59161
59162 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
59163         and Jim Meyering  <meyering@redhat.com>
59164
59165         Adjust getdate' grammar to accept a slightly more regular language.
59166         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
59167         Before, the former was rejected.
59168         * lib/getdate.y (digits_to_date_time): New function, factored
59169         out of ...
59170         (number): ...here.  Just call digits_to_date_time.
59171         (hybrid): New non-terminal to handle an <unsigned number,
59172         signed relative offset> sequence consistently.
59173
59174 2007-11-18  Jim Meyering  <meyering@redhat.com>
59175
59176         Pull my changes from coreutils:
59177         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
59178         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
59179         use of $gnulib_tool_option_extras, so that it's separated from the
59180         preceding argument.
59181
59182         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
59183         * build-aux/bootstrap (cp_mark_as_generated): Create any required
59184         parent destination directories before copying a file into place.
59185
59186 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
59187
59188         bootstrap: work also with 4-argument variant of AC_INIT
59189         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
59190
59191 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
59192
59193         Port test-getaddrinfo to Solaris.
59194         Problem reported by Bruno Haible in
59195         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
59196         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
59197         explanation of setting 'hints'.
59198         Don't reject an implementation merely because it returns EAI_SERVICE.
59199         (EAI_SERVICE): Define to 0 if not defined.
59200
59201 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
59202
59203         The license of gnu-make and posix-shell is now "GPLed build tool".
59204         * modules/gnu-make (License): Likewise.
59205         * modules/posix-shell (License): Likewise.
59206
59207         New module posix-shell, for determining a POSIX shell
59208         or perhaps something that is close enough to a POSIX shell.
59209         * m4/posix-shell.m4: New file.
59210         * modules/posix-shell: New file.
59211
59212         * MODULES.html.sh: Mention new module.
59213
59214         New module gnu-make, for determining whether we're using GNU Make.
59215         * m4/gnu-make.m4: New file.
59216         * modules/gnu-make: New file.
59217         * MODULES.html.sh: Mention new module.
59218
59219 2007-11-14  Jim Meyering  <meyering@redhat.com>
59220
59221         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
59222         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
59223         use this macro to create a function _definition_.
59224         Remove useless "#undef ARGMATCH_DIE".
59225
59226 2007-11-14  Bruno Haible  <bruno@clisp.org>
59227
59228         * lib/config.charset: Update for OpenBSD 4.1.
59229         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
59230
59231 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
59232
59233         Document 64-bit #if problems in stdint.texi.
59234         * doc/headers/stdint.texi (stdint.h): Mention problems with
59235         64-bit-#if, and how to work around them.
59236
59237         Don't insist on 'long long int' support in the preprocessor.  It
59238         breaks too many things.  For example, PRIdMAX still uses a 'long
59239         long int' format with the latest Sun compiler, even though
59240         HAVE_LONG_LONG_INT isn't defined due to that compiler's
59241         preprocessor problem.  This causes the latest coreutils to dump
59242         core on Solaris 10 sparc with the Sun C compiler.
59243         Instead, fix the 2007-10-16 problem in a different way, by evaluating
59244         the troublesome expressions at configure-time, not at #if-time.
59245         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
59246         preprocessor.
59247         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
59248         compile-time C checks, done at 'configure'-time.
59249         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
59250         * modules/inttypes (Makefile): Substitute the new symbols that
59251         gl_INTTYPES_H now generates.
59252         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
59253
59254 2007-11-12  Bruno Haible  <bruno@clisp.org>
59255
59256         Tests for Unicode character classification functions.
59257
59258         * modules/unictype/bidicategory-byname-tests: New file.
59259         * modules/unictype/bidicategory-name-tests: New file.
59260         * modules/unictype/bidicategory-of-tests: New file.
59261         * modules/unictype/bidicategory-test-tests: New file.
59262         * modules/unictype/block-list-tests: New file.
59263         * modules/unictype/block-of-tests: New file.
59264         * modules/unictype/block-test-tests: New file.
59265         * modules/unictype/category-C-tests: New file.
59266         * modules/unictype/category-Cc-tests: New file.
59267         * modules/unictype/category-Cf-tests: New file.
59268         * modules/unictype/category-Cn-tests: New file.
59269         * modules/unictype/category-Co-tests: New file.
59270         * modules/unictype/category-Cs-tests: New file.
59271         * modules/unictype/category-L-tests: New file.
59272         * modules/unictype/category-Ll-tests: New file.
59273         * modules/unictype/category-Lm-tests: New file.
59274         * modules/unictype/category-Lo-tests: New file.
59275         * modules/unictype/category-Lt-tests: New file.
59276         * modules/unictype/category-Lu-tests: New file.
59277         * modules/unictype/category-M-tests: New file.
59278         * modules/unictype/category-Mc-tests: New file.
59279         * modules/unictype/category-Me-tests: New file.
59280         * modules/unictype/category-Mn-tests: New file.
59281         * modules/unictype/category-N-tests: New file.
59282         * modules/unictype/category-Nd-tests: New file.
59283         * modules/unictype/category-Nl-tests: New file.
59284         * modules/unictype/category-No-tests: New file.
59285         * modules/unictype/category-P-tests: New file.
59286         * modules/unictype/category-Pc-tests: New file.
59287         * modules/unictype/category-Pd-tests: New file.
59288         * modules/unictype/category-Pe-tests: New file.
59289         * modules/unictype/category-Pf-tests: New file.
59290         * modules/unictype/category-Pi-tests: New file.
59291         * modules/unictype/category-Po-tests: New file.
59292         * modules/unictype/category-Ps-tests: New file.
59293         * modules/unictype/category-S-tests: New file.
59294         * modules/unictype/category-Sc-tests: New file.
59295         * modules/unictype/category-Sk-tests: New file.
59296         * modules/unictype/category-Sm-tests: New file.
59297         * modules/unictype/category-So-tests: New file.
59298         * modules/unictype/category-Z-tests: New file.
59299         * modules/unictype/category-Zl-tests: New file.
59300         * modules/unictype/category-Zp-tests: New file.
59301         * modules/unictype/category-Zs-tests: New file.
59302         * modules/unictype/category-and-not-tests: New file.
59303         * modules/unictype/category-and-tests: New file.
59304         * modules/unictype/category-byname-tests: New file.
59305         * modules/unictype/category-name-tests: New file.
59306         * modules/unictype/category-none-tests: New file.
59307         * modules/unictype/category-of-tests: New file.
59308         * modules/unictype/category-or-tests: New file.
59309         * modules/unictype/category-test-withtable-tests: New file.
59310         * modules/unictype/combining-class-tests: New file.
59311         * modules/unictype/ctype-alnum-tests: New file.
59312         * modules/unictype/ctype-alpha-tests: New file.
59313         * modules/unictype/ctype-blank-tests: New file.
59314         * modules/unictype/ctype-cntrl-tests: New file.
59315         * modules/unictype/ctype-digit-tests: New file.
59316         * modules/unictype/ctype-graph-tests: New file.
59317         * modules/unictype/ctype-lower-tests: New file.
59318         * modules/unictype/ctype-print-tests: New file.
59319         * modules/unictype/ctype-punct-tests: New file.
59320         * modules/unictype/ctype-space-tests: New file.
59321         * modules/unictype/ctype-upper-tests: New file.
59322         * modules/unictype/ctype-xdigit-tests: New file.
59323         * modules/unictype/decimal-digit-tests: New file.
59324         * modules/unictype/digit-tests: New file.
59325         * modules/unictype/mirror-tests: New file.
59326         * modules/unictype/numeric-tests: New file.
59327         * modules/unictype/property-alphabetic-tests: New file.
59328         * modules/unictype/property-ascii-hex-digit-tests: New file.
59329         * modules/unictype/property-bidi-arabic-digit-tests: New file.
59330         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
59331         * modules/unictype/property-bidi-block-separator-tests: New file.
59332         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
59333         * modules/unictype/property-bidi-common-separator-tests: New file.
59334         * modules/unictype/property-bidi-control-tests: New file.
59335         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
59336         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
59337         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
59338         * modules/unictype/property-bidi-european-digit-tests: New file.
59339         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
59340         * modules/unictype/property-bidi-left-to-right-tests: New file.
59341         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
59342         * modules/unictype/property-bidi-other-neutral-tests: New file.
59343         * modules/unictype/property-bidi-pdf-tests: New file.
59344         * modules/unictype/property-bidi-segment-separator-tests: New file.
59345         * modules/unictype/property-bidi-whitespace-tests: New file.
59346         * modules/unictype/property-byname-tests: New file.
59347         * modules/unictype/property-combining-tests: New file.
59348         * modules/unictype/property-composite-tests: New file.
59349         * modules/unictype/property-currency-symbol-tests: New file.
59350         * modules/unictype/property-dash-tests: New file.
59351         * modules/unictype/property-decimal-digit-tests: New file.
59352         * modules/unictype/property-default-ignorable-code-point-tests: New file.
59353         * modules/unictype/property-deprecated-tests: New file.
59354         * modules/unictype/property-diacritic-tests: New file.
59355         * modules/unictype/property-extender-tests: New file.
59356         * modules/unictype/property-format-control-tests: New file.
59357         * modules/unictype/property-grapheme-base-tests: New file.
59358         * modules/unictype/property-grapheme-extend-tests: New file.
59359         * modules/unictype/property-grapheme-link-tests: New file.
59360         * modules/unictype/property-hex-digit-tests: New file.
59361         * modules/unictype/property-hyphen-tests: New file.
59362         * modules/unictype/property-id-continue-tests: New file.
59363         * modules/unictype/property-id-start-tests: New file.
59364         * modules/unictype/property-ideographic-tests: New file.
59365         * modules/unictype/property-ids-binary-operator-tests: New file.
59366         * modules/unictype/property-ids-trinary-operator-tests: New file.
59367         * modules/unictype/property-ignorable-control-tests: New file.
59368         * modules/unictype/property-iso-control-tests: New file.
59369         * modules/unictype/property-join-control-tests: New file.
59370         * modules/unictype/property-left-of-pair-tests: New file.
59371         * modules/unictype/property-line-separator-tests: New file.
59372         * modules/unictype/property-logical-order-exception-tests: New file.
59373         * modules/unictype/property-lowercase-tests: New file.
59374         * modules/unictype/property-math-tests: New file.
59375         * modules/unictype/property-non-break-tests: New file.
59376         * modules/unictype/property-not-a-character-tests: New file.
59377         * modules/unictype/property-numeric-tests: New file.
59378         * modules/unictype/property-other-alphabetic-tests: New file.
59379         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
59380         * modules/unictype/property-other-grapheme-extend-tests: New file.
59381         * modules/unictype/property-other-id-continue-tests: New file.
59382         * modules/unictype/property-other-id-start-tests: New file.
59383         * modules/unictype/property-other-lowercase-tests: New file.
59384         * modules/unictype/property-other-math-tests: New file.
59385         * modules/unictype/property-other-uppercase-tests: New file.
59386         * modules/unictype/property-paired-punctuation-tests: New file.
59387         * modules/unictype/property-paragraph-separator-tests: New file.
59388         * modules/unictype/property-pattern-syntax-tests: New file.
59389         * modules/unictype/property-pattern-white-space-tests: New file.
59390         * modules/unictype/property-private-use-tests: New file.
59391         * modules/unictype/property-punctuation-tests: New file.
59392         * modules/unictype/property-quotation-mark-tests: New file.
59393         * modules/unictype/property-radical-tests: New file.
59394         * modules/unictype/property-sentence-terminal-tests: New file.
59395         * modules/unictype/property-soft-dotted-tests: New file.
59396         * modules/unictype/property-space-tests: New file.
59397         * modules/unictype/property-terminal-punctuation-tests: New file.
59398         * modules/unictype/property-test-tests: New file.
59399         * modules/unictype/property-titlecase-tests: New file.
59400         * modules/unictype/property-unassigned-code-value-tests: New file.
59401         * modules/unictype/property-unified-ideograph-tests: New file.
59402         * modules/unictype/property-uppercase-tests: New file.
59403         * modules/unictype/property-variation-selector-tests: New file.
59404         * modules/unictype/property-white-space-tests: New file.
59405         * modules/unictype/property-xid-continue-tests: New file.
59406         * modules/unictype/property-xid-start-tests: New file.
59407         * modules/unictype/property-zero-width-tests: New file.
59408         * modules/unictype/scripts-tests: New file.
59409         * modules/unictype/syntax-c-ident-tests: New file.
59410         * modules/unictype/syntax-c-whitespace-tests: New file.
59411         * modules/unictype/syntax-java-ident-tests: New file.
59412         * modules/unictype/syntax-java-whitespace-tests: New file.
59413         * tests/unictype/test-bidi_byname.c: New file.
59414         * tests/unictype/test-bidi_name.c: New file.
59415         * tests/unictype/test-bidi_of.c: New file.
59416         * tests/unictype/test-bidi_test.c: New file.
59417         * tests/unictype/test-block_list.c: New file.
59418         * tests/unictype/test-block_of.c: New file.
59419         * tests/unictype/test-block_test.c: New file.
59420         * tests/unictype/test-categ_and.c: New file.
59421         * tests/unictype/test-categ_and_not.c: New file.
59422         * tests/unictype/test-categ_byname.c: New file.
59423         * tests/unictype/test-categ_name.c: New file.
59424         * tests/unictype/test-categ_none.c: New file.
59425         * tests/unictype/test-categ_of.c: New file.
59426         * tests/unictype/test-categ_or.c: New file.
59427         * tests/unictype/test-categ_test_withtable.c: New file.
59428         * tests/unictype/test-combining.c: New file.
59429         * tests/unictype/test-decdigit.c: New file.
59430         * tests/unictype/test-digit.c: New file.
59431         * tests/unictype/test-mirror.c: New file.
59432         * tests/unictype/test-numeric.c: New file.
59433         * tests/unictype/test-pr_byname.c: New file.
59434         * tests/unictype/test-pr_test.c: New file.
59435         * tests/unictype/test-predicate-part1.h: New file.
59436         * tests/unictype/test-predicate-part2.h: New file.
59437         * tests/unictype/test-scripts.c: New file.
59438         * tests/unictype/test-sy_c_ident.c: New file.
59439         * tests/unictype/test-sy_java_ident.c: New file.
59440
59441         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
59442         for Unicode 5.0.0.
59443         * tests/unictype/test-categ_Cc.c: Likewise.
59444         * tests/unictype/test-categ_Cf.c: Likewise.
59445         * tests/unictype/test-categ_Cn.c: Likewise.
59446         * tests/unictype/test-categ_Co.c: Likewise.
59447         * tests/unictype/test-categ_Cs.c: Likewise.
59448         * tests/unictype/test-categ_L.c: Likewise.
59449         * tests/unictype/test-categ_Ll.c: Likewise.
59450         * tests/unictype/test-categ_Lm.c: Likewise.
59451         * tests/unictype/test-categ_Lo.c: Likewise.
59452         * tests/unictype/test-categ_Lt.c: Likewise.
59453         * tests/unictype/test-categ_Lu.c: Likewise.
59454         * tests/unictype/test-categ_M.c: Likewise.
59455         * tests/unictype/test-categ_Mc.c: Likewise.
59456         * tests/unictype/test-categ_Me.c: Likewise.
59457         * tests/unictype/test-categ_Mn.c: Likewise.
59458         * tests/unictype/test-categ_N.c: Likewise.
59459         * tests/unictype/test-categ_Nd.c: Likewise.
59460         * tests/unictype/test-categ_Nl.c: Likewise.
59461         * tests/unictype/test-categ_No.c: Likewise.
59462         * tests/unictype/test-categ_P.c: Likewise.
59463         * tests/unictype/test-categ_Pc.c: Likewise.
59464         * tests/unictype/test-categ_Pd.c: Likewise.
59465         * tests/unictype/test-categ_Pe.c: Likewise.
59466         * tests/unictype/test-categ_Pf.c: Likewise.
59467         * tests/unictype/test-categ_Pi.c: Likewise.
59468         * tests/unictype/test-categ_Po.c: Likewise.
59469         * tests/unictype/test-categ_Ps.c: Likewise.
59470         * tests/unictype/test-categ_S.c: Likewise.
59471         * tests/unictype/test-categ_Sc.c: Likewise.
59472         * tests/unictype/test-categ_Sk.c: Likewise.
59473         * tests/unictype/test-categ_Sm.c: Likewise.
59474         * tests/unictype/test-categ_So.c: Likewise.
59475         * tests/unictype/test-categ_Z.c: Likewise.
59476         * tests/unictype/test-categ_Zl.c: Likewise.
59477         * tests/unictype/test-categ_Zp.c: Likewise.
59478         * tests/unictype/test-categ_Zs.c: Likewise.
59479         * tests/unictype/test-ctype_alnum.c: Likewise.
59480         * tests/unictype/test-ctype_alpha.c: Likewise.
59481         * tests/unictype/test-ctype_blank.c: Likewise.
59482         * tests/unictype/test-ctype_cntrl.c: Likewise.
59483         * tests/unictype/test-ctype_digit.c: Likewise.
59484         * tests/unictype/test-ctype_graph.c: Likewise.
59485         * tests/unictype/test-ctype_lower.c: Likewise.
59486         * tests/unictype/test-ctype_print.c: Likewise.
59487         * tests/unictype/test-ctype_punct.c: Likewise.
59488         * tests/unictype/test-ctype_space.c: Likewise.
59489         * tests/unictype/test-ctype_upper.c: Likewise.
59490         * tests/unictype/test-ctype_xdigit.c: Likewise.
59491         * tests/unictype/test-decdigit.h: Likewise.
59492         * tests/unictype/test-digit.h: Likewise.
59493         * tests/unictype/test-numeric.h: Likewise.
59494         * tests/unictype/test-pr_alphabetic.c: Likewise.
59495         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
59496         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
59497         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
59498         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
59499         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
59500         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
59501         * tests/unictype/test-pr_bidi_control.c: Likewise.
59502         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
59503         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
59504         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
59505         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
59506         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
59507         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
59508         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
59509         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
59510         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
59511         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
59512         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
59513         * tests/unictype/test-pr_combining.c: Likewise.
59514         * tests/unictype/test-pr_composite.c: Likewise.
59515         * tests/unictype/test-pr_currency_symbol.c: Likewise.
59516         * tests/unictype/test-pr_dash.c: Likewise.
59517         * tests/unictype/test-pr_decimal_digit.c: Likewise.
59518         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
59519         * tests/unictype/test-pr_deprecated.c: Likewise.
59520         * tests/unictype/test-pr_diacritic.c: Likewise.
59521         * tests/unictype/test-pr_extender.c: Likewise.
59522         * tests/unictype/test-pr_format_control.c: Likewise.
59523         * tests/unictype/test-pr_grapheme_base.c: Likewise.
59524         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
59525         * tests/unictype/test-pr_grapheme_link.c: Likewise.
59526         * tests/unictype/test-pr_hex_digit.c: Likewise.
59527         * tests/unictype/test-pr_hyphen.c: Likewise.
59528         * tests/unictype/test-pr_id_continue.c: Likewise.
59529         * tests/unictype/test-pr_id_start.c: Likewise.
59530         * tests/unictype/test-pr_ideographic.c: Likewise.
59531         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
59532         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
59533         * tests/unictype/test-pr_ignorable_control.c: Likewise.
59534         * tests/unictype/test-pr_iso_control.c: Likewise.
59535         * tests/unictype/test-pr_join_control.c: Likewise.
59536         * tests/unictype/test-pr_left_of_pair.c: Likewise.
59537         * tests/unictype/test-pr_line_separator.c: Likewise.
59538         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
59539         * tests/unictype/test-pr_lowercase.c: Likewise.
59540         * tests/unictype/test-pr_math.c: Likewise.
59541         * tests/unictype/test-pr_non_break.c: Likewise.
59542         * tests/unictype/test-pr_not_a_character.c: Likewise.
59543         * tests/unictype/test-pr_numeric.c: Likewise.
59544         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
59545         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
59546         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
59547         * tests/unictype/test-pr_other_id_continue.c: Likewise.
59548         * tests/unictype/test-pr_other_id_start.c: Likewise.
59549         * tests/unictype/test-pr_other_lowercase.c: Likewise.
59550         * tests/unictype/test-pr_other_math.c: Likewise.
59551         * tests/unictype/test-pr_other_uppercase.c: Likewise.
59552         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
59553         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
59554         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
59555         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
59556         * tests/unictype/test-pr_private_use.c: Likewise.
59557         * tests/unictype/test-pr_punctuation.c: Likewise.
59558         * tests/unictype/test-pr_quotation_mark.c: Likewise.
59559         * tests/unictype/test-pr_radical.c: Likewise.
59560         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
59561         * tests/unictype/test-pr_soft_dotted.c: Likewise.
59562         * tests/unictype/test-pr_space.c: Likewise.
59563         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
59564         * tests/unictype/test-pr_titlecase.c: Likewise.
59565         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
59566         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
59567         * tests/unictype/test-pr_uppercase.c: Likewise.
59568         * tests/unictype/test-pr_variation_selector.c: Likewise.
59569         * tests/unictype/test-pr_white_space.c: Likewise.
59570         * tests/unictype/test-pr_xid_continue.c: Likewise.
59571         * tests/unictype/test-pr_xid_start.c: Likewise.
59572         * tests/unictype/test-pr_zero_width.c: Likewise.
59573         * tests/unictype/test-sy_c_whitespace.c: Likewise.
59574         * tests/unictype/test-sy_java_whitespace.c: Likewise.
59575
59576 2007-11-12  Bruno Haible  <bruno@clisp.org>
59577
59578         Unicode character classification functions.
59579         * lib/unictype.h: New file.
59580         * modules/unictype/base: New file.
59581         * modules/unictype/category-L: New file.
59582         * modules/unictype/category-Lu: New file.
59583         * modules/unictype/category-Ll: New file.
59584         * modules/unictype/category-Lt: New file.
59585         * modules/unictype/category-Lm: New file.
59586         * modules/unictype/category-Lo: New file.
59587         * modules/unictype/category-M: New file.
59588         * modules/unictype/category-Mn: New file.
59589         * modules/unictype/category-Mc: New file.
59590         * modules/unictype/category-Me: New file.
59591         * modules/unictype/category-N: New file.
59592         * modules/unictype/category-Nd: New file.
59593         * modules/unictype/category-Nl: New file.
59594         * modules/unictype/category-No: New file.
59595         * modules/unictype/category-P: New file.
59596         * modules/unictype/category-Pc: New file.
59597         * modules/unictype/category-Pd: New file.
59598         * modules/unictype/category-Ps: New file.
59599         * modules/unictype/category-Pe: New file.
59600         * modules/unictype/category-Pi: New file.
59601         * modules/unictype/category-Pf: New file.
59602         * modules/unictype/category-Po: New file.
59603         * modules/unictype/category-S: New file.
59604         * modules/unictype/category-Sm: New file.
59605         * modules/unictype/category-Sc: New file.
59606         * modules/unictype/category-Sk: New file.
59607         * modules/unictype/category-So: New file.
59608         * modules/unictype/category-Z: New file.
59609         * modules/unictype/category-Zs: New file.
59610         * modules/unictype/category-Zl: New file.
59611         * modules/unictype/category-Zp: New file.
59612         * modules/unictype/category-C: New file.
59613         * modules/unictype/category-Cc: New file.
59614         * modules/unictype/category-Cf: New file.
59615         * modules/unictype/category-Cs: New file.
59616         * modules/unictype/category-Co: New file.
59617         * modules/unictype/category-Cn: New file.
59618         * modules/unictype/category-or: New file.
59619         * modules/unictype/category-of: New file.
59620         * modules/unictype/category-test: New file.
59621         * modules/unictype/category-test-withtable: New file.
59622         * modules/unictype/category-byname: New file.
59623         * modules/unictype/category-none: New file.
59624         * modules/unictype/category-and: New file.
59625         * modules/unictype/category-and-not: New file.
59626         * modules/unictype/category-name: New file.
59627         * modules/unictype/combining-class: New file.
59628         * modules/unictype/category-all: New file.
59629         * modules/unictype/bidicategory-all: New file.
59630         * modules/unictype/bidicategory-byname: New file.
59631         * modules/unictype/bidicategory-name: New file.
59632         * modules/unictype/bidicategory-of: New file.
59633         * modules/unictype/bidicategory-test: New file.
59634         * modules/unictype/decimal-digit: New file.
59635         * modules/unictype/digit: New file.
59636         * modules/unictype/numeric: New file.
59637         * modules/unictype/mirror: New file.
59638         * modules/unictype/property-white-space: New file.
59639         * modules/unictype/property-alphabetic: New file.
59640         * modules/unictype/property-other-alphabetic: New file.
59641         * modules/unictype/property-not-a-character: New file.
59642         * modules/unictype/property-default-ignorable-code-point: New file.
59643         * modules/unictype/property-other-default-ignorable-code-point: New
59644         file.
59645         * modules/unictype/property-deprecated: New file.
59646         * modules/unictype/property-logical-order-exception: New file.
59647         * modules/unictype/property-variation-selector: New file.
59648         * modules/unictype/property-private-use: New file.
59649         * modules/unictype/property-unassigned-code-value: New file.
59650         * modules/unictype/property-uppercase: New file.
59651         * modules/unictype/property-other-uppercase: New file.
59652         * modules/unictype/property-lowercase: New file.
59653         * modules/unictype/property-other-lowercase: New file.
59654         * modules/unictype/property-titlecase: New file.
59655         * modules/unictype/property-soft-dotted: New file.
59656         * modules/unictype/property-id-start: New file.
59657         * modules/unictype/property-other-id-start: New file.
59658         * modules/unictype/property-id-continue: New file.
59659         * modules/unictype/property-other-id-continue: New file.
59660         * modules/unictype/property-xid-start: New file.
59661         * modules/unictype/property-xid-continue: New file.
59662         * modules/unictype/property-pattern-white-space: New file.
59663         * modules/unictype/property-pattern-syntax: New file.
59664         * modules/unictype/property-join-control: New file.
59665         * modules/unictype/property-grapheme-base: New file.
59666         * modules/unictype/property-grapheme-extend: New file.
59667         * modules/unictype/property-other-grapheme-extend: New file.
59668         * modules/unictype/property-grapheme-link: New file.
59669         * modules/unictype/property-bidi-control: New file.
59670         * modules/unictype/property-bidi-left-to-right: New file.
59671         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
59672         * modules/unictype/property-bidi-arabic-right-to-left: New file.
59673         * modules/unictype/property-bidi-european-digit: New file.
59674         * modules/unictype/property-bidi-eur-num-separator: New file.
59675         * modules/unictype/property-bidi-eur-num-terminator: New file.
59676         * modules/unictype/property-bidi-arabic-digit: New file.
59677         * modules/unictype/property-bidi-common-separator: New file.
59678         * modules/unictype/property-bidi-block-separator: New file.
59679         * modules/unictype/property-bidi-segment-separator: New file.
59680         * modules/unictype/property-bidi-whitespace: New file.
59681         * modules/unictype/property-bidi-non-spacing-mark: New file.
59682         * modules/unictype/property-bidi-boundary-neutral: New file.
59683         * modules/unictype/property-bidi-pdf: New file.
59684         * modules/unictype/property-bidi-embedding-or-override: New file.
59685         * modules/unictype/property-bidi-other-neutral: New file.
59686         * modules/unictype/property-hex-digit: New file.
59687         * modules/unictype/property-ascii-hex-digit: New file.
59688         * modules/unictype/property-ideographic: New file.
59689         * modules/unictype/property-unified-ideograph: New file.
59690         * modules/unictype/property-radical: New file.
59691         * modules/unictype/property-ids-binary-operator: New file.
59692         * modules/unictype/property-ids-trinary-operator: New file.
59693         * modules/unictype/property-zero-width: New file.
59694         * modules/unictype/property-space: New file.
59695         * modules/unictype/property-non-break: New file.
59696         * modules/unictype/property-iso-control: New file.
59697         * modules/unictype/property-format-control: New file.
59698         * modules/unictype/property-dash: New file.
59699         * modules/unictype/property-hyphen: New file.
59700         * modules/unictype/property-punctuation: New file.
59701         * modules/unictype/property-line-separator: New file.
59702         * modules/unictype/property-paragraph-separator: New file.
59703         * modules/unictype/property-quotation-mark: New file.
59704         * modules/unictype/property-sentence-terminal: New file.
59705         * modules/unictype/property-terminal-punctuation: New file.
59706         * modules/unictype/property-currency-symbol: New file.
59707         * modules/unictype/property-math: New file.
59708         * modules/unictype/property-other-math: New file.
59709         * modules/unictype/property-paired-punctuation: New file.
59710         * modules/unictype/property-left-of-pair: New file.
59711         * modules/unictype/property-combining: New file.
59712         * modules/unictype/property-composite: New file.
59713         * modules/unictype/property-decimal-digit: New file.
59714         * modules/unictype/property-numeric: New file.
59715         * modules/unictype/property-diacritic: New file.
59716         * modules/unictype/property-extender: New file.
59717         * modules/unictype/property-ignorable-control: New file.
59718         * modules/unictype/property-test: New file.
59719         * modules/unictype/property-byname: New file.
59720         * modules/unictype/property-all: New file.
59721         * modules/unictype/scripts: New file.
59722         * modules/unictype/scripts-all: New file.
59723         * modules/unictype/block-of: New file.
59724         * modules/unictype/block-test: New file.
59725         * modules/unictype/block-list: New file.
59726         * modules/unictype/block-all: New file.
59727         * modules/unictype/syntax-c-whitespace: New file.
59728         * modules/unictype/syntax-java-whitespace: New file.
59729         * modules/unictype/syntax-c-ident: New file.
59730         * modules/unictype/syntax-java-ident: New file.
59731         * modules/unictype/ctype-alnum: New file.
59732         * modules/unictype/ctype-alpha: New file.
59733         * modules/unictype/ctype-cntrl: New file.
59734         * modules/unictype/ctype-digit: New file.
59735         * modules/unictype/ctype-graph: New file.
59736         * modules/unictype/ctype-lower: New file.
59737         * modules/unictype/ctype-print: New file.
59738         * modules/unictype/ctype-punct: New file.
59739         * modules/unictype/ctype-space: New file.
59740         * modules/unictype/ctype-upper: New file.
59741         * modules/unictype/ctype-xdigit: New file.
59742         * modules/unictype/ctype-blank: New file.
59743         * lib/unictype/bidi_byname.c: New file.
59744         * lib/unictype/bidi_name.c: New file.
59745         * lib/unictype/bidi_of.c: New file.
59746         * lib/unictype/bidi_test.c: New file.
59747         * lib/unictype/bitmap.h: New file.
59748         * lib/unictype/block_test.c: New file.
59749         * lib/unictype/blocks.c: New file.
59750         * lib/unictype/categ_C.c: New file.
59751         * lib/unictype/categ_Cc.c: New file.
59752         * lib/unictype/categ_Cf.c: New file.
59753         * lib/unictype/categ_Cn.c: New file.
59754         * lib/unictype/categ_Co.c: New file.
59755         * lib/unictype/categ_Cs.c: New file.
59756         * lib/unictype/categ_L.c: New file.
59757         * lib/unictype/categ_Ll.c: New file.
59758         * lib/unictype/categ_Lm.c: New file.
59759         * lib/unictype/categ_Lo.c: New file.
59760         * lib/unictype/categ_Lt.c: New file.
59761         * lib/unictype/categ_Lu.c: New file.
59762         * lib/unictype/categ_M.c: New file.
59763         * lib/unictype/categ_Mc.c: New file.
59764         * lib/unictype/categ_Me.c: New file.
59765         * lib/unictype/categ_Mn.c: New file.
59766         * lib/unictype/categ_N.c: New file.
59767         * lib/unictype/categ_Nd.c: New file.
59768         * lib/unictype/categ_Nl.c: New file.
59769         * lib/unictype/categ_No.c: New file.
59770         * lib/unictype/categ_P.c: New file.
59771         * lib/unictype/categ_Pc.c: New file.
59772         * lib/unictype/categ_Pd.c: New file.
59773         * lib/unictype/categ_Pe.c: New file.
59774         * lib/unictype/categ_Pf.c: New file.
59775         * lib/unictype/categ_Pi.c: New file.
59776         * lib/unictype/categ_Po.c: New file.
59777         * lib/unictype/categ_Ps.c: New file.
59778         * lib/unictype/categ_S.c: New file.
59779         * lib/unictype/categ_Sc.c: New file.
59780         * lib/unictype/categ_Sk.c: New file.
59781         * lib/unictype/categ_Sm.c: New file.
59782         * lib/unictype/categ_So.c: New file.
59783         * lib/unictype/categ_Z.c: New file.
59784         * lib/unictype/categ_Zl.c: New file.
59785         * lib/unictype/categ_Zp.c: New file.
59786         * lib/unictype/categ_Zs.c: New file.
59787         * lib/unictype/categ_and.c: New file.
59788         * lib/unictype/categ_and_not.c: New file.
59789         * lib/unictype/categ_byname.c: New file.
59790         * lib/unictype/categ_name.c: New file.
59791         * lib/unictype/categ_none.c: New file.
59792         * lib/unictype/categ_of.c: New file.
59793         * lib/unictype/categ_or.c: New file.
59794         * lib/unictype/categ_test.c: New file.
59795         * lib/unictype/combining.c: New file.
59796         * lib/unictype/ctype_alnum.c: New file.
59797         * lib/unictype/ctype_alpha.c: New file.
59798         * lib/unictype/ctype_blank.c: New file.
59799         * lib/unictype/ctype_cntrl.c: New file.
59800         * lib/unictype/ctype_digit.c: New file.
59801         * lib/unictype/ctype_graph.c: New file.
59802         * lib/unictype/ctype_lower.c: New file.
59803         * lib/unictype/ctype_print.c: New file.
59804         * lib/unictype/ctype_punct.c: New file.
59805         * lib/unictype/ctype_space.c: New file.
59806         * lib/unictype/ctype_upper.c: New file.
59807         * lib/unictype/ctype_xdigit.c: New file.
59808         * lib/unictype/decdigit.c: New file.
59809         * lib/unictype/digit.c: New file.
59810         * lib/unictype/identsyntaxmap.h: New file.
59811         * lib/unictype/mirror.c: New file.
59812         * lib/unictype/numeric.c: New file.
59813         * lib/unictype/pr_alphabetic.c: New file.
59814         * lib/unictype/pr_ascii_hex_digit.c: New file.
59815         * lib/unictype/pr_bidi_arabic_digit.c: New file.
59816         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
59817         * lib/unictype/pr_bidi_block_separator.c: New file.
59818         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
59819         * lib/unictype/pr_bidi_common_separator.c: New file.
59820         * lib/unictype/pr_bidi_control.c: New file.
59821         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
59822         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
59823         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
59824         * lib/unictype/pr_bidi_european_digit.c: New file.
59825         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
59826         * lib/unictype/pr_bidi_left_to_right.c: New file.
59827         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
59828         * lib/unictype/pr_bidi_other_neutral.c: New file.
59829         * lib/unictype/pr_bidi_pdf.c: New file.
59830         * lib/unictype/pr_bidi_segment_separator.c: New file.
59831         * lib/unictype/pr_bidi_whitespace.c: New file.
59832         * lib/unictype/pr_byname.c: New file.
59833         * lib/unictype/pr_byname.gperf: New file.
59834         * lib/unictype/pr_combining.c: New file.
59835         * lib/unictype/pr_composite.c: New file.
59836         * lib/unictype/pr_currency_symbol.c: New file.
59837         * lib/unictype/pr_dash.c: New file.
59838         * lib/unictype/pr_decimal_digit.c: New file.
59839         * lib/unictype/pr_default_ignorable_code_point.c: New file.
59840         * lib/unictype/pr_deprecated.c: New file.
59841         * lib/unictype/pr_diacritic.c: New file.
59842         * lib/unictype/pr_extender.c: New file.
59843         * lib/unictype/pr_format_control.c: New file.
59844         * lib/unictype/pr_grapheme_base.c: New file.
59845         * lib/unictype/pr_grapheme_extend.c: New file.
59846         * lib/unictype/pr_grapheme_link.c: New file.
59847         * lib/unictype/pr_hex_digit.c: New file.
59848         * lib/unictype/pr_hyphen.c: New file.
59849         * lib/unictype/pr_id_continue.c: New file.
59850         * lib/unictype/pr_id_start.c: New file.
59851         * lib/unictype/pr_ideographic.c: New file.
59852         * lib/unictype/pr_ids_binary_operator.c: New file.
59853         * lib/unictype/pr_ids_trinary_operator.c: New file.
59854         * lib/unictype/pr_ignorable_control.c: New file.
59855         * lib/unictype/pr_iso_control.c: New file.
59856         * lib/unictype/pr_join_control.c: New file.
59857         * lib/unictype/pr_left_of_pair.c: New file.
59858         * lib/unictype/pr_line_separator.c: New file.
59859         * lib/unictype/pr_logical_order_exception.c: New file.
59860         * lib/unictype/pr_lowercase.c: New file.
59861         * lib/unictype/pr_math.c: New file.
59862         * lib/unictype/pr_non_break.c: New file.
59863         * lib/unictype/pr_not_a_character.c: New file.
59864         * lib/unictype/pr_numeric.c: New file.
59865         * lib/unictype/pr_other_alphabetic.c: New file.
59866         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
59867         * lib/unictype/pr_other_grapheme_extend.c: New file.
59868         * lib/unictype/pr_other_id_continue.c: New file.
59869         * lib/unictype/pr_other_id_start.c: New file.
59870         * lib/unictype/pr_other_lowercase.c: New file.
59871         * lib/unictype/pr_other_math.c: New file.
59872         * lib/unictype/pr_other_uppercase.c: New file.
59873         * lib/unictype/pr_paired_punctuation.c: New file.
59874         * lib/unictype/pr_paragraph_separator.c: New file.
59875         * lib/unictype/pr_pattern_syntax.c: New file.
59876         * lib/unictype/pr_pattern_white_space.c: New file.
59877         * lib/unictype/pr_private_use.c: New file.
59878         * lib/unictype/pr_punctuation.c: New file.
59879         * lib/unictype/pr_quotation_mark.c: New file.
59880         * lib/unictype/pr_radical.c: New file.
59881         * lib/unictype/pr_sentence_terminal.c: New file.
59882         * lib/unictype/pr_soft_dotted.c: New file.
59883         * lib/unictype/pr_space.c: New file.
59884         * lib/unictype/pr_terminal_punctuation.c: New file.
59885         * lib/unictype/pr_test.c: New file.
59886         * lib/unictype/pr_titlecase.c: New file.
59887         * lib/unictype/pr_unassigned_code_value.c: New file.
59888         * lib/unictype/pr_unified_ideograph.c: New file.
59889         * lib/unictype/pr_uppercase.c: New file.
59890         * lib/unictype/pr_variation_selector.c: New file.
59891         * lib/unictype/pr_white_space.c: New file.
59892         * lib/unictype/pr_xid_continue.c: New file.
59893         * lib/unictype/pr_xid_start.c: New file.
59894         * lib/unictype/pr_zero_width.c: New file.
59895         * lib/unictype/scripts.c: New file.
59896         * lib/unictype/sy_c_ident.c: New file.
59897         * lib/unictype/sy_c_whitespace.c: New file.
59898         * lib/unictype/sy_java_ident.c: New file.
59899         * lib/unictype/sy_java_whitespace.c: New file.
59900
59901         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
59902         Unicode 5.0.0.
59903         * lib/unictype/blocks.h: Likewise.
59904         * lib/unictype/categ_C.h: Likewise.
59905         * lib/unictype/categ_Cc.h: Likewise.
59906         * lib/unictype/categ_Cf.h: Likewise.
59907         * lib/unictype/categ_Cn.h: Likewise.
59908         * lib/unictype/categ_Co.h: Likewise.
59909         * lib/unictype/categ_Cs.h: Likewise.
59910         * lib/unictype/categ_L.h: Likewise.
59911         * lib/unictype/categ_Ll.h: Likewise.
59912         * lib/unictype/categ_Lm.h: Likewise.
59913         * lib/unictype/categ_Lo.h: Likewise.
59914         * lib/unictype/categ_Lt.h: Likewise.
59915         * lib/unictype/categ_Lu.h: Likewise.
59916         * lib/unictype/categ_M.h: Likewise.
59917         * lib/unictype/categ_Mc.h: Likewise.
59918         * lib/unictype/categ_Me.h: Likewise.
59919         * lib/unictype/categ_Mn.h: Likewise.
59920         * lib/unictype/categ_N.h: Likewise.
59921         * lib/unictype/categ_Nd.h: Likewise.
59922         * lib/unictype/categ_Nl.h: Likewise.
59923         * lib/unictype/categ_No.h: Likewise.
59924         * lib/unictype/categ_P.h: Likewise.
59925         * lib/unictype/categ_Pc.h: Likewise.
59926         * lib/unictype/categ_Pd.h: Likewise.
59927         * lib/unictype/categ_Pe.h: Likewise.
59928         * lib/unictype/categ_Pf.h: Likewise.
59929         * lib/unictype/categ_Pi.h: Likewise.
59930         * lib/unictype/categ_Po.h: Likewise.
59931         * lib/unictype/categ_Ps.h: Likewise.
59932         * lib/unictype/categ_S.h: Likewise.
59933         * lib/unictype/categ_Sc.h: Likewise.
59934         * lib/unictype/categ_Sk.h: Likewise.
59935         * lib/unictype/categ_Sm.h: Likewise.
59936         * lib/unictype/categ_So.h: Likewise.
59937         * lib/unictype/categ_Z.h: Likewise.
59938         * lib/unictype/categ_Zl.h: Likewise.
59939         * lib/unictype/categ_Zp.h: Likewise.
59940         * lib/unictype/categ_Zs.h: Likewise.
59941         * lib/unictype/categ_of.h: Likewise.
59942         * lib/unictype/combining.h: Likewise.
59943         * lib/unictype/ctype_alnum.h: Likewise.
59944         * lib/unictype/ctype_alpha.h: Likewise.
59945         * lib/unictype/ctype_blank.h: Likewise.
59946         * lib/unictype/ctype_cntrl.h: Likewise.
59947         * lib/unictype/ctype_digit.h: Likewise.
59948         * lib/unictype/ctype_graph.h: Likewise.
59949         * lib/unictype/ctype_lower.h: Likewise.
59950         * lib/unictype/ctype_print.h: Likewise.
59951         * lib/unictype/ctype_punct.h: Likewise.
59952         * lib/unictype/ctype_space.h: Likewise.
59953         * lib/unictype/ctype_upper.h: Likewise.
59954         * lib/unictype/ctype_xdigit.h: Likewise.
59955         * lib/unictype/decdigit.h: Likewise.
59956         * lib/unictype/digit.h: Likewise.
59957         * lib/unictype/mirror.h: Likewise.
59958         * lib/unictype/numeric.h: Likewise.
59959         * lib/unictype/pr_alphabetic.h: Likewise.
59960         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
59961         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
59962         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
59963         * lib/unictype/pr_bidi_block_separator.h: Likewise.
59964         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
59965         * lib/unictype/pr_bidi_common_separator.h: Likewise.
59966         * lib/unictype/pr_bidi_control.h: Likewise.
59967         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
59968         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
59969         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
59970         * lib/unictype/pr_bidi_european_digit.h: Likewise.
59971         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
59972         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
59973         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
59974         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
59975         * lib/unictype/pr_bidi_pdf.h: Likewise.
59976         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
59977         * lib/unictype/pr_bidi_whitespace.h: Likewise.
59978         * lib/unictype/pr_combining.h: Likewise.
59979         * lib/unictype/pr_composite.h: Likewise.
59980         * lib/unictype/pr_currency_symbol.h: Likewise.
59981         * lib/unictype/pr_dash.h: Likewise.
59982         * lib/unictype/pr_decimal_digit.h: Likewise.
59983         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
59984         * lib/unictype/pr_deprecated.h: Likewise.
59985         * lib/unictype/pr_diacritic.h: Likewise.
59986         * lib/unictype/pr_extender.h: Likewise.
59987         * lib/unictype/pr_format_control.h: Likewise.
59988         * lib/unictype/pr_grapheme_base.h: Likewise.
59989         * lib/unictype/pr_grapheme_extend.h: Likewise.
59990         * lib/unictype/pr_grapheme_link.h: Likewise.
59991         * lib/unictype/pr_hex_digit.h: Likewise.
59992         * lib/unictype/pr_hyphen.h: Likewise.
59993         * lib/unictype/pr_id_continue.h: Likewise.
59994         * lib/unictype/pr_id_start.h: Likewise.
59995         * lib/unictype/pr_ideographic.h: Likewise.
59996         * lib/unictype/pr_ids_binary_operator.h: Likewise.
59997         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
59998         * lib/unictype/pr_ignorable_control.h: Likewise.
59999         * lib/unictype/pr_iso_control.h: Likewise.
60000         * lib/unictype/pr_join_control.h: Likewise.
60001         * lib/unictype/pr_left_of_pair.h: Likewise.
60002         * lib/unictype/pr_line_separator.h: Likewise.
60003         * lib/unictype/pr_logical_order_exception.h: Likewise.
60004         * lib/unictype/pr_lowercase.h: Likewise.
60005         * lib/unictype/pr_math.h: Likewise.
60006         * lib/unictype/pr_non_break.h: Likewise.
60007         * lib/unictype/pr_not_a_character.h: Likewise.
60008         * lib/unictype/pr_numeric.h: Likewise.
60009         * lib/unictype/pr_other_alphabetic.h: Likewise.
60010         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
60011         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
60012         * lib/unictype/pr_other_id_continue.h: Likewise.
60013         * lib/unictype/pr_other_id_start.h: Likewise.
60014         * lib/unictype/pr_other_lowercase.h: Likewise.
60015         * lib/unictype/pr_other_math.h: Likewise.
60016         * lib/unictype/pr_other_uppercase.h: Likewise.
60017         * lib/unictype/pr_paired_punctuation.h: Likewise.
60018         * lib/unictype/pr_paragraph_separator.h: Likewise.
60019         * lib/unictype/pr_pattern_syntax.h: Likewise.
60020         * lib/unictype/pr_pattern_white_space.h: Likewise.
60021         * lib/unictype/pr_private_use.h: Likewise.
60022         * lib/unictype/pr_punctuation.h: Likewise.
60023         * lib/unictype/pr_quotation_mark.h: Likewise.
60024         * lib/unictype/pr_radical.h: Likewise.
60025         * lib/unictype/pr_sentence_terminal.h: Likewise.
60026         * lib/unictype/pr_soft_dotted.h: Likewise.
60027         * lib/unictype/pr_space.h: Likewise.
60028         * lib/unictype/pr_terminal_punctuation.h: Likewise.
60029         * lib/unictype/pr_titlecase.h: Likewise.
60030         * lib/unictype/pr_unassigned_code_value.h: Likewise.
60031         * lib/unictype/pr_unified_ideograph.h: Likewise.
60032         * lib/unictype/pr_uppercase.h: Likewise.
60033         * lib/unictype/pr_variation_selector.h: Likewise.
60034         * lib/unictype/pr_white_space.h: Likewise.
60035         * lib/unictype/pr_xid_continue.h: Likewise.
60036         * lib/unictype/pr_xid_start.h: Likewise.
60037         * lib/unictype/pr_zero_width.h: Likewise.
60038         * lib/unictype/scripts.h: Likewise.
60039         * lib/unictype/scripts_byname.gperf: Likewise.
60040         * lib/unictype/sy_c_ident.h: Likewise.
60041         * lib/unictype/sy_c_whitespace.h: Likewise.
60042         * lib/unictype/sy_java_ident.h: Likewise.
60043         * lib/unictype/sy_java_whitespace.h: Likewise.
60044
60045         * lib/unictype/Makefile: New file.
60046         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
60047         glibc.
60048         * lib/unictype/3level.h: New file, copied from glibc.
60049         * lib/unictype/3levelbit.h: New file.
60050
60051 2007-11-11  Bruno Haible  <bruno@clisp.org>
60052
60053         * modules/gperf: New file.
60054         * modules/iconv_open (Depends-on): Add it.
60055         (Makefile.am): Remove the GPERF definition.
60056
60057 2007-11-11  Bruno Haible  <bruno@clisp.org>
60058
60059         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
60060         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
60061
60062 2007-11-11  Bruno Haible  <bruno@clisp.org>
60063
60064         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
60065         (usage): Remove function.
60066
60067 2007-11-11  Bruno Haible  <bruno@clisp.org>
60068
60069         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
60070         gl_FUNC_CEILF_LIBS.
60071         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
60072         gl_FUNC_CEIL_LIBS.
60073         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
60074         gl_FUNC_CEILL_LIBS.
60075         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
60076         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
60077         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
60078
60079 2007-11-11  Bruno Haible  <bruno@clisp.org>
60080
60081         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
60082         roundf were declared but do not exist on functions.
60083         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
60084         roundl were declared but do not exist on functions.
60085         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
60086         HAVE_FLOORL_AND_CEILL, respectively.
60087         Needed for Sun C on Solaris 10.
60088
60089 2007-11-11  Bruno Haible  <bruno@clisp.org>
60090
60091         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
60092         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
60093         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
60094         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
60095         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
60096         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
60097         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
60098         HAVE_DECL_ROUNDF.
60099         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
60100         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
60101         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
60102         of HAVE_DECL_ROUND*.
60103         * modules/math (Makefile.am): Update.
60104
60105 2007-11-10  Bruno Haible  <bruno@clisp.org>
60106
60107         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
60108         ptrdiff_t as m4/intl.m4.
60109
60110 2007-11-10  Jim Meyering  <meyering@redhat.com>
60111
60112         Avoid link failure for the argmatch test.
60113         * tests/test-argmatch.c (usage): Define function to avoid a link
60114         failure: argmatch_die requires a usage function.
60115
60116 2007-11-09  Bruno Haible  <bruno@clisp.org>
60117
60118         * doc/functions/snprintf.texi: Mention BeOS deficiency.
60119         * doc/functions/vsnprintf.texi: Likewise.
60120         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
60121         with a size argument < 2.
60122
60123 2007-11-09  Bruno Haible  <bruno@clisp.org>
60124
60125         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
60126         buffer. Fixes an inefficiency introduced on 2007-11-03.
60127
60128 2007-11-09  Bruno Haible  <bruno@clisp.org>
60129
60130         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
60131         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
60132
60133 2007-11-08  Jim Meyering  <meyering@redhat.com>
60134
60135         Change cache variable name prefix "jm_" to "gl_" everywhere.
60136         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
60137         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
60138         * m4/uptime.m4: s/gl_/jm_/
60139
60140 2007-11-07  Bruno Haible  <bruno@clisp.org>
60141
60142         Update to GNU gettext 0.17.
60143         * m4/intl.m4: Update to GNU gettext 0.17.
60144         * m4/po.m4: Likewise.
60145         * modules/gettext (Files): Remove m4/ulonglong.m4.
60146         (configure.ac): Require gettext infrastructure from version 0.17.
60147
60148 2007-11-06  Bruno Haible  <bruno@clisp.org>
60149
60150         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
60151         symbolic values are not defined in a public header.
60152         * lib/freadable.c (freadable) [QNX]: Likewise.
60153         * lib/freadahead.c (freadahead) [QNX]: Likewise.
60154         * lib/freading.c (freading) [QNX]: Likewise.
60155         * lib/fseterr.c (fseterr) [QNX]: Likewise.
60156         * lib/fwritable.c (fwritable) [QNX]: Likewise.
60157         * lib/fwriting.c (fwriting) [QNX]: Likewise.
60158         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
60159         Reported by Alain Magloire.
60160
60161         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
60162
60163 2007-11-05  Bruno Haible  <bruno@clisp.org>
60164
60165         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
60166         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
60167         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
60168         Reported by Eric Blake.
60169
60170 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60171             Bruno Haible  <bruno@clisp.org>
60172
60173         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
60174         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
60175         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
60176         (malloc): Undefine also before including <stdlib.h>.
60177         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
60178         Needed on OSF/1 4.0.
60179
60180 2007-11-05  Jim Meyering  <meyering@redhat.com>
60181
60182         git-version-gen: sync from coreutils.
60183         * build-aux/git-version-gen: Add comments.
60184         Change the first '-' to '.' in the snapshot version string,
60185         e.g., 6.9-377-08144 -> 6.9.377-08144
60186         Remove first parameter.
60187         Don't declare a version "-dirty" merely because a time
60188         stamp has changed.
60189
60190 2007-11-04  Bruno Haible  <bruno@clisp.org>
60191
60192         * lib/lock.h: Protect all macro definitions containing an 'if'
60193         statement through a "do { ... } while (0)".
60194         * lib/tls.h: Likewise.
60195
60196 2007-11-04  Bruno Haible  <bruno@clisp.org>
60197
60198         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
60199
60200 2007-11-04  Bruno Haible  <bruno@clisp.org>
60201
60202         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
60203         * modules/fprintf-posix (Depends-on): Add nocrash.
60204         * modules/snprintf-posix (Depends-on): Likewise.
60205         * modules/sprintf-posix (Depends-on): Likewise.
60206         * modules/vasnprintf-posix (Depends-on): Likewise.
60207         * modules/vasprintf-posix (Depends-on): Likewise.
60208         * modules/vfprintf-posix (Depends-on): Likewise.
60209         * modules/vsnprintf-posix (Depends-on): Likewise.
60210         * modules/vsprintf-posix (Depends-on): Likewise.
60211         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
60212         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
60213         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
60214         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
60215         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
60216         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
60217         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
60218
60219 2007-11-04  Bruno Haible  <bruno@clisp.org>
60220
60221         * modules/nocrash: New file.
60222         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
60223         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
60224
60225 2007-11-04  Bruno Haible  <bruno@clisp.org>
60226
60227         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
60228         precision handling.
60229         * tests/test-vasprintf-posix.c (test_function): Likewise.
60230         * tests/test-snprintf-posix.h (test_function): Likewise.
60231         * tests/test-sprintf-posix.h (test_function): Likewise.
60232
60233         Fix *printf behaviour for large precisions on mingw and BeOS.
60234         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
60235         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
60236         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
60237         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
60238         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
60239         gl_PRINTF_PRECISION and test its result. Invoke
60240         gl_PREREQ_VASNPRINTF_PRECISION.
60241         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60242         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60243         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60244         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60245         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60246         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60247         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60248         * doc/functions/fprintf.texi: Update.
60249         * doc/functions/printf.texi: Update.
60250         * doc/functions/snprintf.texi: Update.
60251         * doc/functions/sprintf.texi: Update.
60252         * doc/functions/vfprintf.texi: Update.
60253         * doc/functions/vprintf.texi: Update.
60254         * doc/functions/vsnprintf.texi: Update.
60255         * doc/functions/vsprintf.texi: Update.
60256
60257 2007-11-04  Bruno Haible  <bruno@clisp.org>
60258
60259         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
60260
60261 2007-11-04  Bruno Haible  <bruno@clisp.org>
60262
60263         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
60264         Reported by Sylvain Beucler <beuc@gnu.org>.
60265
60266 2007-11-03  Bruno Haible  <bruno@clisp.org>
60267
60268         * tests/test-fprintf-posix2.sh: New file.
60269         * tests/test-fprintf-posix2.c: New file.
60270         * modules/fprintf-posix-tests (Files): Add them.
60271         (TESTS): Add test-fprintf-posix2.sh.
60272         (configure.ac): Check for getrlimit and setrlimit.
60273         (check_PROGRAMS): Add test-fprintf-posix2.
60274
60275         * tests/test-printf-posix2.sh: New file.
60276         * tests/test-printf-posix2.c: New file.
60277         * modules/printf-posix-tests (Files): Add them.
60278         (TESTS): Add test-printf-posix2.sh.
60279         (configure.ac): Check for getrlimit and setrlimit.
60280         (check_PROGRAMS): Add test-printf-posix2.
60281
60282         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
60283         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
60284         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
60285         (decode_double): New function, copied from decode_long_double.
60286         (scale10_round_decimal_decoded): New function, extracted from
60287         scale10_round_decimal_long_double.
60288         (scale10_round_decimal_long_double): Use it.
60289         (scale10_round_decimal_double): New function.
60290         (floorlog10): New function.
60291         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
60292         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
60293         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
60294         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
60295         gl_PRINTF_ENOMEM and test its result. Invoke
60296         gl_PREREQ_VASNPRINTF_ENOMEM.
60297         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60298         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60299         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60300         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60301         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60302         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60303         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60304         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
60305         * modules/snprintf-posix (Depends-on): Likewise.
60306         * modules/sprintf-posix (Depends-on): Likewise.
60307         * modules/vasnprintf-posix (Depends-on): Likewise.
60308         * modules/vasprintf-posix (Depends-on): Likewise.
60309         * modules/vfprintf-posix (Depends-on): Likewise.
60310         * modules/vsnprintf-posix (Depends-on): Likewise.
60311         * modules/vsprintf-posix (Depends-on): Likewise.
60312         * doc/functions/fprintf.texi: Update.
60313         * doc/functions/printf.texi: Update.
60314         * doc/functions/snprintf.texi: Update.
60315         * doc/functions/sprintf.texi: Update.
60316         * doc/functions/vfprintf.texi: Update.
60317         * doc/functions/vprintf.texi: Update.
60318         * doc/functions/vsnprintf.texi: Update.
60319         * doc/functions/vsprintf.texi: Update.
60320
60321 2007-11-03  Bruno Haible  <bruno@clisp.org>
60322
60323         * modules/frexp-nolibm-tests: New file.
60324
60325         * modules/frexp-nolibm: New file.
60326         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
60327
60328 2007-11-03  Bruno Haible  <bruno@clisp.org>
60329
60330         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
60331         value is C99 compliant.
60332         Needed for OSF/1 5.1.
60333
60334 2007-11-03  Bruno Haible  <bruno@clisp.org>
60335
60336         Fix out-of-memory handling of vasnprintf.
60337         * lib/printf-parse.c: Include <errno.h>.
60338         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
60339         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
60340         is already set.
60341
60342 2007-11-02  Eric Blake  <ebb9@byu.net>
60343
60344         Fix tests on cygwin.
60345         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
60346
60347 2007-11-01  Bruno Haible  <bruno@clisp.org>
60348
60349         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
60350         warning.
60351         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
60352         needed for POSIX compatibility.
60353
60354 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
60355
60356         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
60357         for compatibility with GNU.
60358
60359 2007-11-01  Bruno Haible  <bruno@clisp.org>
60360
60361         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
60362         (putenv): Renamed from rpl_putenv. Change argument type from
60363         'const char *' to 'char *'.
60364         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
60365         of defining putenv in config.h, just set REPLACE_PUTENV.
60366         * modules/putenv (Depends-on): Add stdlib.
60367         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
60368         (Include): Use <stdlib.h>.
60369         * lib/stdlib.in.h (putenv): New declaration.
60370         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
60371         REPLACE_PUTENV.
60372         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
60373         REPLACE_PUTENV.
60374         Needed for MacOS X 10.5.0.
60375         Reported by Peter O'Gorman <peter@pogma.com>.
60376
60377 2007-11-01  Jim Meyering  <meyering@redhat.com>
60378
60379         Treat an empty date string exactly like "0".
60380         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
60381         if the remaining date string (to be parsed) is empty, use "0".
60382         Reported by Mischa Molhoek and discussed in this thread:
60383         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
60384
60385 2007-10-31  Bruno Haible  <bruno@clisp.org>
60386
60387         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
60388         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
60389         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
60390         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
60391         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
60392         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
60393
60394 2007-10-31  Bruno Haible  <bruno@clisp.org>
60395
60396         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
60397         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
60398         (AC_TYPE_LONG_LONG_INT): Use it.
60399         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
60400         it as well.
60401         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
60402         to m4/longlong.m4.
60403         * modules/stdint (Files): Remove m4/ulonglong.m4.
60404         * modules/strtoull (Files): Use m4/longlong.m4 instead of
60405         m4/ulonglong.m4.
60406         * modules/strtoumax (Files): Likewise.
60407
60408 2007-10-30  Bruno Haible  <bruno@clisp.org>
60409
60410         * modules/xvasprintf-posix: New file.
60411         Suggested by Eric Blake.
60412
60413 2007-10-30  Bruno Haible  <bruno@clisp.org>
60414
60415         * modules/xprintf-posix-tests: New file.
60416         * tests/test-xprintf-posix.sh: New file.
60417         * tests/test-xprintf-posix.c: New file.
60418         * tests/test-xfprintf-posix.c: New file.
60419
60420         * modules/xprintf-posix: New file.
60421
60422 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60423
60424         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
60425         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
60426         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
60427
60428 2007-10-29  Bruno Haible  <bruno@clisp.org>
60429
60430         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
60431         contain the special marker '_cv_'.
60432         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
60433         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
60434         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
60435         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
60436         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
60437         Reported by Ralf Wildenhues.
60438
60439 2007-10-29  Bruno Haible  <bruno@clisp.org>
60440
60441         * gnulib-tool (func_import): When --lgpl is not specified, set
60442         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
60443         GPLv3.
60444         Reported by Simon Josefsson.
60445
60446 2007-10-28  Bruno Haible  <bruno@clisp.org>
60447
60448         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
60449         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
60450         HAVE_DECL_ISFINITE.
60451         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
60452         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
60453         HAVE_DECL_ISFINITE.
60454
60455 2007-10-28  Bruno Haible  <bruno@clisp.org>
60456
60457         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
60458         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
60459
60460 2007-10-28  Bruno Haible  <bruno@clisp.org>
60461
60462         Fix link errors with Sun C 5.0 on Solaris 10.
60463         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
60464         function is declared but not present in the compiler's libm.
60465         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
60466         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
60467         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
60468         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
60469         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
60470         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
60471         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
60472         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
60473         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
60474         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
60475         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
60476         HAVE_DECL_FLOORL.
60477
60478 2007-10-28  Bruno Haible  <bruno@clisp.org>
60479
60480         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
60481         gl_FUNC_FLOORL. Cache the result.
60482         (gl_FUNC_FLOORL): Use it.
60483         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
60484         gl_FUNC_CEILL. Cache the result.
60485         (gl_FUNC_CEILL): Use it.
60486
60487         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
60488         gl_FUNC_FLOOR. Cache the result.
60489         (gl_FUNC_FLOOR): Use it.
60490         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
60491         gl_FUNC_CEIL. Cache the result.
60492         (gl_FUNC_CEIL): Use it.
60493
60494         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
60495         gl_FUNC_FLOORF. Cache the result.
60496         (gl_FUNC_FLOORF): Use it.
60497         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
60498         gl_FUNC_CEILF. Cache the result.
60499         (gl_FUNC_CEILF): Use it.
60500
60501 2007-10-28  Bruno Haible  <bruno@clisp.org>
60502
60503         * gnulib-tool: Allow specifying the LGPL version number through
60504         --lgpl=2 or --lgpl=3.
60505         (func_usage): Document --lgpl with argument.
60506         Handle --lgpl=... arguments.
60507         (func_import): Recognize also gl_LGPL calls with an argument. When
60508         --lgpl=2 is used and the module's license is just LGPL, report an
60509         error. Set sed_transform_lib_file according to the lgpl variable. In
60510         the generated files, use --lgpl or gl_LGPL invocations with argument,
60511         if necessary.
60512         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
60513         an LGPv2+ license.
60514         * doc/gnulib-tool.texi (Modified imports): Update explanation of
60515         gl_LGPL macro.
60516
60517 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60518             Bruno Haible  <bruno@clisp.org>
60519
60520         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
60521         (u16_uctomb_aux): Likewise.
60522         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
60523         !HAVE_INLINE.
60524         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
60525
60526 2007-10-28  Bruno Haible  <bruno@clisp.org>
60527
60528         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
60529         Invoke AM_GETTEXT_OPTION if it exists.
60530         * modules/vasprintf: Likewise.
60531         * modules/verror: Likewise.
60532         * modules/xprintf: Likewise.
60533         * modules/xvasprintf: Likewise.
60534
60535 2007-10-27  Ben Pfaff  <blp@gnu.org>
60536
60537         * lib/math.in.h: Define isfinite macro and prototypes for
60538         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
60539         implementations.
60540         * m4/math_h.m4: New substitutions for isfinite module.
60541         * lib/isfinite.c: New file.
60542         * m4/isfinite.m4: New file.
60543         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
60544         * modules/isfinite: New file.
60545         * modules/isfinite-tests: New file.
60546         * tests/tests-isfinite.c: New file.
60547         * doc/functions/isfinite.texi: Mention isfinite module.
60548         * MODULES.html.sh: Mention new module.
60549
60550 2007-10-27  Ben Pfaff  <blp@gnu.org>
60551
60552         Ralf Wildenhues reported that Tru64 4.0D declares the round
60553         functions but does not have definitions.
60554         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
60555         cannot be found in any library, set the output variable to
60556         "missing" instead of "".
60557         * m4/round.m4: Also use our substitute if we cannot find round in
60558         any library, even if it is declared.
60559         * m4/roundf.m4: Likewise for roundf.
60560         * m4/roundl.m4: Likewise for roundl.
60561         * lib/math.in.h: Undefine roundf, round, roundl before defining
60562         their replacements, to allow for hypothetical systems where these
60563         may be defined as macros but not available in libraries.
60564
60565 2007-10-27  Bruno Haible  <bruno@clisp.org>
60566
60567         * doc/gnulib.texi: Invoke @firstparagraphindent.
60568         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
60569         changes in gnulib.
60570         (Source changes): New section.
60571
60572 2007-10-26  Bruno Haible  <bruno@clisp.org>
60573
60574         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
60575         borrowed from autoconf.
60576
60577 2007-10-26  Bruno Haible  <bruno@clisp.org>
60578
60579         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
60580         strerror returned the empty string. Needed on HP-UX 11.00.
60581
60582 2007-10-24  Micah Cowan  <micah@cowan.name>
60583
60584         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
60585         * build-aux/bootstrap: Remove support for now-unnecessary option,
60586         --cvs-user, and envvars CVS_USER, CVS_RSH.
60587
60588 2007-10-24  Jim Meyering  <meyering@redhat.com>
60589
60590         Avoid diagnostics from sha1sum when there is no cached checksum.
60591         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
60592         if the po.s1 file hasn't been created yet.
60593
60594         * build-aux/bootstrap: Sync from coreutils:
60595         2007-10-24  Jim Meyering  <meyering@redhat.com>
60596         Get gnulib from the git repository, not from an obsolete cvs one.
60597         * build-aux/bootstrap: Suggestion from Micah Cowan.
60598         2007-10-04  Jim Meyering  <jim@meyering.net>
60599         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
60600         (update_po_files): Work also when there are no .po files in po/.
60601
60602 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
60603
60604         * README: Append ".git" to git and cg examples.
60605         Problem reported by Benoit Sigoure.
60606
60607 2007-10-23  Micah Cowan  <micah@cowan.name>
60608
60609         * users.txt: Add wget.
60610
60611 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60612
60613         Fix linking of some unistdio tests on FreeBSD.
60614         * modules/unistdio/u16-vsnprintf-tests
60615         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
60616         * modules/unistdio/u16-vsprintf-tests
60617         (test_u16_vsnprintf1_LDADD): Likewise.
60618         * modules/unistdio/u32-vsnprintf-tests
60619         (test_u32_vsnprintf1_LDADD): Likewise.
60620         * modules/unistdio/u32-vsprintf-tests
60621         (test_u32_vsprintf1_LDADD): Likewise.
60622         * modules/unistdio/u8-vsnprintf-tests
60623         (test_u8_vsnprintf1_LDADD): Likewise.
60624         * modules/unistdio/u8-vsprintf-tests
60625         (test_u8_vsprintf1_LDADD): Likewise.
60626         * modules/unistdio/ulc-vsnprintf-tests
60627         (test_ulc_vsnprintf1_LDADD): Likewise.
60628         * modules/unistdio/ulc-vsprintf-tests
60629         (test_ulc_vsprintf1_LDADD): Likewise.
60630
60631         Fix linking of some uniconv tests on FreeBSD.
60632         * modules/uniconv/u16-conv-from-enc-tests
60633         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
60634         * modules/uniconv/u16-conv-to-enc-tests
60635         (test_u16_conv_to_enc_LDADD): Likewise.
60636         * modules/uniconv/u16-strconv-from-enc-tests
60637         (test_u16_strconv_from_enc_LDADD): Likewise.
60638         * modules/uniconv/u16-strconv-to-enc-tests
60639         (test_u16_strconv_to_enc_LDADD): Likewise.
60640         * modules/uniconv/u32-conv-from-enc-tests
60641         (test_u32_conv_from_enc_LDADD): Likewise.
60642         * modules/uniconv/u32-conv-to-enc-tests
60643         (test_u32_conv_to_enc_LDADD): Likewise.
60644         * modules/uniconv/u32-strconv-from-enc-tests
60645         (test_u32_strconv_from_enc_LDADD): Likewise.
60646         * modules/uniconv/u32-strconv-to-enc-tests
60647         (test_u32_strconv_to_enc_LDADD): Likewise.
60648         * modules/uniconv/u8-conv-from-enc-tests
60649         (test_u8_conv_from_enc_LDADD): Likewise.
60650         * modules/uniconv/u8-conv-to-enc-tests
60651         (test_u8_conv_to_enc_LDADD): Likewise.
60652         * modules/uniconv/u8-strconv-from-enc-tests
60653         (test_u8_strconv_from_enc_LDADD): Likewise.
60654         * modules/uniconv/u8-strconv-to-enc-tests
60655         (test_u8_strconv_to_enc_LDADD): Likewise.
60656
60657 2007-10-22  Bruno Haible  <bruno@clisp.org>
60658
60659         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
60660         size.
60661
60662 2007-10-22  Eric Blake  <ebb9@byu.net>
60663
60664         Tweak x*printf documentation.
60665         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
60666         variable name and comments.
60667         Suggested by Bruno Haible.
60668
60669 2007-10-22  Bruno Haible  <bruno@clisp.org>
60670
60671         * lib/acl.c (copy_acl): Fix file name in comment.
60672
60673 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
60674
60675         Fix Tru64 problem with stdbool.h.
60676         * lib/stdbool.in.h (false, true):
60677         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
60678         Don't declare as an enum in this situation; it runs afoul of Tru64.
60679         Problem reported by Steven M. Schweda in
60680         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
60681
60682 2007-10-22  Eric Blake  <ebb9@byu.net>
60683
60684         Also wrap vf?printf.
60685         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
60686         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
60687         (xvprintf, xvfprintf): New functions.
60688
60689 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60690
60691         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
60692         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
60693
60694         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
60695         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
60696
60697 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
60698
60699         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
60700         by Bruno Haible.
60701
60702 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60703
60704         * lib/getloadavg.c
60705         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
60706         Undef `sys' after including sys/table.h, for Tru64 4.0D.
60707
60708         * tests/test-i-ring.c: Work for C89.
60709
60710 2007-10-22  Bruno Haible  <bruno@clisp.org>
60711
60712         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
60713         -1u, in preprocessor expression, so that we don't test for the bug
60714         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
60715         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
60716
60717 2007-10-22  Eric Blake  <ebb9@byu.net>
60718
60719         * tests/test-yesno.sh: Silence stderr during test.
60720
60721 2007-10-22  Simon Josefsson  <simon@josefsson.org>
60722
60723         * modules/crypto/gc-camellia: New file.
60724
60725         * m4/gc-camellia.m4: New file.
60726
60727         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
60728
60729         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
60730
60731 2007-10-22  Simon Josefsson  <simon@josefsson.org>
60732
60733         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
60734         --help to stdout.  Reported by sms@antinode.org (Steven
60735         M. Schweda).
60736
60737 2007-10-22  Simon Josefsson  <simon@josefsson.org>
60738
60739         * users.txt: Fix link to libksba.
60740
60741 2007-10-21  Ben Pfaff  <blp@gnu.org>
60742
60743         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
60744         round.c roundf implementation that depends on floorf and ceilf to
60745         be tested unconditionally.
60746
60747 2007-10-21  Ben Pfaff  <blp@gnu.org>
60748
60749         * m4/check-libm-func.m4: Removed.
60750         * m4/check-math-lib.m4: New file.
60751         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
60752         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
60753         definition and lack of AC_LIBOBJ([roundf]).
60754         * m4/roundl.m4: Ditto, and similarly for roundl.
60755         * modules/round: Reference new m4 file.
60756         * modules/roundf: Ditto.
60757         * modules/roundl: Ditto.
60758         * tests/test-round2.c (main): Use ROUND instead of round.
60759         Bug report from Bruno Haible.
60760
60761 2007-10-21  Bruno Haible  <bruno@clisp.org>
60762
60763         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
60764         context.
60765
60766 2007-10-21  Bruno Haible  <bruno@clisp.org>
60767
60768         * tests/test-wcwidth.c (main): Allow negative result for some control
60769         characters.
60770
60771         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
60772         Needed on OSF/1 5.1.
60773
60774 2007-10-21  Bruno Haible  <bruno@clisp.org>
60775
60776         * tests/test-floorf1.c: Include isnanf.h.
60777         (main): Use isnanf() instead of isnan().
60778         * tests/test-ceilf1.c: Include isnanf.h.
60779         (main): Use isnanf() instead of isnan().
60780         * tests/test-truncf1.c: Include isnanf.h.
60781         (main): Use isnanf() instead of isnan().
60782         * tests/test-roundf1.c: Include isnanf.h.
60783         (main): Use isnanf() instead of isnan().
60784
60785 2007-10-21  Eric Blake  <ebb9@byu.net>
60786
60787         * users.txt: Update URL for m4.
60788
60789 2007-10-21  Bruno Haible  <bruno@clisp.org>
60790
60791         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
60792
60793 2007-10-21  Bruno Haible  <bruno@clisp.org>
60794
60795         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
60796         Git's management files if the CVS files are not present.
60797
60798 2007-10-20  Bruno Haible  <bruno@clisp.org>
60799
60800         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
60801         gcc-3.4.x.
60802
60803 2007-10-20  Ben Pfaff  <blp@gnu.org>
60804
60805         * lib/math.in.h: Declare round, roundf, roundl if we are providing
60806         implementations.
60807         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
60808         * lib/round.c: New file.
60809         * lib/roundf.c: New file.
60810         * lib/roundl.c: New file.
60811         * m4/round.m4: New file.
60812         * m4/roundf.m4: New file.
60813         * m4/roundl.m4: New file.
60814         * m4/check-libm-func-m4: New file.
60815         * modules/math: Replace round, roundf, roundl related @VARS@ in
60816         math.in.h.
60817         * modules/round: New file.
60818         * modules/round-tests: New file.
60819         * modules/roundf: New file.
60820         * modules/roundf-tests: New file.
60821         * modules/roundl: New file.
60822         * modules/roundl-tests: New file.
60823         * tests/test-round1.c: New file.
60824         * tests/test-round2.c: New file.
60825         * tests/test-roundf1.c: New file.
60826         * tests/test-roundf2.c: New file.
60827         * tests/test-roundl.c: New file.
60828         * doc/functions/round.texi: Mention round module.
60829         * doc/functions/roundf.texi: Mention roundf module.
60830         * doc/functions/roundl.texi: Mention roundl module.
60831         * MODULES.html.sh: Mention new modules.
60832         Thanks to Bruno Haible for suggestions.
60833
60834 2007-10-20  Jim Meyering  <meyering@redhat.com>
60835
60836         * lib/xprintf.c: Include <config.h> unconditionally.
60837
60838         Change xprintf's license to GPL.
60839         * modules/xprintf (License): s/LGPL/GPL/, since this module
60840         depends on modules (exit and exitfail) which are GPL.
60841         Suggestion from Bruno Haible.
60842
60843         xprintf fixes.
60844         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
60845         Use a clearer diagnostic.
60846         Patch from Bruno Haible.
60847
60848 2007-10-20  Bruno Haible  <bruno@clisp.org>
60849
60850         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
60851         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
60852         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60853
60854 2007-10-20  Bruno Haible  <bruno@clisp.org>
60855
60856         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
60857         precision in the comparison result > x - 1 or similar.
60858         * tests/test-ceilf2.c (correct_result_p): Likewise.
60859         * tests/test-truncf2.c (correct_result_p): Likewise.
60860         * tests/test-trunc2.c (correct_result_p): Likewise.
60861         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60862
60863 2007-10-20  Bruno Haible  <bruno@clisp.org>
60864
60865         * modules/ceil: New file.
60866         * m4/ceil.m4: New file.
60867         * doc/functions/ceil.texi: Mention the 'ceil' module.
60868
60869 2007-10-20  Bruno Haible  <bruno@clisp.org>
60870
60871         * modules/floor: New file.
60872         * m4/floor.m4: New file.
60873         * doc/functions/floor.texi: Mention the 'floor' module.
60874
60875 2007-10-20  Bruno Haible  <bruno@clisp.org>
60876
60877         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
60878         of %a.
60879         * modules/floorf-tests (Depends-on): Likewise.
60880         * modules/truncf-tests (Depends-on): Likewise.
60881         * modules/trunc-tests (Depends-on): Likewise.
60882         Reported by Ben Pfaff.
60883
60884 2007-10-19  Jim Meyering  <meyering@redhat.com>
60885
60886         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
60887         Don't bother testing specific errno values.  Just test ferror.
60888
60889         New module: xprintf
60890         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
60891
60892 2007-10-19  Bruno Haible  <bruno@clisp.org>
60893
60894         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
60895         syntax.
60896         * modules/javaexec (Makefile.am): Likewise.
60897         * modules/relocatable-prog (Makefile.am): Likewise.
60898         Suggested by Jim Meyering.
60899
60900 2007-10-18  Bruno Haible  <bruno@clisp.org>
60901
60902         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
60903         Reported by Jim Meyering.
60904
60905 2007-10-18  Eric Blake  <ebb9@byu.net>
60906
60907         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
60908
60909 2007-10-18  Bruno Haible  <bruno@clisp.org>
60910
60911         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
60912         the format string into writable memory. Needed in Fortify conditions.
60913
60914 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
60915             Bruno Haible  <bruno@clisp.org>
60916
60917         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
60918         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
60919         * modules/trim (Depends-on): Add mbchar.
60920         (configure.ac): Add gl_FUNC_MBRTOWC.
60921         (Makefile.am): Augment lib_SOURCES.
60922
60923 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
60924
60925         Modify glob.c to use fstatat and dirfd, to simplify it.
60926         Suggested by Eric Blake.
60927         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
60928         Don't include <stdbool.h>; not used.
60929         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
60930         (link_exists_p): Simplify implementation, since we can now assume
60931         dirfd and fstatat.
60932         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
60933
60934 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60935
60936         * gnulib-tool (func_get_dependencies): Fix sed script to
60937         match only tests.
60938
60939 2007-10-17  Bruno Haible  <bruno@clisp.org>
60940
60941         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
60942         allow locale names without encoding suffix.
60943         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
60944         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
60945
60946 2007-10-16  Bruno Haible  <bruno@clisp.org>
60947
60948         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
60949         * lib/getgroups.c (getgroups): Likewise.
60950         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
60951
60952 2007-10-16  Bruno Haible  <bruno@clisp.org>
60953
60954         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
60955         * modules/malloc-posix (License): Likewise.
60956         * modules/realloc-posix (License): Likewise.
60957         * modules/calloc-posix (License): Likewise.
60958         * modules/intprops (License): Change from GPL to LGPL, with
60959         Paul Eggert's approval.
60960
60961 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
60962
60963         Merge glibc changes into lib/glob.c.
60964
60965         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
60966         2007-10-15 04:59:03 UTC.  Here are the changes:
60967
60968         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
60969
60970         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
60971
60972         * lib/glob.c: Add some branch prediction throughout.
60973
60974         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
60975
60976         [BZ #5103]
60977         * lib/glob.c (glob): Recognize patterns starting \/.
60978
60979         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
60980
60981         [BZ #3996]
60982         * lib/glob.c (attribute_hidden): Define if not defined.
60983         (glob): Unescape dirname, filename or username when needed and not
60984         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
60985         is NULL.  Handle unescaped [ in pattern without closing ].
60986         Don't pass GLOB_CHECK down to recursive glob for directories.
60987         (__glob_pattern_type): New function.
60988         (__glob_pattern_p): Implement using __glob_pattern_type.
60989         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
60990         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
60991         Remove unreachable code.
60992
60993         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
60994
60995         * lib/glob.c (glob_in_dir): Add some comments and asserts to
60996         explain why there are no leaks.
60997
60998         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
60999
61000         [BZ #3253]
61001         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
61002         time, rather allocate increasingly bigger arrays of pointers, if
61003         possible with alloca, if too large with malloc.
61004
61005 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
61006
61007         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
61008         Problem reported by H.Merijn Brand in
61009         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
61010         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
61011         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
61012
61013 2007-10-15  Bruno Haible  <bruno@clisp.org>
61014
61015         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
61016         with explicit rpl_ prefix.
61017         * lib/fopen.c (fopen): Likewise.
61018         * lib/freopen.c (freopen): Likewise.
61019         * lib/iconv.c (iconv): Likewise.
61020         * lib/iconv_close.c (iconv_close): Likewise.
61021
61022 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61023
61024         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
61025
61026 2007-10-15  Bruno Haible  <bruno@clisp.org>
61027
61028         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
61029         <stddef.h> instead of <stdlib.h> since we only need NULL.
61030         Reported by Ben Pfaff <blp@cs.stanford.edu>.
61031
61032 2007-10-15  Bruno Haible  <bruno@clisp.org>
61033
61034         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
61035         Replace paragraph talking about LIBOBJS.
61036         Reported by Colin Watson <cjwatson@debian.org>.
61037
61038 2007-10-15  Bruno Haible  <bruno@clisp.org>
61039
61040         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
61041         <stdlib.h> before using NULL.
61042
61043 2007-10-15  Simon Josefsson  <simon@josefsson.org>
61044
61045         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
61046         Reported by Albert Chin <china@thewrittenword.com>.
61047
61048 2007-10-14  Bruno Haible  <bruno@clisp.org>
61049
61050         * modules/iconv_open-utf-tests: New file.
61051         * tests/test-iconv-utf.c: New file.
61052
61053         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
61054         * modules/iconv_open-utf: New file.
61055         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
61056         (iconv, iconv_close): New declarations.
61057         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
61058         be defined.
61059         (iconv_open): Add special handling of conversion between UTF-8 and
61060         UTF-{16,32}{BE,LE}.
61061         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
61062         * lib/iconv_close.c: New file.
61063         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
61064         gl_FUNC_ICONV_OPEN.
61065         (gl_FUNC_ICONV_OPEN): Use it.
61066         (gl_FUNC_ICONV_OPEN_UTF): New macro.
61067         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
61068         and REPLACE_ICONV_UTF.
61069         * modules/iconv_open (Depends-on): Add c-strcase.
61070         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
61071         ICONV_CONST.
61072         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
61073
61074 2007-10-13  Albert Chin  <china@thewrittenword.com>
61075             Bruno Haible  <bruno@clisp.org>
61076
61077         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
61078         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
61079
61080 2007-10-13  Bruno Haible  <bruno@clisp.org>
61081
61082         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
61083         defined, use the ISO C99 inline semantics.
61084         * lib/argp.h (ARGP_EI): Likewise.
61085
61086 2007-10-13  Bruno Haible  <bruno@clisp.org>
61087
61088         Handle 'inline' change in gcc 4.3.0.
61089         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
61090         argp_fmtstream_write, argp_fmtstream_set_lmargin,
61091         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
61092         argp_fmtstream_point): Disable 'extern' declaration if the function
61093         definition is going to be provided inline.
61094         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
61095         semantics, not the ISO C99 inline semantics.
61096         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
61097         'extern' declaration if the function definition is going to be provided
61098         inline.
61099         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
61100         the GNU C inline semantics, not the ISO C99 inline semantics. With
61101         GCC 4.2, avoid a warning.
61102
61103 2007-10-13  Bruno Haible  <bruno@clisp.org>
61104
61105         * lib/freading.h (freading): Enable the use of __freading for
61106         glibc >= 2.7.
61107         * lib/freading.c (freading): Likewise.
61108
61109 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
61110
61111         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
61112         "warning: C99 inline functions are not supported; using GNU89".
61113
61114 2007-10-12  Bruno Haible  <bruno@clisp.org>
61115
61116         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
61117         of 2.
61118         * tests/test-ceilf2.c: New file.
61119         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
61120
61121         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
61122         * modules/ceilf-tests: Update.
61123
61124 2007-10-12  Bruno Haible  <bruno@clisp.org>
61125
61126         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
61127         of 2.
61128         * tests/test-floorf2.c: New file.
61129         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
61130
61131         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
61132         * modules/floorf-tests: Update.
61133
61134 2007-10-12  Bruno Haible  <bruno@clisp.org>
61135
61136         * tests/test-trunc2.c: New file.
61137         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
61138
61139         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
61140         * modules/trunc-tests: Update.
61141
61142 2007-10-12  Bruno Haible  <bruno@clisp.org>
61143
61144         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
61145         of 2.
61146         * tests/test-truncf2.c: New file.
61147         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
61148
61149         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
61150         * modules/truncf-tests: Update.
61151
61152 2007-10-11  Eric Blake  <ebb9@byu.net>
61153
61154         Don't claim strerror is broken on Interix.
61155         * doc/functions/strerror.texi (strerror): Known broken systems are
61156         now Solaris 8, and not Interix.
61157         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
61158         Interix on cross-compile.
61159         Reported by Martin Koeppe in
61160         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
61161
61162 2007-10-11  Bruno Haible  <bruno@clisp.org>
61163
61164         * modules/i-ring-tests: New file.
61165         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
61166         instead of assert.
61167
61168 2007-10-11  Bruno Haible  <bruno@clisp.org>
61169
61170         * modules/filenamecat-tests: New file.
61171         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
61172         * lib/filenamecat.c: Remove test code.
61173
61174 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
61175
61176         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
61177
61178         * lib/strerror.c: Include <string.h> always, to test interface,
61179         and to remove the need for the dummy.
61180         Include intprops.h to compute width instead of doing it ourselves
61181         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
61182         (strerror): Define it to return NULL if there's no system strerror.
61183         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
61184         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
61185         ancient pre-strerror Unix systems well any more.  Saying "unknown
61186         system error" is enough.
61187         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
61188         simpler strerror.c implementation.
61189         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
61190         Simplify the tests to reflect the simpler strerror implementation.
61191         * modules/strerror (Depends-on): Add intprops.
61192
61193 2007-10-09  Eric Blake  <ebb9@byu.net>
61194
61195         Silence test-fpending.
61196         * modules/fpending-tests (Files): Add wrapper script.
61197         * tests/test-fpending.sh: New file.
61198
61199 2007-10-09  Bruno Haible  <bruno@clisp.org>
61200
61201         * MODULES.html.sh (func_module): Don't create a hyperlink for
61202         function names like 'printf_frexp'.
61203         (Misc): Add crc, memxor.
61204         (Characteristics of floating types): New section.
61205         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
61206         isnanf-nolibm, signbit, trunc, truncf, truncl.
61207         (Enhancements for ISO C 99 functions): New subsection Input/output.
61208         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
61209         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
61210         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
61211         (Compatibility checks for POSIX:2001 functions): Add clock-time.
61212         (Enhancements for POSIX:2001 functions): Add chdir-long.
61213         (File system functions): Add areadlink, chdir-safer, read-file.
61214         Remove cycle-check.
61215         (File system as inode set): New section.
61216         (Date and time): Add gethrxtime.
61217         (Multithreading): Add openmp.
61218         (Internationalization functions): Add localename.
61219         (Unicode string functions): Add unistr/u*-mbsnlen.
61220         (Support for maintaining and releasing projects): Add git-version-gen.
61221         (Lone files): Remove directories.
61222
61223 2007-10-08  Ben Pfaff  <blp@gnu.org>
61224
61225         * lib/xmalloca.h: Fix typo in comment.
61226
61227 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
61228
61229         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
61230         when avoiding problems with integer overflow.  Use a portable test
61231         instead.
61232
61233 2007-10-08  Simon Josefsson  <simon@josefsson.org>
61234
61235         * modules/dummy (License): Change to LGPLv2+.
61236         * modules/float (License): Likewise
61237         * modules/realloc (License): Likewise
61238         * modules/stdlib (License): Likewise
61239
61240 2007-10-07  Bruno Haible  <bruno@clisp.org>
61241
61242         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
61243         * floor.c (TWO_MANT_DIG): Likewise.
61244         * ceil.c (TWO_MANT_DIG): Likewise.
61245         Reported by Ben Pfaff.
61246
61247 2007-10-07  Bruno Haible  <bruno@clisp.org>
61248
61249         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
61250         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
61251         * lib/frexp.c (FUNC): Likewise.
61252         * lib/printf-frexp.h (printf_frexp): Likewise.
61253         * lib/printf-frexpl.h (printf_frexpl): Likewise.
61254         * lib/printf-frexp.c (FUNC): Likewise.
61255         Suggested by Jim Meyering.
61256
61257 2007-10-07  Jim Meyering  <meyering@redhat.com>
61258
61259         Make xnanosleep's integer overflow test more robust.
61260         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
61261         so that gcc-4.3.0 doesn't optimize away this test for overflow.
61262
61263 2007-10-07  Bruno Haible  <bruno@clisp.org>
61264
61265         * NEWS: Mention the license change.
61266
61267         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
61268         abbreviations in the modules files.
61269
61270         Change copyright notice from GPLv2+ to GPLv3+.
61271         * README: Change copyright notice.
61272         * MODULES.html.sh: Likewise.
61273         * build-aux/bootstrap.conf: Likewise.
61274         * build-aux/config.libpath: Likewise.
61275         * build-aux/csharpcomp.sh.in: Likewise.
61276         * build-aux/csharpexec.sh.in: Likewise.
61277         * build-aux/install-reloc: Likewise.
61278         * build-aux/javacomp.sh.in: Likewise.
61279         * build-aux/javaexec.sh.in: Likewise.
61280         * build-aux/ldd.sh.in: Likewise.
61281         * build-aux/reloc-ldflags: Likewise.
61282         * build-aux/relocatable.sh.in: Likewise.
61283         * build-aux/x-to-1.in: Likewise.
61284         * check-module: Likewise.
61285         * config/srclistvars.sh: Likewise.
61286         * gnulib-tool: Likewise.
61287         * lib/acl-internal.h: Likewise.
61288         * lib/acl.c: Likewise.
61289         * lib/acl.h: Likewise.
61290         * lib/acl_entries.c: Likewise.
61291         * lib/areadlink-with-size.c: Likewise.
61292         * lib/areadlink.c: Likewise.
61293         * lib/areadlink.h: Likewise.
61294         * lib/argmatch.c: Likewise.
61295         * lib/argmatch.h: Likewise.
61296         * lib/argp-ba.c: Likewise.
61297         * lib/argp-eexst.c: Likewise.
61298         * lib/argp-fmtstream.c: Likewise.
61299         * lib/argp-fmtstream.h: Likewise.
61300         * lib/argp-fs-xinl.c: Likewise.
61301         * lib/argp-help.c: Likewise.
61302         * lib/argp-namefrob.h: Likewise.
61303         * lib/argp-parse.c: Likewise.
61304         * lib/argp-pin.c: Likewise.
61305         * lib/argp-pv.c: Likewise.
61306         * lib/argp-pvh.c: Likewise.
61307         * lib/argp-xinl.c: Likewise.
61308         * lib/argp.h: Likewise.
61309         * lib/at-func.c: Likewise.
61310         * lib/atanl.c: Likewise.
61311         * lib/backupfile.c: Likewise.
61312         * lib/backupfile.h: Likewise.
61313         * lib/basename.c: Likewise.
61314         * lib/binary-io.h: Likewise.
61315         * lib/byteswap.in.h: Likewise.
61316         * lib/c-stack.c: Likewise.
61317         * lib/c-stack.h: Likewise.
61318         * lib/c-strcasestr.c: Likewise.
61319         * lib/c-strcasestr.h: Likewise.
61320         * lib/c-strstr.c: Likewise.
61321         * lib/c-strstr.h: Likewise.
61322         * lib/c-strtod.c: Likewise.
61323         * lib/calloc.c: Likewise.
61324         * lib/canon-host.c: Likewise.
61325         * lib/canon-host.h: Likewise.
61326         * lib/canonicalize-lgpl.c: Likewise.
61327         * lib/canonicalize.c: Likewise.
61328         * lib/canonicalize.h: Likewise.
61329         * lib/ceil.c: Likewise.
61330         * lib/ceilf.c: Likewise.
61331         * lib/ceill.c: Likewise.
61332         * lib/chdir-long.c: Likewise.
61333         * lib/chdir-long.h: Likewise.
61334         * lib/chdir-safer.c: Likewise.
61335         * lib/chdir-safer.h: Likewise.
61336         * lib/chown.c: Likewise.
61337         * lib/classpath.c: Likewise.
61338         * lib/classpath.h: Likewise.
61339         * lib/clean-temp.c: Likewise.
61340         * lib/clean-temp.h: Likewise.
61341         * lib/cloexec.c: Likewise.
61342         * lib/close-stream.c: Likewise.
61343         * lib/closein.c: Likewise.
61344         * lib/closein.h: Likewise.
61345         * lib/closeout.c: Likewise.
61346         * lib/closeout.h: Likewise.
61347         * lib/concat-filename.c: Likewise.
61348         * lib/copy-file.c: Likewise.
61349         * lib/copy-file.h: Likewise.
61350         * lib/count-one-bits.h: Likewise.
61351         * lib/crc.c: Likewise.
61352         * lib/crc.h: Likewise.
61353         * lib/creat-safer.c: Likewise.
61354         * lib/csharpcomp.c: Likewise.
61355         * lib/csharpcomp.h: Likewise.
61356         * lib/csharpexec.c: Likewise.
61357         * lib/csharpexec.h: Likewise.
61358         * lib/cycle-check.c: Likewise.
61359         * lib/cycle-check.h: Likewise.
61360         * lib/diacrit.c: Likewise.
61361         * lib/diacrit.h: Likewise.
61362         * lib/diffseq.h: Likewise.
61363         * lib/dirchownmod.c: Likewise.
61364         * lib/dirent.in.h: Likewise.
61365         * lib/dirfd.c: Likewise.
61366         * lib/dirfd.h: Likewise.
61367         * lib/dirname.c: Likewise.
61368         * lib/dirname.h: Likewise.
61369         * lib/dummy.c: Likewise.
61370         * lib/dup-safer.c: Likewise.
61371         * lib/dup2.c: Likewise.
61372         * lib/eealloc.h: Likewise.
61373         * lib/error.c: Likewise.
61374         * lib/error.h: Likewise.
61375         * lib/euidaccess.c: Likewise.
61376         * lib/exclude.c: Likewise.
61377         * lib/exclude.h: Likewise.
61378         * lib/execute.c: Likewise.
61379         * lib/execute.h: Likewise.
61380         * lib/exitfail.c: Likewise.
61381         * lib/exitfail.h: Likewise.
61382         * lib/expl.c: Likewise.
61383         * lib/fatal-signal.c: Likewise.
61384         * lib/fatal-signal.h: Likewise.
61385         * lib/fbufmode.c: Likewise.
61386         * lib/fbufmode.h: Likewise.
61387         * lib/fchdir.c: Likewise.
61388         * lib/fchmodat.c: Likewise.
61389         * lib/fchownat.c: Likewise.
61390         * lib/fcntl--.h: Likewise.
61391         * lib/fcntl-safer.h: Likewise.
61392         * lib/fcntl.in.h: Likewise.
61393         * lib/fd-safer.c: Likewise.
61394         * lib/fflush.c: Likewise.
61395         * lib/file-has-acl.c: Likewise.
61396         * lib/file-set.c: Likewise.
61397         * lib/file-type.c: Likewise.
61398         * lib/file-type.h: Likewise.
61399         * lib/fileblocks.c: Likewise.
61400         * lib/filemode.c: Likewise.
61401         * lib/filemode.h: Likewise.
61402         * lib/filename.h: Likewise.
61403         * lib/filenamecat.c: Likewise.
61404         * lib/filenamecat.h: Likewise.
61405         * lib/findprog.c: Likewise.
61406         * lib/findprog.h: Likewise.
61407         * lib/float.in.h: Likewise.
61408         * lib/floor.c: Likewise.
61409         * lib/floorf.c: Likewise.
61410         * lib/floorl.c: Likewise.
61411         * lib/fopen-safer.c: Likewise.
61412         * lib/fopen.c: Likewise.
61413         * lib/fpending.c: Likewise.
61414         * lib/fpending.h: Likewise.
61415         * lib/fprintf.c: Likewise.
61416         * lib/fprintftime.h: Likewise.
61417         * lib/fpucw.h: Likewise.
61418         * lib/fpurge.c: Likewise.
61419         * lib/fpurge.h: Likewise.
61420         * lib/freadable.c: Likewise.
61421         * lib/freadable.h: Likewise.
61422         * lib/freadahead.c: Likewise.
61423         * lib/freadahead.h: Likewise.
61424         * lib/freading.c: Likewise.
61425         * lib/freading.h: Likewise.
61426         * lib/free.c: Likewise.
61427         * lib/freopen.c: Likewise.
61428         * lib/frexp.c: Likewise.
61429         * lib/frexpl.c: Likewise.
61430         * lib/fseek.c: Likewise.
61431         * lib/fseterr.c: Likewise.
61432         * lib/fseterr.h: Likewise.
61433         * lib/fstatat.c: Likewise.
61434         * lib/fstrcmp.c: Likewise.
61435         * lib/fstrcmp.h: Likewise.
61436         * lib/fsusage.c: Likewise.
61437         * lib/fsusage.h: Likewise.
61438         * lib/ftell.c: Likewise.
61439         * lib/ftello.c: Likewise.
61440         * lib/fts-cycle.c: Likewise.
61441         * lib/fts.c: Likewise.
61442         * lib/fts_.h: Likewise.
61443         * lib/full-read.c: Likewise.
61444         * lib/full-read.h: Likewise.
61445         * lib/full-write.c: Likewise.
61446         * lib/full-write.h: Likewise.
61447         * lib/fwritable.c: Likewise.
61448         * lib/fwritable.h: Likewise.
61449         * lib/fwriteerror.c: Likewise.
61450         * lib/fwriteerror.h: Likewise.
61451         * lib/fwriting.c: Likewise.
61452         * lib/fwriting.h: Likewise.
61453         * lib/gcd.c: Likewise.
61454         * lib/gcd.h: Likewise.
61455         * lib/getcwd.c: Likewise.
61456         * lib/getdate.h: Likewise.
61457         * lib/getdate.y: Likewise.
61458         * lib/getdomainname.c: Likewise.
61459         * lib/getdomainname.h: Likewise.
61460         * lib/getgroups.c: Likewise.
61461         * lib/gethostname.c: Likewise.
61462         * lib/gethrxtime.c: Likewise.
61463         * lib/gethrxtime.h: Likewise.
61464         * lib/getloadavg.c: Likewise.
61465         * lib/getndelim2.c: Likewise.
61466         * lib/getndelim2.h: Likewise.
61467         * lib/getnline.c: Likewise.
61468         * lib/getnline.h: Likewise.
61469         * lib/getopt.c: Likewise.
61470         * lib/getopt.in.h: Likewise.
61471         * lib/getopt1.c: Likewise.
61472         * lib/getopt_int.h: Likewise.
61473         * lib/getpagesize.h: Likewise.
61474         * lib/getsubopt.c: Likewise.
61475         * lib/gettime.c: Likewise.
61476         * lib/getugroups.c: Likewise.
61477         * lib/getugroups.h: Likewise.
61478         * lib/getusershell.c: Likewise.
61479         * lib/gl_anyavltree_list1.h: Likewise.
61480         * lib/gl_anyavltree_list2.h: Likewise.
61481         * lib/gl_anyhash_list1.h: Likewise.
61482         * lib/gl_anyhash_list2.h: Likewise.
61483         * lib/gl_anylinked_list1.h: Likewise.
61484         * lib/gl_anylinked_list2.h: Likewise.
61485         * lib/gl_anyrbtree_list1.h: Likewise.
61486         * lib/gl_anyrbtree_list2.h: Likewise.
61487         * lib/gl_anytree_list1.h: Likewise.
61488         * lib/gl_anytree_list2.h: Likewise.
61489         * lib/gl_anytree_oset.h: Likewise.
61490         * lib/gl_anytreehash_list1.h: Likewise.
61491         * lib/gl_anytreehash_list2.h: Likewise.
61492         * lib/gl_array_list.c: Likewise.
61493         * lib/gl_array_list.h: Likewise.
61494         * lib/gl_array_oset.c: Likewise.
61495         * lib/gl_array_oset.h: Likewise.
61496         * lib/gl_avltree_list.c: Likewise.
61497         * lib/gl_avltree_list.h: Likewise.
61498         * lib/gl_avltree_oset.c: Likewise.
61499         * lib/gl_avltree_oset.h: Likewise.
61500         * lib/gl_avltreehash_list.c: Likewise.
61501         * lib/gl_avltreehash_list.h: Likewise.
61502         * lib/gl_carray_list.c: Likewise.
61503         * lib/gl_carray_list.h: Likewise.
61504         * lib/gl_linked_list.c: Likewise.
61505         * lib/gl_linked_list.h: Likewise.
61506         * lib/gl_linkedhash_list.c: Likewise.
61507         * lib/gl_linkedhash_list.h: Likewise.
61508         * lib/gl_list.c: Likewise.
61509         * lib/gl_list.h: Likewise.
61510         * lib/gl_oset.c: Likewise.
61511         * lib/gl_oset.h: Likewise.
61512         * lib/gl_rbtree_list.c: Likewise.
61513         * lib/gl_rbtree_list.h: Likewise.
61514         * lib/gl_rbtree_oset.c: Likewise.
61515         * lib/gl_rbtree_oset.h: Likewise.
61516         * lib/gl_rbtreehash_list.c: Likewise.
61517         * lib/gl_rbtreehash_list.h: Likewise.
61518         * lib/gl_sublist.c: Likewise.
61519         * lib/gl_sublist.h: Likewise.
61520         * lib/group-member.c: Likewise.
61521         * lib/group-member.h: Likewise.
61522         * lib/hard-locale.c: Likewise.
61523         * lib/hard-locale.h: Likewise.
61524         * lib/hash-pjw.c: Likewise.
61525         * lib/hash-pjw.h: Likewise.
61526         * lib/hash-triple.c: Likewise.
61527         * lib/hash.c: Likewise.
61528         * lib/hash.h: Likewise.
61529         * lib/human.c: Likewise.
61530         * lib/human.h: Likewise.
61531         * lib/i-ring.c: Likewise.
61532         * lib/i-ring.h: Likewise.
61533         * lib/idcache.c: Likewise.
61534         * lib/imaxabs.c: Likewise.
61535         * lib/imaxdiv.c: Likewise.
61536         * lib/inet_pton.c: Likewise.
61537         * lib/inet_pton.h: Likewise.
61538         * lib/intprops.h: Likewise.
61539         * lib/inttostr.c: Likewise.
61540         * lib/inttostr.h: Likewise.
61541         * lib/inttypes.in.h: Likewise.
61542         * lib/isapipe.c: Likewise.
61543         * lib/isdir.c: Likewise.
61544         * lib/isnan.c: Likewise.
61545         * lib/isnan.h: Likewise.
61546         * lib/isnanf.c: Likewise.
61547         * lib/isnanf.h: Likewise.
61548         * lib/isnanl-nolibm.h: Likewise.
61549         * lib/isnanl.c: Likewise.
61550         * lib/isnanl.h: Likewise.
61551         * lib/javacomp.c: Likewise.
61552         * lib/javacomp.h: Likewise.
61553         * lib/javaexec.c: Likewise.
61554         * lib/javaexec.h: Likewise.
61555         * lib/javaversion.c: Likewise.
61556         * lib/javaversion.h: Likewise.
61557         * lib/javaversion.java: Likewise.
61558         * lib/lbrkprop.h: Likewise.
61559         * lib/lchmod.h: Likewise.
61560         * lib/lchown.c: Likewise.
61561         * lib/ldexpl.c: Likewise.
61562         * lib/linebreak.c: Likewise.
61563         * lib/linebreak.h: Likewise.
61564         * lib/linebuffer.c: Likewise.
61565         * lib/linebuffer.h: Likewise.
61566         * lib/locale.in.h: Likewise.
61567         * lib/logl.c: Likewise.
61568         * lib/long-options.c: Likewise.
61569         * lib/long-options.h: Likewise.
61570         * lib/lstat.c: Likewise.
61571         * lib/lstat.h: Likewise.
61572         * lib/math.in.h: Likewise.
61573         * lib/mbchar.c: Likewise.
61574         * lib/mbchar.h: Likewise.
61575         * lib/mbfile.h: Likewise.
61576         * lib/mbiter.h: Likewise.
61577         * lib/mbscasecmp.c: Likewise.
61578         * lib/mbscasestr.c: Likewise.
61579         * lib/mbschr.c: Likewise.
61580         * lib/mbscspn.c: Likewise.
61581         * lib/mbslen.c: Likewise.
61582         * lib/mbsncasecmp.c: Likewise.
61583         * lib/mbsnlen.c: Likewise.
61584         * lib/mbspbrk.c: Likewise.
61585         * lib/mbspcasecmp.c: Likewise.
61586         * lib/mbsrchr.c: Likewise.
61587         * lib/mbssep.c: Likewise.
61588         * lib/mbsspn.c: Likewise.
61589         * lib/mbsstr.c: Likewise.
61590         * lib/mbstok_r.c: Likewise.
61591         * lib/mbswidth.c: Likewise.
61592         * lib/mbswidth.h: Likewise.
61593         * lib/mbuiter.h: Likewise.
61594         * lib/memcasecmp.c: Likewise.
61595         * lib/memcasecmp.h: Likewise.
61596         * lib/memchr.c: Likewise.
61597         * lib/memcmp.c: Likewise.
61598         * lib/memcoll.c: Likewise.
61599         * lib/memcoll.h: Likewise.
61600         * lib/memcpy.c: Likewise.
61601         * lib/memrchr.c: Likewise.
61602         * lib/mkancesdirs.c: Likewise.
61603         * lib/mkdir-p.c: Likewise.
61604         * lib/mkdir-p.h: Likewise.
61605         * lib/mkdir.c: Likewise.
61606         * lib/mkdirat.c: Likewise.
61607         * lib/mkdtemp.c: Likewise.
61608         * lib/mkstemp-safer.c: Likewise.
61609         * lib/mkstemp.c: Likewise.
61610         * lib/modechange.c: Likewise.
61611         * lib/modechange.h: Likewise.
61612         * lib/mountlist.c: Likewise.
61613         * lib/mountlist.h: Likewise.
61614         * lib/mpsort.c: Likewise.
61615         * lib/nanosleep.c: Likewise.
61616         * lib/obstack.c: Likewise.
61617         * lib/obstack.h: Likewise.
61618         * lib/open-safer.c: Likewise.
61619         * lib/open.c: Likewise.
61620         * lib/openat-die.c: Likewise.
61621         * lib/openat-priv.h: Likewise.
61622         * lib/openat-proc.c: Likewise.
61623         * lib/openat.c: Likewise.
61624         * lib/openat.h: Likewise.
61625         * lib/pagealign_alloc.c: Likewise.
61626         * lib/pagealign_alloc.h: Likewise.
61627         * lib/physmem.c: Likewise.
61628         * lib/physmem.h: Likewise.
61629         * lib/pipe-safer.c: Likewise.
61630         * lib/pipe.c: Likewise.
61631         * lib/pipe.h: Likewise.
61632         * lib/posixtm.c: Likewise.
61633         * lib/posixtm.h: Likewise.
61634         * lib/posixver.c: Likewise.
61635         * lib/printf-frexp.c: Likewise.
61636         * lib/printf-frexp.h: Likewise.
61637         * lib/printf-frexpl.c: Likewise.
61638         * lib/printf-frexpl.h: Likewise.
61639         * lib/printf.c: Likewise.
61640         * lib/progname.c: Likewise.
61641         * lib/progname.h: Likewise.
61642         * lib/progreloc.c: Likewise.
61643         * lib/putenv.c: Likewise.
61644         * lib/quote.c: Likewise.
61645         * lib/quote.h: Likewise.
61646         * lib/quotearg.c: Likewise.
61647         * lib/quotearg.h: Likewise.
61648         * lib/raise.c: Likewise.
61649         * lib/readline.c: Likewise.
61650         * lib/readline.h: Likewise.
61651         * lib/readlink.c: Likewise.
61652         * lib/readtokens.c: Likewise.
61653         * lib/readtokens.h: Likewise.
61654         * lib/readtokens0.c: Likewise.
61655         * lib/readtokens0.h: Likewise.
61656         * lib/readutmp.c: Likewise.
61657         * lib/readutmp.h: Likewise.
61658         * lib/realloc.c: Likewise.
61659         * lib/relocwrapper.c: Likewise.
61660         * lib/rename-dest-slash.c: Likewise.
61661         * lib/rename.c: Likewise.
61662         * lib/rmdir.c: Likewise.
61663         * lib/rpmatch.c: Likewise.
61664         * lib/safe-read.c: Likewise.
61665         * lib/safe-read.h: Likewise.
61666         * lib/safe-write.c: Likewise.
61667         * lib/safe-write.h: Likewise.
61668         * lib/same-inode.h: Likewise.
61669         * lib/same.c: Likewise.
61670         * lib/same.h: Likewise.
61671         * lib/save-cwd.c: Likewise.
61672         * lib/save-cwd.h: Likewise.
61673         * lib/savedir.c: Likewise.
61674         * lib/savedir.h: Likewise.
61675         * lib/savewd.c: Likewise.
61676         * lib/savewd.h: Likewise.
61677         * lib/search.in.h: Likewise.
61678         * lib/setenv.c: Likewise.
61679         * lib/setenv.h: Likewise.
61680         * lib/settime.c: Likewise.
61681         * lib/sh-quote.c: Likewise.
61682         * lib/sh-quote.h: Likewise.
61683         * lib/sig2str.c: Likewise.
61684         * lib/sig2str.h: Likewise.
61685         * lib/signal.in.h: Likewise.
61686         * lib/signbitd.c: Likewise.
61687         * lib/signbitf.c: Likewise.
61688         * lib/signbitl.c: Likewise.
61689         * lib/sigprocmask.c: Likewise.
61690         * lib/sincosl.c: Likewise.
61691         * lib/sleep.c: Likewise.
61692         * lib/sprintf.c: Likewise.
61693         * lib/sqrtl.c: Likewise.
61694         * lib/stat-time.h: Likewise.
61695         * lib/stdio--.h: Likewise.
61696         * lib/stdio-safer.h: Likewise.
61697         * lib/stdlib--.h: Likewise.
61698         * lib/stdlib-safer.h: Likewise.
61699         * lib/stdlib.in.h: Likewise.
61700         * lib/stpcpy.c: Likewise.
61701         * lib/stpncpy.c: Likewise.
61702         * lib/strchrnul.c: Likewise.
61703         * lib/strcspn.c: Likewise.
61704         * lib/strerror.c: Likewise.
61705         * lib/strftime.c: Likewise.
61706         * lib/strftime.h: Likewise.
61707         * lib/striconveh.c: Likewise.
61708         * lib/striconveh.h: Likewise.
61709         * lib/striconveha.c: Likewise.
61710         * lib/striconveha.h: Likewise.
61711         * lib/stripslash.c: Likewise.
61712         * lib/strnlen1.c: Likewise.
61713         * lib/strnlen1.h: Likewise.
61714         * lib/strtod.c: Likewise.
61715         * lib/strtoimax.c: Likewise.
61716         * lib/strtok_r.c: Likewise.
61717         * lib/strtol.c: Likewise.
61718         * lib/strtoll.c: Likewise.
61719         * lib/strtoul.c: Likewise.
61720         * lib/strtoull.c: Likewise.
61721         * lib/sysexits.in.h: Likewise.
61722         * lib/tempname.c: Likewise.
61723         * lib/tempname.h: Likewise.
61724         * lib/timespec.h: Likewise.
61725         * lib/tls.c: Likewise.
61726         * lib/tls.h: Likewise.
61727         * lib/tmpdir.c: Likewise.
61728         * lib/tmpdir.h: Likewise.
61729         * lib/tmpfile-safer.c: Likewise.
61730         * lib/tmpfile.c: Likewise.
61731         * lib/trigl.c: Likewise.
61732         * lib/trigl.h: Likewise.
61733         * lib/trim.c: Likewise.
61734         * lib/trim.h: Likewise.
61735         * lib/trunc.c: Likewise.
61736         * lib/truncf.c: Likewise.
61737         * lib/truncl.c: Likewise.
61738         * lib/tsearch.c: Likewise.
61739         * lib/unicodeio.c: Likewise.
61740         * lib/unicodeio.h: Likewise.
61741         * lib/unistd--.h: Likewise.
61742         * lib/unistd-safer.h: Likewise.
61743         * lib/unistdio/ulc-fprintf.c: Likewise.
61744         * lib/unistdio/ulc-vfprintf.c: Likewise.
61745         * lib/unlinkdir.c: Likewise.
61746         * lib/unlinkdir.h: Likewise.
61747         * lib/unlocked-io.h: Likewise.
61748         * lib/unsetenv.c: Likewise.
61749         * lib/userspec.c: Likewise.
61750         * lib/utime.c: Likewise.
61751         * lib/utimecmp.c: Likewise.
61752         * lib/utimecmp.h: Likewise.
61753         * lib/utimens.c: Likewise.
61754         * lib/verify.h: Likewise.
61755         * lib/verror.c: Likewise.
61756         * lib/verror.h: Likewise.
61757         * lib/version-etc-fsf.c: Likewise.
61758         * lib/version-etc.c: Likewise.
61759         * lib/version-etc.h: Likewise.
61760         * lib/vfprintf.c: Likewise.
61761         * lib/vprintf.c: Likewise.
61762         * lib/vsprintf.c: Likewise.
61763         * lib/w32spawn.h: Likewise.
61764         * lib/wait-process.c: Likewise.
61765         * lib/wait-process.h: Likewise.
61766         * lib/wcwidth.c: Likewise.
61767         * lib/write-any-file.c: Likewise.
61768         * lib/xalloc-die.c: Likewise.
61769         * lib/xalloc.h: Likewise.
61770         * lib/xasprintf.c: Likewise.
61771         * lib/xgetcwd.c: Likewise.
61772         * lib/xgetcwd.h: Likewise.
61773         * lib/xgetdomainname.c: Likewise.
61774         * lib/xgetdomainname.h: Likewise.
61775         * lib/xgethostname.c: Likewise.
61776         * lib/xmalloc.c: Likewise.
61777         * lib/xmalloca.c: Likewise.
61778         * lib/xmalloca.h: Likewise.
61779         * lib/xmemcoll.c: Likewise.
61780         * lib/xnanosleep.c: Likewise.
61781         * lib/xreadlink.c: Likewise.
61782         * lib/xreadlink.h: Likewise.
61783         * lib/xsetenv.c: Likewise.
61784         * lib/xsetenv.h: Likewise.
61785         * lib/xstriconv.c: Likewise.
61786         * lib/xstriconv.h: Likewise.
61787         * lib/xstrndup.c: Likewise.
61788         * lib/xstrndup.h: Likewise.
61789         * lib/xstrtod.c: Likewise.
61790         * lib/xstrtod.h: Likewise.
61791         * lib/xstrtol-error.c: Likewise.
61792         * lib/xstrtol.c: Likewise.
61793         * lib/xstrtol.h: Likewise.
61794         * lib/xtime.h: Likewise.
61795         * lib/xvasprintf.c: Likewise.
61796         * lib/xvasprintf.h: Likewise.
61797         * lib/yesno.c: Likewise.
61798         * lib/yesno.h: Likewise.
61799         * posix-modules: Likewise.
61800         * tests/test-alloca-opt.c: Likewise.
61801         * tests/test-arcfour.c: Likewise.
61802         * tests/test-arctwo.c: Likewise.
61803         * tests/test-argmatch.c: Likewise.
61804         * tests/test-argp-2.sh: Likewise.
61805         * tests/test-argp.c: Likewise.
61806         * tests/test-arpa_inet.c: Likewise.
61807         * tests/test-array_list.c: Likewise.
61808         * tests/test-array_oset.c: Likewise.
61809         * tests/test-atexit.c: Likewise.
61810         * tests/test-avltree_list.c: Likewise.
61811         * tests/test-avltree_oset.c: Likewise.
61812         * tests/test-avltreehash_list.c: Likewise.
61813         * tests/test-base64.c: Likewise.
61814         * tests/test-binary-io.c: Likewise.
61815         * tests/test-byteswap.c: Likewise.
61816         * tests/test-c-ctype.c: Likewise.
61817         * tests/test-c-strcasecmp.c: Likewise.
61818         * tests/test-c-strcasestr.c: Likewise.
61819         * tests/test-c-strncasecmp.c: Likewise.
61820         * tests/test-c-strstr.c: Likewise.
61821         * tests/test-canonicalize-lgpl.c: Likewise.
61822         * tests/test-canonicalize.c: Likewise.
61823         * tests/test-carray_list.c: Likewise.
61824         * tests/test-ceilf.c: Likewise.
61825         * tests/test-ceill.c: Likewise.
61826         * tests/test-count-one-bits.c: Likewise.
61827         * tests/test-crc.c: Likewise.
61828         * tests/test-dirname.c: Likewise.
61829         * tests/test-fbufmode.c: Likewise.
61830         * tests/test-fcntl.c: Likewise.
61831         * tests/test-fflush.c: Likewise.
61832         * tests/test-floorf.c: Likewise.
61833         * tests/test-floorl.c: Likewise.
61834         * tests/test-fopen.c: Likewise.
61835         * tests/test-fprintf-posix.c: Likewise.
61836         * tests/test-fprintf-posix.h: Likewise.
61837         * tests/test-fpurge.c: Likewise.
61838         * tests/test-freadable.c: Likewise.
61839         * tests/test-freadahead.c: Likewise.
61840         * tests/test-freading.c: Likewise.
61841         * tests/test-freopen.c: Likewise.
61842         * tests/test-frexp.c: Likewise.
61843         * tests/test-frexpl.c: Likewise.
61844         * tests/test-fseek.c: Likewise.
61845         * tests/test-fseeko.c: Likewise.
61846         * tests/test-fseterr.c: Likewise.
61847         * tests/test-fstrcmp.c: Likewise.
61848         * tests/test-ftell.c: Likewise.
61849         * tests/test-ftello.c: Likewise.
61850         * tests/test-fwritable.c: Likewise.
61851         * tests/test-fwriting.c: Likewise.
61852         * tests/test-getaddrinfo.c: Likewise.
61853         * tests/test-getpass.c: Likewise.
61854         * tests/test-gettimeofday.c: Likewise.
61855         * tests/test-hmac-md5.c: Likewise.
61856         * tests/test-hmac-sha1.c: Likewise.
61857         * tests/test-iconv.c: Likewise.
61858         * tests/test-iconvme.c: Likewise.
61859         * tests/test-inttypes.c: Likewise.
61860         * tests/test-isnan.c: Likewise.
61861         * tests/test-isnanf.c: Likewise.
61862         * tests/test-isnanl-nolibm.c: Likewise.
61863         * tests/test-isnanl.c: Likewise.
61864         * tests/test-isnanl.h: Likewise.
61865         * tests/test-ldexpl.c: Likewise.
61866         * tests/test-linked_list.c: Likewise.
61867         * tests/test-linkedhash_list.c: Likewise.
61868         * tests/test-locale.c: Likewise.
61869         * tests/test-localename.c: Likewise.
61870         * tests/test-lock.c: Likewise.
61871         * tests/test-lseek.c: Likewise.
61872         * tests/test-malloca.c: Likewise.
61873         * tests/test-math.c: Likewise.
61874         * tests/test-mbscasecmp.c: Likewise.
61875         * tests/test-mbscasestr1.c: Likewise.
61876         * tests/test-mbscasestr2.c: Likewise.
61877         * tests/test-mbscasestr3.c: Likewise.
61878         * tests/test-mbscasestr4.c: Likewise.
61879         * tests/test-mbschr.c: Likewise.
61880         * tests/test-mbscspn.c: Likewise.
61881         * tests/test-mbsncasecmp.c: Likewise.
61882         * tests/test-mbspbrk.c: Likewise.
61883         * tests/test-mbspcasecmp.c: Likewise.
61884         * tests/test-mbsrchr.c: Likewise.
61885         * tests/test-mbsspn.c: Likewise.
61886         * tests/test-mbsstr1.c: Likewise.
61887         * tests/test-mbsstr2.c: Likewise.
61888         * tests/test-mbsstr3.c: Likewise.
61889         * tests/test-md5.c: Likewise.
61890         * tests/test-memmem.c: Likewise.
61891         * tests/test-netinet_in.c: Likewise.
61892         * tests/test-open.c: Likewise.
61893         * tests/test-printf-frexp.c: Likewise.
61894         * tests/test-printf-frexpl.c: Likewise.
61895         * tests/test-printf-posix.c: Likewise.
61896         * tests/test-printf-posix.h: Likewise.
61897         * tests/test-rbtree_list.c: Likewise.
61898         * tests/test-rbtree_oset.c: Likewise.
61899         * tests/test-rbtreehash_list.c: Likewise.
61900         * tests/test-read-file.c: Likewise.
61901         * tests/test-rijndael.c: Likewise.
61902         * tests/test-search.c: Likewise.
61903         * tests/test-signbit.c: Likewise.
61904         * tests/test-sleep.c: Likewise.
61905         * tests/test-snprintf-posix.c: Likewise.
61906         * tests/test-snprintf-posix.h: Likewise.
61907         * tests/test-snprintf.c: Likewise.
61908         * tests/test-sprintf-posix.c: Likewise.
61909         * tests/test-sprintf-posix.h: Likewise.
61910         * tests/test-stat-time.c: Likewise.
61911         * tests/test-stdbool.c: Likewise.
61912         * tests/test-stdint.c: Likewise.
61913         * tests/test-stdio.c: Likewise.
61914         * tests/test-stdlib.c: Likewise.
61915         * tests/test-stpncpy.c: Likewise.
61916         * tests/test-strcasestr.c: Likewise.
61917         * tests/test-striconv.c: Likewise.
61918         * tests/test-striconveh.c: Likewise.
61919         * tests/test-striconveha.c: Likewise.
61920         * tests/test-string.c: Likewise.
61921         * tests/test-sys_select.c: Likewise.
61922         * tests/test-sys_socket.c: Likewise.
61923         * tests/test-sys_stat.c: Likewise.
61924         * tests/test-sys_time.c: Likewise.
61925         * tests/test-sysexits.c: Likewise.
61926         * tests/test-time.c: Likewise.
61927         * tests/test-tls.c: Likewise.
61928         * tests/test-trunc.c: Likewise.
61929         * tests/test-truncf.c: Likewise.
61930         * tests/test-truncl.c: Likewise.
61931         * tests/test-unistd.c: Likewise.
61932         * tests/test-vasnprintf-posix.c: Likewise.
61933         * tests/test-vasnprintf-posix2.c: Likewise.
61934         * tests/test-vasnprintf.c: Likewise.
61935         * tests/test-vasprintf-posix.c: Likewise.
61936         * tests/test-vasprintf.c: Likewise.
61937         * tests/test-verify.c: Likewise.
61938         * tests/test-vfprintf-posix.c: Likewise.
61939         * tests/test-vprintf-posix.c: Likewise.
61940         * tests/test-vsnprintf-posix.c: Likewise.
61941         * tests/test-vsnprintf.c: Likewise.
61942         * tests/test-vsprintf-posix.c: Likewise.
61943         * tests/test-wchar.c: Likewise.
61944         * tests/test-wctype.c: Likewise.
61945         * tests/test-wcwidth.c: Likewise.
61946         * tests/test-xstrtol.c: Likewise.
61947         * tests/test-xvasprintf.c: Likewise.
61948         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
61949         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
61950         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
61951         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
61952         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
61953         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
61954         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
61955         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
61956         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
61957         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
61958         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
61959         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
61960         * tests/uniname/test-uninames.c: Likewise.
61961         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
61962         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
61963         * tests/unistdio/test-u16-printf1.h: Likewise.
61964         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
61965         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
61966         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
61967         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
61968         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
61969         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
61970         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
61971         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
61972         * tests/unistdio/test-u32-printf1.h: Likewise.
61973         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
61974         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
61975         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
61976         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
61977         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
61978         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
61979         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
61980         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
61981         * tests/unistdio/test-u8-printf1.h: Likewise.
61982         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
61983         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
61984         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
61985         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
61986         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
61987         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
61988         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
61989         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
61990         * tests/unistdio/test-ulc-printf1.h: Likewise.
61991         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
61992         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
61993         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
61994         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
61995         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
61996         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
61997         * tests/uniwidth/test-u16-strwidth.c: Likewise.
61998         * tests/uniwidth/test-u16-width.c: Likewise.
61999         * tests/uniwidth/test-u32-strwidth.c: Likewise.
62000         * tests/uniwidth/test-u32-width.c: Likewise.
62001         * tests/uniwidth/test-u8-strwidth.c: Likewise.
62002         * tests/uniwidth/test-u8-width.c: Likewise.
62003         * tests/uniwidth/test-uc_width.c: Likewise.
62004         * config/srclist-update: Likewise.
62005         (fixlicense): Update to GPLv3+.
62006
62007         Change copyright notice from LGPLv2.1+ to LGPLv3+.
62008         * tests/test-tsearch.c: Change copyright notice.
62009
62010         Change copyright notice from LGPLv2.0+ to LGPLv3+.
62011         * lib/c-strcaseeq.h: Change copyright notice.
62012         * lib/streq.h: Likewise.
62013         * lib/uniconv.h: Likewise.
62014         * lib/uniconv/u-conv-from-enc.h: Likewise.
62015         * lib/uniconv/u-conv-to-enc.h: Likewise.
62016         * lib/uniconv/u-strconv-from-enc.h: Likewise.
62017         * lib/uniconv/u-strconv-to-enc.h: Likewise.
62018         * lib/uniconv/u16-conv-from-enc.c: Likewise.
62019         * lib/uniconv/u16-conv-to-enc.c: Likewise.
62020         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
62021         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
62022         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
62023         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
62024         * lib/uniconv/u32-conv-from-enc.c: Likewise.
62025         * lib/uniconv/u32-conv-to-enc.c: Likewise.
62026         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
62027         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
62028         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
62029         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
62030         * lib/uniconv/u8-conv-from-enc.c: Likewise.
62031         * lib/uniconv/u8-conv-to-enc.c: Likewise.
62032         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
62033         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
62034         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
62035         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
62036         * lib/uniname.h: Likewise.
62037         * lib/uniname/uniname.c: Likewise.
62038         * lib/unistdio.h: Likewise.
62039         * lib/unistdio/u-asnprintf.h: Likewise.
62040         * lib/unistdio/u-asprintf.h: Likewise.
62041         * lib/unistdio/u-printf-args.c: Likewise.
62042         * lib/unistdio/u-printf-args.h: Likewise.
62043         * lib/unistdio/u-printf-parse.h: Likewise.
62044         * lib/unistdio/u-snprintf.h: Likewise.
62045         * lib/unistdio/u-sprintf.h: Likewise.
62046         * lib/unistdio/u-vasprintf.h: Likewise.
62047         * lib/unistdio/u-vsnprintf.h: Likewise.
62048         * lib/unistdio/u-vsprintf.h: Likewise.
62049         * lib/unistdio/u16-asnprintf.c: Likewise.
62050         * lib/unistdio/u16-asprintf.c: Likewise.
62051         * lib/unistdio/u16-printf-parse.c: Likewise.
62052         * lib/unistdio/u16-snprintf.c: Likewise.
62053         * lib/unistdio/u16-sprintf.c: Likewise.
62054         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
62055         * lib/unistdio/u16-u16-asprintf.c: Likewise.
62056         * lib/unistdio/u16-u16-snprintf.c: Likewise.
62057         * lib/unistdio/u16-u16-sprintf.c: Likewise.
62058         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
62059         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
62060         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
62061         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
62062         * lib/unistdio/u16-vasnprintf.c: Likewise.
62063         * lib/unistdio/u16-vasprintf.c: Likewise.
62064         * lib/unistdio/u16-vsnprintf.c: Likewise.
62065         * lib/unistdio/u16-vsprintf.c: Likewise.
62066         * lib/unistdio/u32-asnprintf.c: Likewise.
62067         * lib/unistdio/u32-asprintf.c: Likewise.
62068         * lib/unistdio/u32-printf-parse.c: Likewise.
62069         * lib/unistdio/u32-snprintf.c: Likewise.
62070         * lib/unistdio/u32-sprintf.c: Likewise.
62071         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
62072         * lib/unistdio/u32-u32-asprintf.c: Likewise.
62073         * lib/unistdio/u32-u32-snprintf.c: Likewise.
62074         * lib/unistdio/u32-u32-sprintf.c: Likewise.
62075         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
62076         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
62077         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
62078         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
62079         * lib/unistdio/u32-vasnprintf.c: Likewise.
62080         * lib/unistdio/u32-vasprintf.c: Likewise.
62081         * lib/unistdio/u32-vsnprintf.c: Likewise.
62082         * lib/unistdio/u32-vsprintf.c: Likewise.
62083         * lib/unistdio/u8-asnprintf.c: Likewise.
62084         * lib/unistdio/u8-asprintf.c: Likewise.
62085         * lib/unistdio/u8-printf-parse.c: Likewise.
62086         * lib/unistdio/u8-snprintf.c: Likewise.
62087         * lib/unistdio/u8-sprintf.c: Likewise.
62088         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
62089         * lib/unistdio/u8-u8-asprintf.c: Likewise.
62090         * lib/unistdio/u8-u8-snprintf.c: Likewise.
62091         * lib/unistdio/u8-u8-sprintf.c: Likewise.
62092         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
62093         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
62094         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
62095         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
62096         * lib/unistdio/u8-vasnprintf.c: Likewise.
62097         * lib/unistdio/u8-vasprintf.c: Likewise.
62098         * lib/unistdio/u8-vsnprintf.c: Likewise.
62099         * lib/unistdio/u8-vsprintf.c: Likewise.
62100         * lib/unistdio/ulc-asnprintf.c: Likewise.
62101         * lib/unistdio/ulc-asprintf.c: Likewise.
62102         * lib/unistdio/ulc-printf-parse.c: Likewise.
62103         * lib/unistdio/ulc-snprintf.c: Likewise.
62104         * lib/unistdio/ulc-sprintf.c: Likewise.
62105         * lib/unistdio/ulc-vasnprintf.c: Likewise.
62106         * lib/unistdio/ulc-vasprintf.c: Likewise.
62107         * lib/unistdio/ulc-vsnprintf.c: Likewise.
62108         * lib/unistdio/ulc-vsprintf.c: Likewise.
62109         * lib/unistr.h: Likewise.
62110         * lib/unistr/u-cpy-alloc.h: Likewise.
62111         * lib/unistr/u-cpy.h: Likewise.
62112         * lib/unistr/u-endswith.h: Likewise.
62113         * lib/unistr/u-move.h: Likewise.
62114         * lib/unistr/u-set.h: Likewise.
62115         * lib/unistr/u-startswith.h: Likewise.
62116         * lib/unistr/u-stpcpy.h: Likewise.
62117         * lib/unistr/u-stpncpy.h: Likewise.
62118         * lib/unistr/u-strcat.h: Likewise.
62119         * lib/unistr/u-strcpy.h: Likewise.
62120         * lib/unistr/u-strcspn.h: Likewise.
62121         * lib/unistr/u-strdup.h: Likewise.
62122         * lib/unistr/u-strlen.h: Likewise.
62123         * lib/unistr/u-strncat.h: Likewise.
62124         * lib/unistr/u-strncpy.h: Likewise.
62125         * lib/unistr/u-strnlen.h: Likewise.
62126         * lib/unistr/u-strpbrk.h: Likewise.
62127         * lib/unistr/u-strspn.h: Likewise.
62128         * lib/unistr/u-strstr.h: Likewise.
62129         * lib/unistr/u-strtok.h: Likewise.
62130         * lib/unistr/u16-check.c: Likewise.
62131         * lib/unistr/u16-chr.c: Likewise.
62132         * lib/unistr/u16-cmp.c: Likewise.
62133         * lib/unistr/u16-cpy-alloc.c: Likewise.
62134         * lib/unistr/u16-cpy.c: Likewise.
62135         * lib/unistr/u16-endswith.c: Likewise.
62136         * lib/unistr/u16-mblen.c: Likewise.
62137         * lib/unistr/u16-mbsnlen.c: Likewise.
62138         * lib/unistr/u16-mbtouc-aux.c: Likewise.
62139         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
62140         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
62141         * lib/unistr/u16-mbtouc.c: Likewise.
62142         * lib/unistr/u16-mbtoucr.c: Likewise.
62143         * lib/unistr/u16-move.c: Likewise.
62144         * lib/unistr/u16-next.c: Likewise.
62145         * lib/unistr/u16-prev.c: Likewise.
62146         * lib/unistr/u16-set.c: Likewise.
62147         * lib/unistr/u16-startswith.c: Likewise.
62148         * lib/unistr/u16-stpcpy.c: Likewise.
62149         * lib/unistr/u16-stpncpy.c: Likewise.
62150         * lib/unistr/u16-strcat.c: Likewise.
62151         * lib/unistr/u16-strchr.c: Likewise.
62152         * lib/unistr/u16-strcmp.c: Likewise.
62153         * lib/unistr/u16-strcpy.c: Likewise.
62154         * lib/unistr/u16-strcspn.c: Likewise.
62155         * lib/unistr/u16-strdup.c: Likewise.
62156         * lib/unistr/u16-strlen.c: Likewise.
62157         * lib/unistr/u16-strmblen.c: Likewise.
62158         * lib/unistr/u16-strmbtouc.c: Likewise.
62159         * lib/unistr/u16-strncat.c: Likewise.
62160         * lib/unistr/u16-strncmp.c: Likewise.
62161         * lib/unistr/u16-strncpy.c: Likewise.
62162         * lib/unistr/u16-strnlen.c: Likewise.
62163         * lib/unistr/u16-strpbrk.c: Likewise.
62164         * lib/unistr/u16-strrchr.c: Likewise.
62165         * lib/unistr/u16-strspn.c: Likewise.
62166         * lib/unistr/u16-strstr.c: Likewise.
62167         * lib/unistr/u16-strtok.c: Likewise.
62168         * lib/unistr/u16-to-u32.c: Likewise.
62169         * lib/unistr/u16-to-u8.c: Likewise.
62170         * lib/unistr/u16-uctomb-aux.c: Likewise.
62171         * lib/unistr/u16-uctomb.c: Likewise.
62172         * lib/unistr/u32-check.c: Likewise.
62173         * lib/unistr/u32-chr.c: Likewise.
62174         * lib/unistr/u32-cmp.c: Likewise.
62175         * lib/unistr/u32-cpy-alloc.c: Likewise.
62176         * lib/unistr/u32-cpy.c: Likewise.
62177         * lib/unistr/u32-endswith.c: Likewise.
62178         * lib/unistr/u32-mblen.c: Likewise.
62179         * lib/unistr/u32-mbsnlen.c: Likewise.
62180         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
62181         * lib/unistr/u32-mbtouc.c: Likewise.
62182         * lib/unistr/u32-mbtoucr.c: Likewise.
62183         * lib/unistr/u32-move.c: Likewise.
62184         * lib/unistr/u32-next.c: Likewise.
62185         * lib/unistr/u32-prev.c: Likewise.
62186         * lib/unistr/u32-set.c: Likewise.
62187         * lib/unistr/u32-startswith.c: Likewise.
62188         * lib/unistr/u32-stpcpy.c: Likewise.
62189         * lib/unistr/u32-stpncpy.c: Likewise.
62190         * lib/unistr/u32-strcat.c: Likewise.
62191         * lib/unistr/u32-strchr.c: Likewise.
62192         * lib/unistr/u32-strcmp.c: Likewise.
62193         * lib/unistr/u32-strcpy.c: Likewise.
62194         * lib/unistr/u32-strcspn.c: Likewise.
62195         * lib/unistr/u32-strdup.c: Likewise.
62196         * lib/unistr/u32-strlen.c: Likewise.
62197         * lib/unistr/u32-strmblen.c: Likewise.
62198         * lib/unistr/u32-strmbtouc.c: Likewise.
62199         * lib/unistr/u32-strncat.c: Likewise.
62200         * lib/unistr/u32-strncmp.c: Likewise.
62201         * lib/unistr/u32-strncpy.c: Likewise.
62202         * lib/unistr/u32-strnlen.c: Likewise.
62203         * lib/unistr/u32-strpbrk.c: Likewise.
62204         * lib/unistr/u32-strrchr.c: Likewise.
62205         * lib/unistr/u32-strspn.c: Likewise.
62206         * lib/unistr/u32-strstr.c: Likewise.
62207         * lib/unistr/u32-strtok.c: Likewise.
62208         * lib/unistr/u32-to-u16.c: Likewise.
62209         * lib/unistr/u32-to-u8.c: Likewise.
62210         * lib/unistr/u32-uctomb.c: Likewise.
62211         * lib/unistr/u8-check.c: Likewise.
62212         * lib/unistr/u8-chr.c: Likewise.
62213         * lib/unistr/u8-cmp.c: Likewise.
62214         * lib/unistr/u8-cpy-alloc.c: Likewise.
62215         * lib/unistr/u8-cpy.c: Likewise.
62216         * lib/unistr/u8-endswith.c: Likewise.
62217         * lib/unistr/u8-mblen.c: Likewise.
62218         * lib/unistr/u8-mbsnlen.c: Likewise.
62219         * lib/unistr/u8-mbtouc-aux.c: Likewise.
62220         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
62221         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
62222         * lib/unistr/u8-mbtouc.c: Likewise.
62223         * lib/unistr/u8-mbtoucr.c: Likewise.
62224         * lib/unistr/u8-move.c: Likewise.
62225         * lib/unistr/u8-next.c: Likewise.
62226         * lib/unistr/u8-prev.c: Likewise.
62227         * lib/unistr/u8-set.c: Likewise.
62228         * lib/unistr/u8-startswith.c: Likewise.
62229         * lib/unistr/u8-stpcpy.c: Likewise.
62230         * lib/unistr/u8-stpncpy.c: Likewise.
62231         * lib/unistr/u8-strcat.c: Likewise.
62232         * lib/unistr/u8-strchr.c: Likewise.
62233         * lib/unistr/u8-strcmp.c: Likewise.
62234         * lib/unistr/u8-strcpy.c: Likewise.
62235         * lib/unistr/u8-strcspn.c: Likewise.
62236         * lib/unistr/u8-strdup.c: Likewise.
62237         * lib/unistr/u8-strlen.c: Likewise.
62238         * lib/unistr/u8-strmblen.c: Likewise.
62239         * lib/unistr/u8-strmbtouc.c: Likewise.
62240         * lib/unistr/u8-strncat.c: Likewise.
62241         * lib/unistr/u8-strncmp.c: Likewise.
62242         * lib/unistr/u8-strncpy.c: Likewise.
62243         * lib/unistr/u8-strnlen.c: Likewise.
62244         * lib/unistr/u8-strpbrk.c: Likewise.
62245         * lib/unistr/u8-strrchr.c: Likewise.
62246         * lib/unistr/u8-strspn.c: Likewise.
62247         * lib/unistr/u8-strstr.c: Likewise.
62248         * lib/unistr/u8-strtok.c: Likewise.
62249         * lib/unistr/u8-to-u16.c: Likewise.
62250         * lib/unistr/u8-to-u32.c: Likewise.
62251         * lib/unistr/u8-uctomb-aux.c: Likewise.
62252         * lib/unistr/u8-uctomb.c: Likewise.
62253         * lib/unitypes.h: Likewise.
62254         * lib/uniwidth.h: Likewise.
62255         * lib/uniwidth/cjk.h: Likewise.
62256         * lib/uniwidth/u16-strwidth.c: Likewise.
62257         * lib/uniwidth/u16-width.c: Likewise.
62258         * lib/uniwidth/u32-strwidth.c: Likewise.
62259         * lib/uniwidth/u32-width.c: Likewise.
62260         * lib/uniwidth/u8-strwidth.c: Likewise.
62261         * lib/uniwidth/u8-width.c: Likewise.
62262         * lib/uniwidth/width.c: Likewise.
62263
62264 2007-10-07  Bruno Haible  <bruno@clisp.org>
62265
62266         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
62267         The file is still under LGPL (see modules/inttypes).
62268
62269 2007-10-06  Bruno Haible  <bruno@clisp.org>
62270
62271         * modules/trunc (Dependencies): Add 'extensions'.
62272         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
62273         Reported by Ben Pfaff <blp@gnu.org>.
62274
62275 2007-10-06  Bruno Haible  <bruno@clisp.org>
62276
62277         * modules/freopen-tests: New file.
62278         * tests/test-freopen.c: New file.
62279
62280         * modules/fopen-tests: New file.
62281         * tests/test-fopen.c: New file.
62282
62283         * modules/fopen: New file.
62284         * lib/fopen.c: New file.
62285         * m4/fopen.m4: New file.
62286         * modules/freopen: New file.
62287         * lib/freopen.c: New file.
62288         * m4/freopen.m4: New file.
62289         * lib/stdio.in.h (fopen, freopen): New declarations.
62290         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
62291         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
62292         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
62293         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
62294         * doc/functions/fopen.texi: Mention the 'fopen' module.
62295         * doc/functions/freopen.texi: Mention the 'freopen' module.
62296
62297 2007-10-06  Bruno Haible  <bruno@clisp.org>
62298
62299         * modules/open-tests: New file.
62300         * tests/test-open.c: New file.
62301
62302         * modules/open: New file.
62303         * lib/open.c: New file.
62304         * m4/open.m4: New file.
62305         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
62306         lib/open.c does.
62307         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
62308         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
62309         macros.
62310         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
62311         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
62312         REPLACE_OPEN.
62313         * doc/functions/open.texi: Mention the 'open' module.
62314
62315 2007-10-04  Bruno Haible  <bruno@clisp.org>
62316
62317         * modules/ceill-tests: New file.
62318         * tests/test-ceill.c: New file.
62319
62320         * modules/ceill: New file.
62321         * lib/ceill.c: Replace entire file.
62322         * m4/ceill.m4: New file.
62323         * lib/math.in.h (ceill): Replace declaration.
62324         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
62325         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
62326         * doc/functions/ceill.texi: Mention the 'ceill' module.
62327         * modules/mathl (Files): Remove lib/ceill.c.
62328         (Depends-on): Add ceill.
62329
62330 2007-10-04  Bruno Haible  <bruno@clisp.org>
62331
62332         * modules/ceilf-tests: New file.
62333         * tests/test-ceilf.c: New file.
62334
62335         * modules/ceilf: New file.
62336         * lib/ceil.c: New file.
62337         * lib/ceilf.c: New file.
62338         * m4/ceilf.m4: New file.
62339         * lib/math.in.h (ceilf): New declaration.
62340         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
62341         HAVE_DECL_CEILF.
62342         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
62343         HAVE_DECL_CEILF.
62344         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
62345
62346 2007-10-04  Bruno Haible  <bruno@clisp.org>
62347
62348         * modules/floorl-tests: New file.
62349         * tests/test-floorl.c: New file.
62350
62351         * modules/floorl: New file.
62352         * lib/floorl.c: Replace entire file.
62353         * m4/floorl.m4: New file.
62354         * lib/math.in.h (floorl): Replace declaration.
62355         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
62356         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
62357         * doc/functions/floorl.texi: Mention the 'floorl' module.
62358         * modules/mathl (Files): Remove lib/floorl.c.
62359         (Depends-on): Add floorl.
62360
62361 2007-10-04  Bruno Haible  <bruno@clisp.org>
62362
62363         * modules/floorf-tests: New file.
62364         * tests/test-floorf.c: New file.
62365
62366         * modules/floorf: New file.
62367         * lib/floor.c: New file.
62368         * lib/floorf.c: New file.
62369         * m4/floorf.m4: New file.
62370         * lib/math.in.h (floorf): New declaration.
62371         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
62372         HAVE_DECL_FLOORF.
62373         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
62374         HAVE_DECL_FLOORF.
62375         * doc/functions/floorf.texi: Mention the 'floorf' module.
62376
62377 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
62378             Bruno Haible  <bruno@clisp.org>
62379
62380         Advertise for the Git server instead of the CVS server.
62381         * doc/gnulib-intro.texi (Steady Development): Mention the Git
62382         repository instead of the CVS one.
62383         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
62384         about all VCS systems generically.
62385         * doc/gnulib.texi (Introduction): Capitalize `Git'.
62386
62387 2007-10-04  Bruno Haible  <bruno@clisp.org>
62388
62389         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
62390         means.
62391         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
62392
62393 2007-10-04  Bruno Haible  <bruno@clisp.org>
62394
62395         * modules/truncl-tests: New file.
62396         * tests/test-truncl.c: New file.
62397
62398         * modules/truncl: New file.
62399         * lib/truncl.c: New file.
62400         * m4/truncl.m4: New file.
62401         * lib/math.in.h (truncl): New declaration.
62402         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
62403         HAVE_DECL_TRUNCL.
62404         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
62405         HAVE_DECL_TRUNCL.
62406         * doc/functions/truncl.texi: Mention the 'truncl' module.
62407
62408 2007-10-04  Bruno Haible  <bruno@clisp.org>
62409
62410         * modules/truncf-tests: New file.
62411         * tests/test-truncf.c: New file.
62412
62413         * modules/truncf: New file.
62414         * lib/trunc.c: Make paramerizable through USE_* macros.
62415         * lib/truncf.c: New file.
62416         * m4/truncf.m4: New file.
62417         * lib/math.in.h (truncf): New declaration.
62418         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
62419         HAVE_DECL_TRUNCF.
62420         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
62421         HAVE_DECL_TRUNCF.
62422         * doc/functions/truncf.texi: Mention the 'truncf' module.
62423
62424 2007-10-03  Bruno Haible  <bruno@clisp.org>
62425
62426         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
62427         augmentation also for tests modules.
62428         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
62429         * modules/atexit-tests (Makefile.am): Likewise.
62430         * modules/binary-io-tests (Makefile.am): Likewise.
62431         * modules/c-strcase-tests (Makefile.am): Likewise.
62432         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
62433         * modules/canonicalize-tests (Makefile.am): Likewise.
62434         * modules/closein-tests (Makefile.am): Likewise.
62435         * modules/fprintf-posix-tests (Makefile.am): Likewise.
62436         * modules/freadahead-tests (Makefile.am): Likewise.
62437         * modules/fseek-tests (Makefile.am): Likewise.
62438         * modules/fseeko-tests (Makefile.am): Likewise.
62439         * modules/ftell-tests (Makefile.am): Likewise.
62440         * modules/ftello-tests (Makefile.am): Likewise.
62441         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
62442         * modules/isnanl-tests (Makefile.am): Likewise.
62443         * modules/lseek-tests (Makefile.am): Likewise.
62444         * modules/mbscasecmp-tests (Makefile.am): Likewise.
62445         * modules/mbscasestr-tests (Makefile.am): Likewise.
62446         * modules/mbschr-tests (Makefile.am): Likewise.
62447         * modules/mbscspn-tests (Makefile.am): Likewise.
62448         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
62449         * modules/mbspbrk-tests (Makefile.am): Likewise.
62450         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
62451         * modules/mbsrchr-tests (Makefile.am): Likewise.
62452         * modules/mbsspn-tests (Makefile.am): Likewise.
62453         * modules/mbsstr-tests (Makefile.am): Likewise.
62454         * modules/printf-posix-tests (Makefile.am): Likewise.
62455         * modules/snprintf-posix-tests (Makefile.am): Likewise.
62456         * modules/sprintf-posix-tests (Makefile.am): Likewise.
62457         * modules/tsearch-tests (Makefile.am): Likewise.
62458         * modules/uniname/uniname-tests (Makefile.am): Likewise.
62459         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
62460         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
62461         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
62462         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
62463         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
62464         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
62465         * modules/vprintf-posix-tests (Makefile.am): Likewise.
62466         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
62467         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
62468         * modules/xstrtoimax-tests (Makefile.am): Likewise.
62469         * modules/xstrtol-tests (Makefile.am): Likewise.
62470         * modules/xstrtoumax-tests (Makefile.am): Likewise.
62471         * modules/yesno-tests (Makefile.am): Likewise.
62472
62473 2007-10-03  Bruno Haible  <bruno@clisp.org>
62474
62475         * modules/trunc-tests: New file.
62476         * tests/test-trunc.c: New file.
62477
62478         * modules/trunc: New file.
62479         * lib/trunc.c: New file.
62480         * m4/trunc.m4: New file.
62481         * lib/math.in.h (trunc): New declaration.
62482         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
62483         HAVE_DECL_TRUNC.
62484         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
62485         HAVE_DECL_TRUNC.
62486         * doc/functions/trunc.texi: Mention the 'trunc' module.
62487
62488 2007-10-03  Bruno Haible  <bruno@clisp.org>
62489
62490         * tests/test-fpending.c: New file, mostly copied
62491         from coreutils/lib/t-fpending.c.
62492         * modules/fpending-tests: New file.
62493
62494 2007-10-03  Bruno Haible  <bruno@clisp.org>
62495
62496         Port the stdio extensions to QNX (untested).
62497         * lib/fseterr.c (fseterr): Add support for QNX.
62498         * lib/fbufmode.c (fbufmode): Likewise.
62499         * lib/freadable.c (freadable): Likewise.
62500         * lib/fwritable.c (fwritable): Likewise.
62501         * lib/freading.c (freading): Likewise.
62502         * lib/fwriting.c (fwriting): Likewise.
62503         * lib/freadahead.c (freadahed): Likewise.
62504         * lib/fpurge.c (fpurge): Likewise.
62505         * lib/fseeko.c (rpl_fseeko): Likewise.
62506
62507 2007-10-03  Bruno Haible  <bruno@clisp.org>
62508             Jim Meyering  <jim@meyering.net>
62509             Eric Blake  <ebb9@byu.net>
62510
62511         * doc/relocatable.texi: Use @command instead of @program.
62512
62513 2007-10-02  Jim Meyering  <jim@meyering.net>
62514
62515         Perform one more "_.h" -> ".in.h" substitution.
62516         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
62517         instead of unistd_.h here, too.
62518
62519 2007-10-01  Bruno Haible  <bruno@clisp.org>
62520
62521         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
62522         Needed for the alloca-opt module.
62523
62524 2007-09-30  Bruno Haible  <bruno@clisp.org>
62525
62526         * lib/alloca.in.h: Renamed from lib/alloca_.h.
62527         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
62528         alloca_.h.
62529         * lib/argz.in.h: Renamed from lib/argz_.h.
62530         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
62531         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
62532         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
62533         byteswap_.h.
62534         * lib/dirent.in.h: Renamed from lib/dirent_.h.
62535         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
62536         dirent_.h.
62537         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
62538         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
62539         fcntl_.h.
62540         * lib/float.in.h: Renamed from lib/float_.h.
62541         * modules/float (Files, Makefile.am): Use float.in.h instead of
62542         float_.h.
62543         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
62544         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
62545         fnmatch_.h.
62546         * lib/getopt.in.h: Renamed from lib/getopt_.h.
62547         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
62548         getopt_.h.
62549         * lib/glob.in.h: Renamed from lib/glob_.h.
62550         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
62551         * lib/iconv.in.h: Renamed from lib/iconv_.h.
62552         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
62553         iconv_.h.
62554         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
62555         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
62556         inttypes_.h.
62557         * lib/locale.in.h: Renamed from lib/locale_.h.
62558         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
62559         locale_.h.
62560         * lib/math.in.h: Renamed from lib/math_.h.
62561         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
62562         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
62563         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
62564         of netinet_in_.h. Add dependency.
62565         * lib/poll.in.h: Renamed from lib/poll_.h.
62566         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
62567         * lib/search.in.h: Renamed from lib/search_.h.
62568         * modules/search (Files, Makefile.am): Use search.in.h instead of
62569         search_.h.
62570         * lib/signal.in.h: Renamed from lib/signal_.h.
62571         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
62572         _signal.h.
62573         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
62574         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
62575         stdbool_.h.
62576         * lib/stdint.in.h: Renamed from lib/stdint_.h.
62577         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
62578         stdint_.h.
62579         * lib/stdio.in.h: Renamed from lib/stdio_.h.
62580         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
62581         stdio_.h.
62582         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
62583         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
62584         stdlib_.h.
62585         * lib/string.in.h: Renamed from lib/string_.h.
62586         * modules/string (Files, Makefile.am): Use string.in.h instead of
62587         string_.h.
62588         * doc/gnulib-tool.texi (Initial import): Update.
62589         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
62590         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
62591         of sys_select_.h. Add dependency.
62592         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
62593         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
62594         of sys_socket_.h.
62595         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
62596         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
62597         sys_stat_.h.
62598         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
62599         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
62600         sys_time_.h.
62601         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
62602         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
62603         sysexits_.h.
62604         * lib/time.in.h: Renamed from lib/time_.h.
62605         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
62606         * lib/unistd.in.h: Renamed from lib/unistd_.h.
62607         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
62608         unistd_.h.
62609         * lib/wchar.in.h: Renamed from lib/wchar_.h.
62610         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
62611         wchar_.h.
62612         * lib/wctype.in.h: Renamed from lib/wctype_.h.
62613         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
62614         wctype_.h.
62615         * build-aux/bootstrap (slurp): Update.
62616         * lib/.cppi-disable: Update.
62617
62618 2007-09-30  Bruno Haible  <bruno@clisp.org>
62619
62620         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
62621         Needed on BeOS.
62622
62623 2007-09-30  Bruno Haible  <bruno@clisp.org>
62624
62625         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
62626
62627 2007-09-29  Bruno Haible  <bruno@clisp.org>
62628
62629         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
62630
62631 2007-09-29  Bruno Haible  <bruno@clisp.org>
62632
62633         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
62634         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
62635         * build-aux/install-reloc: Compile also areadlink.c.
62636         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
62637
62638 2007-09-29  Bruno Haible  <bruno@clisp.org>
62639
62640         * gnulib-tool (func_emit_initmacro_done): Indentation.
62641
62642 2007-09-29  Bruno Haible  <bruno@clisp.org>
62643
62644         * README: Add CVS checkout update instructions.
62645         Info from Bob Proulx <bob@proulx.com>.
62646
62647 2007-09-28  Eric Blake  <ebb9@byu.net>
62648
62649         Provide move-if-change.
62650         * build-aux/move-if-change: New file, based on best practice
62651         rather than any canonical upstream location.
62652
62653 2007-09-28  Jim Meyering  <jim@meyering.net>
62654
62655         Fix canonicalize loop-detection corner case.
62656         Do not attempt to stat the symlink values stored via seen_triple.
62657         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
62658         on linux-2.6.18, (but not 2.6.22).
62659         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
62660         triple_compare.  The former compares dev,ino,filename, while the latter
62661         would actually stat dirname(filename) when dev and ino were equal.
62662         * lib/hash-triple.c: Install <string.h>.
62663         (STREQ): Define.
62664         (triple_compare_ino_str): New function.
62665         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
62666
62667 2007-09-28  Eric Blake  <ebb9@byu.net>
62668
62669         Enforce that AC_REPLACE_FUNCS files exist.
62670         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
62671         override check for typos.
62672
62673         Fix test-closein on Solaris 10.
62674         * tests/test-closein.c (main): Don't assume stdin can be inherited
62675         closed on all systems.
62676         * tests/test-closein.sh: Likewise.
62677         Reported by Piotr Tarnowski.
62678
62679 2007-09-28  Jim Meyering  <jim@meyering.net>
62680
62681         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
62682
62683 2007-09-27  Jim Meyering  <jim@meyering.net>
62684
62685         canonicalize: Avoid a false-positive cycle failure.
62686         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
62687         Sort.  Remove cycle-check.
62688         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
62689         not cycle-check.h.
62690         (seen_triple): New function.
62691         (canonicalize_filename_mode): Use it instead of cycle-check.
62692         * tests/test-canonicalize.c: Add a test for this bug.
62693         * tests/test-canonicalize.sh: Set up and run the test.
62694
62695         New module, file-set, from coreutils.
62696         * modules/file-set: Define it.
62697         * lib/file-set.c, lib/file-set.h: Implement.
62698
62699         New module, hash-triple, from coreutils.
62700         * modules/hash-triple: Define it.
62701         * lib/hash-triple.c, lib/hash-triple.h: Implement.
62702
62703 2007-09-25  Eric Blake  <ebb9@byu.net>
62704
62705         Fix strerror on Interix.
62706         * lib/string_.h (strerror): Declare replacement.
62707         * doc/functions/strerror.texi (strerror): Document the Interix
62708         shortcoming.
62709         * modules/string (Makefile.am): Support new hooks.
62710         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
62711         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
62712         gl_FUNC_STRERROR_SEPARATE.
62713         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
62714         * lib/strerror.c (rpl_strerror): Provide replacement.
62715         * modules/strerror (Depends-on): Add string.
62716         (configure.ac): Detect use of module.
62717         * tests/test-strerror.c: New file.
62718         * modules/strerror-tests: New test module.
62719         * modules/argp (Depends-on): Add strerror.
62720         * modules/error (Depends-on): Likewise.
62721         Reported by Martin Koeppe.
62722
62723 2007-09-24  Bruno Haible  <bruno@clisp.org>
62724
62725         * README: Update git instructions.
62726
62727 2007-09-24  Eric Blake  <ebb9@byu.net>
62728
62729         Revert fpending breakage from 2007-09-08.
62730         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
62731         __fpending.c.
62732
62733 2007-09-24  Jim Meyering  <jim@meyering.net>
62734
62735         filenamecat.c: Add a test.
62736         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
62737         showing how the function works when DIR is the empty string.
62738
62739 2007-09-21  Simon Josefsson  <simon@josefsson.org>
62740
62741         * tests/test-canonicalize.sh: Turn on executable bit.
62742
62743 2007-09-19  Eric Blake  <ebb9@byu.net>
62744
62745         * README: Update CVS instructions.
62746
62747 2007-09-18  Bruno Haible  <bruno@clisp.org>
62748
62749         * modules/areadlink: New file.
62750         * lib/areadlink.h (areadlink): New declaration.
62751         * lib/areadlink.c: New file, based on lib/xreadlink.c.
62752
62753 2007-09-17  Jim Meyering  <jim@meyering.net>
62754
62755         * lib/savewd.c (ESTALE) [!defined]: Define.
62756         Reported to be required on Interix by Martin Koeppe.
62757
62758 2007-09-17  Bruno Haible  <bruno@clisp.org>
62759
62760         * gnulib-tool (func_version): Use $version.
62761
62762 2007-09-16  Bruno Haible  <bruno@clisp.org>
62763
62764         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
62765         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
62766         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
62767         Reported by Greg Schafer <gschafer@zip.com.au>.
62768
62769 2007-09-15  Bruno Haible  <bruno@clisp.org>
62770
62771         * gnulib-tool (sed): Try a little harder to make bash understand the
62772         alias.
62773         Reported by Bruce Korb <bruce.korb@gmail.com>.
62774
62775 2007-09-13  Eric Blake  <ebb9@byu.net>
62776
62777         * ChangeLog: Remove conflict markers.
62778
62779 2007-09-13  Simon Josefsson  <simon@josefsson.org>
62780
62781         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
62782         Reported by Bruno Haible <bruno@clisp.org>.
62783
62784 2007-09-12  Bruno Haible  <bruno@clisp.org>
62785
62786         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
62787         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
62788         is not defined.
62789
62790 2007-09-12  Eric Blake  <ebb9@byu.net>
62791
62792         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
62793         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
62794         Autoconf definition.
62795         * modules/euidaccess (Depends-on): Add extensions, for
62796         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
62797         * modules/fnmatch (Depends-on): Likewise.
62798         * modules/getaddrinfo (Depends-on): Likewise.
62799         * modules/getdelim (Depends-on): Likewise.
62800         * modules/getline (Depends-on): Likewise.
62801         * modules/getsubopt (Depends-on): Likewise.
62802         * modules/gettext (Depends-on): Likewise.
62803         * modules/group-member (Depends-on): Likewise.
62804         * modules/mbchar (Depends-on): Likewise.
62805         * modules/memmem (Depends-on): Likewise.
62806         * modules/mempcpy (Depends-on): Likewise.
62807         * modules/memrchr (Depends-on): Likewise.
62808         * modules/pagealign_alloc (Depends-on): Likewise.
62809         * modules/readutmp (Depends-on): Likewise.
62810         * modules/stpcpy (Depends-on): Likewise.
62811         * modules/stpncpy (Depends-on): Likewise.
62812         * modules/strchrnul (Depends-on): Likewise.
62813         * modules/strndup (Depends-on): Likewise.
62814         * modules/strsep (Depends-on): Likewise.
62815         * modules/strverscmp (Depends-on): Likewise.
62816         * modules/vasprintf (Depends-on): Likewise.
62817         * modules/wcwidth (Depends-on): Likewise.
62818         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
62819         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
62820         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
62821         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
62822         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
62823         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
62824         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
62825         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
62826         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
62827         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
62828         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
62829         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
62830         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
62831         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
62832         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
62833         * m4/readutmp.m4 (gl_READUTMP): Likewise.
62834         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
62835         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
62836         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
62837         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
62838         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
62839         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
62840         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
62841         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
62842         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
62843         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
62844         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
62845         so that lock.m4 can be used in gettext without extensions module.
62846
62847 2007-09-11  Bruno Haible  <bruno@clisp.org>
62848
62849         * m4/isc-posix.m4: Remove file.
62850         Suggested by Eric Blake.
62851
62852 2007-09-11  Eric Blake  <ebb9@byu.net>
62853
62854         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
62855
62856 2007-09-10  Bruno Haible  <bruno@clisp.org>
62857
62858         * posix-modules: Fix typo in error message.
62859         Reported by Matt <mkraai@beckman.com>.
62860
62861 2007-09-09  Bruno Haible  <bruno@clisp.org>
62862
62863         * doc/functions/getdelim.texi: Update list of platforms lacking the
62864         function.
62865         * doc/functions/getline.texi: Likewise.
62866
62867 2007-09-09  Jim Meyering  <jim@meyering.net>
62868
62869         * lib/hash.c (hash_initialize): Detect calloc failure.
62870         Reported by Bruno Haible.
62871
62872 2007-09-09  Bruno Haible  <bruno@clisp.org>
62873
62874         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
62875         malloc or realloc fails.
62876
62877 2007-09-09  Bruno Haible  <bruno@clisp.org>
62878
62879         * modules/getcwd (Depends-on): Add malloc-posix.
62880         * modules/glob (Depends-on): Likewise.
62881         * modules/putenv (Depends-on): Likewise.
62882         * modules/strdup (Depends-on): Likewise.
62883         * modules/getdelim (Depends-on): Add realloc-posix.
62884         * modules/read-file (Depends-on): Likewise.
62885
62886 2007-09-09  Bruno Haible  <bruno@clisp.org>
62887
62888         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
62889         (gl_FUNC_MALLOC_POSIX): Require it.
62890         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
62891         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
62892         * modules/realloc (Files): Add m4/malloc.m4.
62893         * modules/calloc (Files): Likewise.
62894
62895 2007-09-09  Bruno Haible  <bruno@clisp.org>
62896
62897         * modules/malloc-posix: New file.
62898         * modules/malloc (Depends-on): Add malloc-posix.
62899         * lib/malloc.c: Include errno.h.
62900         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
62901         and a POSIX-compatible malloc into a single function. Set ENOMEM
62902         when returning NULL.
62903         * m4/malloc.m4: New file.
62904         * doc/functions/malloc.texi: Mention the malloc-posix module.
62905         * lib/stdlib_.h (malloc): New declaration.
62906         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
62907         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
62908         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
62909         and HAVE_MALLOC_POSIX.
62910
62911 2007-09-09  Bruno Haible  <bruno@clisp.org>
62912
62913         * modules/realloc-posix: New file.
62914         * modules/realloc (Depends-on): Add realloc-posix.
62915         * lib/realloc.c: Include errno.h.
62916         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
62917         and a POSIX-compatible realloc into a single function. Set ENOMEM
62918         when returning NULL.
62919         * m4/realloc.m4: New file.
62920         * doc/functions/realloc.texi: Mention the realloc-posix module.
62921         * lib/stdlib_.h (realloc): New declaration.
62922         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
62923         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
62924         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
62925         and HAVE_REALLOC_POSIX.
62926
62927 2007-09-09  Bruno Haible  <bruno@clisp.org>
62928
62929         * modules/calloc-posix: New file.
62930         * modules/calloc (Depends-on): Add calloc-posix.
62931         * lib/calloc.c: Include errno.h.
62932         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
62933         and a POSIX-compatible calloc into a single function. Set ENOMEM
62934         when returning NULL.
62935         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
62936         * doc/functions/calloc.texi: Mention the calloc-posix module.
62937         * lib/stdlib_.h (calloc): New declaration.
62938         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
62939         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
62940         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
62941         and HAVE_CALLOC_POSIX.
62942
62943 2007-09-09  Bruno Haible  <bruno@clisp.org>
62944
62945         Allow for modules to show an arbitrary notice.
62946         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
62947         * gnulib-tool: New option --extract-notice.
62948         (func_usage): Document it.
62949         (sed_extract_prog): Update.
62950         (func_get_notice): New function.
62951         (func_modules_notice): New function.
62952         (func_import, func_create_testdir): Invoke it.
62953         Suggested by Jim Meyering.
62954
62955 2007-09-09  Bruno Haible  <bruno@clisp.org>
62956
62957         * gnulib-tool: New options --verbose, --quiet.
62958         (func_usage): Document them.
62959         (verbose): New variable.
62960         (func_execute_command): New function.
62961         (func_import): Don't show the module list and the file list if
62962         $verbose < 0.
62963         (func_create_testdir): Likewise. Use func_execute_command.
62964         (func_create_megatestdir): Use func_execute_command.
62965
62966 2007-09-08  Bruno Haible  <bruno@clisp.org>
62967
62968         * gnulib-tool (func_import): Prefer rsync over wget when available,
62969         for fetching the PO files.
62970
62971 2007-09-08  Bruno Haible  <bruno@clisp.org>
62972
62973         * posix-modules: New file. Portions copied from gnulib-tool.
62974         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
62975
62976 2007-09-08  Jim Meyering  <jim@meyering.net>
62977
62978         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
62979         * lib/fpending.h: Rename from __fpending.h.
62980         * lib/fpending.c: Rename from __fpending.c.
62981         Include "fpending.h", not "__fpending.h".
62982         * lib/__fpending.h, lib/__fpending.c: Remove files.
62983         * modules/fpending (Files): Reflect new file names.
62984         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
62985
62986 2007-09-08  Bruno Haible  <bruno@clisp.org>
62987
62988         * m4/inttypes-h.m4: Remove stub file.
62989
62990 2007-09-07  Simon Josefsson  <simon@josefsson.org>
62991
62992         * doc/headers/stdint.texi: Discuss #include_next issue.
62993
62994 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
62995
62996         * build-aux/bootstrap: Remove obsolete comment about wget --help.
62997
62998 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62999
63000         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
63001         in variable name.
63002
63003 2007-09-03  Jim Meyering  <jim@meyering.net>
63004
63005         New module: git-version-gen.
63006         * modules/git-version-gen: New file.
63007
63008         Import changes from coreutils for bootstrap script.
63009
63010         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
63011
63012         bootstrap: uses rsync to download the .po files
63013         * build-aux/bootstrap (po_download_command_format): New global.
63014         (download_po_files): Use rsync.
63015         (update_po_files): Don't remove .po files after download,
63016         so future rsync runs can take advantage of the copies.
63017
63018         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
63019
63020         Solve the unnecessary-.po-file-regeneration problem once and for all.
63021         * build-aux/bootstrap (download_po_files): New function, renamed from
63022         get_translations.  Now, downloads, but doesn't update LINGUAS.
63023         (update_po_files): New function.
63024
63025         bootstrap: Ignore more.
63026         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
63027         uniwidth to e.g., lib/.gitignore.
63028         (slurp): Handle the sys_stat_.h -> sys mapping, too.
63029
63030         * build-aux/bootstrap: New setting: vc_ignore.
63031         (insert_sorted_if_absent): Create $file if absent.
63032         Adapt to new, possibly empty, list: $vc_ignore.
63033
63034         bootstrap: generate more ignorable names
63035         * build-aux/bootstrap (slurp): When generating ignorable names,
63036         also map .sin to .sed, .gperf to .c, and .y to .c.
63037
63038 2007-09-03  Jim Meyering  <jim@meyering.net>
63039
63040         * build-aux/git-version-gen: New file, from coreutils.  For details, see
63041         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
63042
63043 2007-09-02  Bruno Haible  <bruno@clisp.org>
63044
63045         Fix mis-recognition of 'mcs' on QNX 6.
63046         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
63047         output contains the string "Mono".
63048         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
63049         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
63050
63051 2007-09-01  Bruno Haible  <bruno@clisp.org>
63052
63053         Fix collision between uniwidth/* and linebreak modules.
63054         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
63055         u32_width): Remove declarations.
63056         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
63057         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
63058         streq3, streq2, streq1, streq0): Remove functions.
63059         (STREQ): Remove macro.
63060         (is_cjk_encoding): Remove function.
63061         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
63062         (uc_width, u8_width, u16_width, u32_width): Remove functions.
63063         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
63064         * NEWS: Document the change.
63065
63066 2007-09-01  Bruno Haible  <bruno@clisp.org>
63067
63068         * lib/streq.h: Add double-inclusion guard.
63069
63070 2007-09-01  Karl Berry  <karl@gnu.org>
63071
63072         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
63073
63074 2007-08-28  Jim Meyering  <jim@meyering.net>
63075
63076         Rename mreadlink_with_size to areadlink_with_size.
63077         * NEWS: Document the change.
63078         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
63079         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
63080         * lib/mreadlink.h: Rename this to...
63081         * lib/areadlink.h: ...this.
63082         * modules/mreadlink-with-size: Rename this to...
63083         * modules/areadlink-with-size: ...this.
63084         * lib/canonicalize.c: Reflect the renaming.
63085         * modules/canonicalize: Likewise.
63086
63087 2007-08-26  Bruno Haible  <bruno@clisp.org>
63088
63089         * gnulib-tool (func_import): When deciding which files to remove,
63090         consider also dangling symbolic links.
63091         Reported by Eric Blake.
63092
63093 2007-08-26  Bruno Haible  <bruno@clisp.org>
63094
63095         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
63096
63097 2007-08-23  Simon Josefsson  <simon@josefsson.org>
63098
63099         * lib/readline.c: Don't include getline.h, the prototype is now
63100         found in stdio.h.
63101
63102 2007-08-23  Jim Meyering  <jim@meyering.net>
63103
63104         Getdelim touchup.
63105         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
63106         around the funlockfile call, since funlockfile never sets errno.
63107         Don't set errno upon failed realloc.
63108
63109 2007-08-22  Eric Blake  <ebb9@byu.net>
63110
63111         Getline touchups.
63112         * lib/getdelim.c (getdelim): Revert regression that required *n to
63113         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
63114         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
63115         getdelim, rather than whether implementation is missing.
63116         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
63117         * lib/stdio_.h (getline): Also declare if replacement is
63118         required.
63119         * doc/functions/getdelim.texi: New file.
63120         * doc/functions/getline.texi: Likewise.
63121         * doc/gnulib.texi (Function Substitutes): Add new files.
63122         Reported by Bruno Haible.
63123
63124 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
63125
63126         * users.txt: Add Guile.
63127
63128 2007-08-22  Eric Blake  <ebb9@byu.net>
63129
63130         * tests/test-getdelim.c (main): Use remove, not unlink.
63131         * tests/test-getline.c (main): Likewise.
63132
63133         Move getline and getdelim into stdio.h, per POSIX 200x.
63134         * modules/getline (Files): Remove getline.h.
63135         (Depends-on): Add stdio.
63136         (configure.ac): Add module indicator.
63137         * modules/getdelim (Files): Remove getdelim.h.
63138         (Depends-on): Add stdio.
63139         (configure.ac): Add module indicator.
63140         * modules/stdio (Makefile.am): Work with new indicators.
63141         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
63142         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
63143         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
63144         * lib/getdelim.h: Delete.
63145         * lib/getline.h: Delete.
63146         * lib/stdio_.h (getdelim, getline): Declare.
63147         * modules/getdelim-tests: New module.
63148         * modules/getline-tests: Likewise.
63149         * tests/test-getdelim.c: New file.
63150         * tests/test-getline.c: Likewise.
63151         * NEWS: Document the change.
63152         * lib/getline.c: Update choice of header.
63153         * lib/csharpcomp.c: Likewise.
63154         * lib/getpass.c: Likewise.
63155         * lib/javacomp.c: Likewise.
63156         * lib/javaversion.c: Likewise.
63157         * lib/yesno.c: Likewise.
63158         * lib/getdelim.c: Likewise.
63159         (getdelim): Set errno on failure, and avoid memory leak.
63160
63161 2007-08-19  Bruno Haible  <bruno@clisp.org>
63162
63163         * modules/closein (Depends-on): Add freadahead.
63164         * lib/closein.c: Include freadahead.h.
63165         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
63166         is zero.
63167
63168 2007-08-19  Bruno Haible  <bruno@clisp.org>
63169
63170         * modules/freadahead-tests: New file.
63171         * tests/test-freadahead.sh: New file.
63172         * tests/test-freadahead.c: New file.
63173
63174         * modules/freadahead: New file.
63175         * lib/freadahead.h: New file.
63176         * lib/freadahead.c: New file.
63177         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
63178         fbufmode, fpurge, freadable, fwritable.
63179
63180 2007-08-19  Eric Blake  <ebb9@byu.net>
63181
63182         Test yesno in combination with closein.
63183         * lib/yesno.c (yesno): Document use of stdin.
63184         * modules/yesno-tests (Files): New module.
63185         * tests/test-yesno.c (main): New file.
63186         * tests/test-yesno.sh: Likewise.
63187
63188 2007-08-19  Bruno Haible  <bruno@clisp.org>
63189
63190         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
63191         * lib/fseeko.c (rpl_fseeko): Likewise.
63192         * lib/fseterr.c (fseterr): Likewise.
63193
63194 2007-08-19  Bruno Haible  <bruno@clisp.org>
63195
63196         * tests/test-lseek.c (main): Disable a test for BeOS.
63197         * doc/functions/lseek.texi: Document the BeOS bug.
63198
63199 2007-08-19  Bruno Haible  <bruno@clisp.org>
63200             Eric Blake  <ebb9@byu.net>
63201
63202         * lib/lseek.c: Include <sys/stat.h>.
63203         (rpl_lseek): Add workaround code also for Unix platforms.
63204         Needed for BeOS.
63205         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
63206         * doc/functions/lseek.texi: Document BeOS definiency.
63207
63208 2007-08-18  Bruno Haible  <bruno@clisp.org>
63209
63210         * modules/fstrcmp-tests: New file.
63211         * tests/test-fstrcmp.c: New file.
63212
63213 2007-08-18  Bruno Haible  <bruno@clisp.org>
63214
63215         * modules/fstrcmp: New file, from GNU gettext with modifications.
63216         * lib/fstrcmp.h: New file, from GNU gettext.
63217         * lib/fstrcmp.c: New file, from GNU gettext.
63218         * MODULES.html.sh (String handling): Add fstrcmp.
63219
63220 2007-08-18  Bruno Haible  <bruno@clisp.org>
63221
63222         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
63223         'bool'.
63224         (diag, compareseq): Remove const from the ctxt argument.
63225         (USE_HEURISTIC): Undefine at the end.
63226
63227 2007-08-18  Jim Meyering  <jim@meyering.net>
63228
63229         New file: lib/idcache.h
63230         * NEWS: Mention the addition.
63231         * modules/idcache (Files): Add lib/idcache.h
63232         * lib/idcache.c: Include "idcache.h".
63233         Don't include <sys/types.h>.
63234         Add a FIXME comment.
63235         Move file-scoped "static" declarations to the top.
63236         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
63237
63238 2007-08-17  Bruno Haible  <bruno@clisp.org>
63239         and Paul Eggert  <eggert@cs.ucla.edu>
63240
63241         * MODULES.html.sh: Add diffseq.
63242         * modules/diffseq: New file.
63243         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
63244         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
63245
63246 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
63247
63248         Import changes from coreutils for bootstrap script.
63249
63250         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
63251
63252         * build-aux/bootstrap (slurp): Work even in environments where
63253         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
63254         current code does not slurp files whose names start with ".", and
63255         this looks like it might be a troublesome area.
63256
63257         2007-07-11  Jim Meyering  <jim@meyering.net>
63258
63259         If there's a GPL vN copyright comment, require that N == 3.
63260
63261         2007-07-08  Jim Meyering  <jim@meyering.net>
63262
63263         Run the coreutils-specific code only if tests/Makefile.am.in exists.
63264         * build-aux/bootstrap (mam_template): Move definition out of loop.
63265
63266         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
63267
63268         * build-aux/bootstrap (symlink_to_dir): Rename function from
63269         symlink_to_gnulib.  Add a directory parameter.  Update all
63270         callers.
63271         (cp_mark_as_generated): Also check for -- and link to -- files in
63272         gl/.
63273
63274         2007-07-08  Jim Meyering  <jim@meyering.net>
63275
63276         Adapt to deeper hierarchy in gnulib.
63277         * build-aux/bootstrap (symlink_to_dir): If the destination
63278         directory doesn't exist, create it. This is required at least for
63279         "lib/uniwidth/cjk.h".
63280
63281         2007-05-15  Jim Meyering  <jim@meyering.net>
63282
63283         * build-aux/bootstrap: Now that generated Makefile.am files
63284         are no longer under version control, they must be created at
63285         bootstrap time.
63286
63287 2007-08-14  Ben Pfaff  <blp@gnu.org>
63288
63289         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
63290
63291 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
63292
63293         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
63294         given the changes below.
63295         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
63296         even on hosts that have padding bits beyond the supported 64.
63297
63298 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
63299
63300         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
63301         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
63302         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
63303         depends on it.
63304         (xstrtol_error): Remove.
63305         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
63306         but with a different signature.
63307         (ATTRIBUTE_NORETURN, __attribute__): New macros.
63308         * lib/xstrtol-error.c: Include exitfail.h.
63309         (xstrtol_fatal): New function, with a different signature from the
63310         old xstrtol_error, so that the caller need not worry about passing
63311         in an exit status, or about storage management of the option argument.
63312         (xstrtol_error): Now a static function.  Redo signature to
63313         implement xstrtol_fatal.  Output the correct number of hyphens in
63314         front of the option so that the caller need not worry about
63315         storage management.
63316         (N_): New macro.
63317         (_): Remove; not used now.
63318         * modules/xstrtol: Depend on getopt.
63319         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
63320         of old STRTOL_FATAL_ERROR macro.
63321         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
63322         of test program.
63323         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
63324         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
63325
63326 2007-08-08  Eric Blake  <ebb9@byu.net>
63327
63328         * lib/xstrtol-error.c: Add missing include.
63329
63330         Move xstrtol messages into gnulib domain, when --pobase is used.
63331         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
63332         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
63333         * modules/xstrtol (Files): Distribute new file.
63334         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
63335         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
63336         * tests/test-xstrtol.c: ...into new file.
63337         * tests/test-xstrtoul.c: Also test xstrtoul.
63338         * tests/test-xstrtoimax.c: Also test xstrtoimax.
63339         * tests/test-xstrtoumax.c: Also test xstrtoumax.
63340         * tests/test-xstrtol.sh: Drive the tests.
63341         * tests/test-xstrtoimax.sh: Likewise.
63342         * tests/test-xstrtoumax.sh: Likewise.
63343         * modules/xstrtol-tests: New module.
63344         * modules/xstrtoimax-tests: Likewise.
63345         * modules/xstrtoumax-tests: Likewise.
63346
63347 2007-08-08  Jim Meyering  <jim@meyering.net>
63348
63349         New function: mfile_name_concat.
63350         * lib/filenamecat.c (mfile_name_concat): New function, just like
63351         file_name_concat, but return NULL upon failure rather than exiting
63352         with a diagnostic.
63353         * lib/filenamecat.h: Declare it.
63354
63355 2007-08-07  Bruno Haible  <bruno@clisp.org>
63356
63357         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
63358         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
63359         warning from gcc.
63360         Reported by Eric Blake.
63361
63362 2007-08-07  Simon Josefsson  <simon@josefsson.org>
63363
63364         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
63365         * modules/crypto/arcfour (License): Likewise.
63366         * modules/crypto/des-tests (License): Likewise.
63367         * modules/crypto/gc-arctwo-tests (License): Likewise.
63368         * modules/crypto/gc-des-tests (License): Likewise.
63369         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
63370         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
63371         * modules/crypto/gc-md2-tests (License): Likewise.
63372         * modules/crypto/gc-md4-tests (License): Likewise.
63373         * modules/crypto/gc-md5-tests (License): Likewise.
63374         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
63375         * modules/crypto/gc-rijndael-tests (License): Likewise.
63376         * modules/crypto/gc-sha1-tests (License): Likewise.
63377         * modules/crypto/gc-tests (License): Likewise.
63378         * modules/crypto/hmac-md5 (License): Likewise.
63379         * modules/crypto/hmac-sha1 (License): Likewise.
63380         * modules/crypto/md2-tests (License): Likewise.
63381         * modules/crypto/md4-tests (License): Likewise.
63382         * modules/crypto/md5 (License): Likewise.
63383         * modules/crypto/rijndael (License): Likewise.
63384         * modules/crypto/sha1 (License): Likewise.
63385         * modules/memxor (License): Likewise.
63386
63387 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
63388         and Bruno Haible  <bruno@clisp.org>
63389
63390         * NEWS: Describe interface changes to human, xstrtol.
63391         * lib/human.h: Include <xstrtol.h>.
63392         (human_options): Return enum strtol_error, not int.  Remove
63393         bool arg; take int * instead.
63394         * lib/human.c: Don't include "gettext.h".
63395         (_): Remove; no longer used.
63396         Don't include <xstrtol.h>, since human.h does it.
63397         (human_options): Adjust to abovementioned interface changes.
63398         Do not report error to stderr; that's now the caller's
63399         responsibility.
63400         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
63401         interface change.
63402         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
63403         Str, Argument_type_string.  All uses changed.  Put " argument"
63404         in diagnostics to make them clearer.  Change wording of suffix
63405         message for clarity.
63406         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
63407         Argument_type_string.
63408         (STRTOL_FATAL_WARN): Remove; no longer used.
63409         * modules/human (Depends-on): Remove gettext-h.
63410
63411 2007-08-06  Simon Josefsson  <simon@josefsson.org>
63412
63413         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
63414
63415 2007-07-31  Bruno Haible  <bruno@clisp.org>
63416
63417         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
63418         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
63419         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
63420
63421 2007-07-31  Bruno Haible  <bruno@clisp.org>
63422
63423         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
63424         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
63425
63426 2007-07-30  Bruno Haible  <bruno@clisp.org>
63427
63428         * modules/base64 (License): Use the synonymous term "LGPLv2+".
63429         * modules/c-ctype (License): Likewise.
63430         * modules/c-strcase (License): Likewise.
63431         * modules/check-version (License): Likewise.
63432         * modules/iconv (License): Likewise.
63433         * modules/iconv_open (License): Likewise.
63434         * modules/read-file (License): Likewise.
63435         * modules/striconv (License): Likewise.
63436         * modules/strverscmp (License): Likewise.
63437         * modules/vasprintf (License): Likewise.
63438         * modules/crypto/des (License): Likewise.
63439         * modules/crypto/gc (License): Likewise.
63440         * modules/crypto/gc-arcfour (License): Likewise.
63441         * modules/crypto/gc-arctwo (License): Likewise.
63442         * modules/crypto/gc-des (License): Likewise.
63443         * modules/crypto/gc-hmac-md5 (License): Likewise.
63444         * modules/crypto/gc-hmac-sha1 (License): Likewise.
63445         * modules/crypto/gc-md2 (License): Likewise.
63446         * modules/crypto/gc-md4 (License): Likewise.
63447         * modules/crypto/gc-md5 (License): Likewise.
63448         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
63449         * modules/crypto/gc-random (License): Likewise.
63450         * modules/crypto/gc-rijndael (License): Likewise.
63451         * modules/crypto/gc-sha1 (License): Likewise.
63452         * modules/crypto/md2 (License): Likewise.
63453         * modules/crypto/md4 (License): Likewise.
63454
63455 2007-07-30  Jim Meyering  <jim@meyering.net>
63456
63457         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
63458         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
63459         it has valid stat data.  This bug would cause du not to count the
63460         sizes of inaccessible directories.
63461         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
63462         in <http://bugzilla.redhat.com/250077>.
63463
63464 2007-07-25  Peter O'Gorman  <peter@pogma.com>
63465             Bruno Haible  <bruno@clisp.org>
63466
63467         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
63468         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
63469         #include_next, gives a diagnostic about it, but reports no error in
63470         the exit code.
63471         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
63472
63473 2007-07-24  Ben Pfaff  <blp@gnu.org>
63474
63475         Improve name: "count-one-bits" is better than "popcount".
63476         * MODULES.html.sh: Update name.
63477         * lib/popcount.h: Renamed lib/count-one-bits.h.
63478         (popcount): Renamed count_one_bits.
63479         (popcountl): Renamed count_one_bits_l.
63480         (popcountll): Renamed count_one_bits_ll.
63481         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
63482         * modules/popcount: Renamed module/count-one-bits.
63483         * modules/popcount-tests: Renamed module/count-one-bits-tests.
63484         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
63485
63486 2007-07-23  Ben Pfaff  <blp@gnu.org>
63487
63488         * lib/popcount.h (popcount32): Reduce size of constants, to allow
63489         better code generation, and add U to large constants to avoid
63490         warnings, in non-GCC case.
63491         Suggested by Bruno Haible.
63492
63493 2007-07-23  Ben Pfaff  <blp@gnu.org>
63494
63495         * lib/popcount.h: Use verify_true instead of if...abort.
63496         * modules/popcount: Depend on verify module.
63497         Suggested by Jim Meyering.
63498
63499 2007-07-23  Bruno Haible  <bruno@clisp.org>
63500
63501         * gnulib-tool (func_import): Create a .cvsignore file also when the
63502         directory is not yet in CVS but the toplevel directory is. When
63503         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
63504         Reported by Karl Berry.
63505
63506 2007-07-22  Ben Pfaff  <blp@gnu.org>
63507
63508         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
63509         case.
63510         Suggested by Eric Blake.
63511
63512 2007-07-22  Ben Pfaff  <blp@gnu.org>
63513
63514         New module: popcount.
63515         * MODULES.html.sh: Add popcount.
63516         * modules/popcount: New file.
63517         * modules/popcount-tests: New file.
63518         * tests/test-popcount.c: New file.
63519         * lib/popcount.h: New file.
63520         * m4/popcount.m4: New file.
63521
63522 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
63523
63524         * build-aux/announce-gen: Update to GPLv3.
63525
63526         * build-aux/config.guess: Update from config.
63527
63528 2007-07-21  Bruno Haible  <bruno@clisp.org>
63529
63530         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
63531         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
63532
63533 2007-07-20  Jim Meyering  <jim@meyering.net>
63534
63535         * check-module: Diagnose a self-dependency.
63536
63537 2007-07-19  Bruno Haible  <bruno@clisp.org>
63538
63539         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
63540         empty.
63541         Reported by Eric Blake.
63542
63543 2007-07-18  Bruno Haible  <bruno@clisp.org>
63544
63545         * gnulib-tool: New options --po-base, --po-domain.
63546         (func_usage): Document them.
63547         (pobase, po_domain): New variables.
63548         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
63549         DEFAULT_TEXT_DOMAIN.
63550         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
63551         (func_import): Consider pobase and po_domain. Create a po/ directory.
63552         (func_create_testdir): Set pobase and po_domain to empty.
63553         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
63554         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
63555
63556 2007-07-18  Bruno Haible  <bruno@clisp.org>
63557
63558         * gnulib-tool (func_get_automake_snippet): Synthesize also an
63559         EXTRA_DIST augmentation for files in build-aux/.
63560
63561 2007-07-16  Bruno Haible  <bruno@clisp.org>
63562
63563         * modules/lseek (License): Use the synonymous term "LGPLv2+".
63564         * modules/getdelim (License): Likewise.
63565
63566 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63567
63568         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
63569         * modules/d-type (License): Likewise.
63570         * modules/extensions (License): Likewise.
63571         * modules/fnmatch (License): Likewise.
63572         * modules/fseeko (License): Likewise.
63573         * modules/getaddrinfo (License): Likewise.
63574         * modules/getline (License): Likewise.
63575         * modules/getlogin_r (License): Likewise.
63576         * modules/getpass (License): Likewise.
63577         * modules/gettimeofday (License): Likewise.
63578         * modules/glob (License): Likewise.
63579         * modules/inet_ntop (License): Likewise.
63580         * modules/malloc (License): Likewise.
63581         * modules/malloca (License): Likewise.
63582         * modules/memmem (License): Likewise.
63583         * modules/mempcpy (License): Likewise.
63584         * modules/memset (License): Likewise.
63585         * modules/minmax (License): Likewise.
63586         * modules/mktime (License): Likewise.
63587         * modules/netinet_in (License): Likewise.
63588         * modules/pathmax (License): Likewise.
63589         * modules/poll (License): Likewise.
63590         * modules/regex (License): Likewise.
63591         * modules/snprintf (License): Likewise.
63592         * modules/stdbool (License): Likewise.
63593         * modules/stdint (License): Likewise.
63594         * modules/stdio (License): Likewise.
63595         * modules/strcase (License): Likewise.
63596         * modules/strcasestr (License): Likewise.
63597         * modules/strdup (License): Likewise.
63598         * modules/string (License): Likewise.
63599         * modules/strndup (License): Likewise.
63600         * modules/strnlen (License): Likewise.
63601         * modules/strpbrk (License): Likewise.
63602         * modules/strptime (License): Likewise.
63603         * modules/strsep (License): Likewise.
63604         * modules/sys_select (License): Likewise.
63605         * modules/sys_socket (License): Likewise.
63606         * modules/sys_stat (License): Likewise.
63607         * modules/sys_time (License): Likewise.
63608         * modules/time (License): Likewise.
63609         * modules/time_r (License): Likewise.
63610         * modules/timegm (License): Likewise.
63611         * modules/unistd (License): Likewise.
63612         * modules/vsnprintf (License): Likewise.
63613         * modules/wctype (License): Likewise.
63614
63615 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63616
63617         * modules/argz (License): LGPLv2+.
63618
63619 2007-07-15  Karl Berry  <karl@gnu.org>
63620
63621         * doc/gnulib.texi: revise node structure per new fdl.texi.
63622
63623 2007-07-14  Bruno Haible  <bruno@clisp.org>
63624
63625         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
63626         the output file.
63627         * lib/uniname/uninames.h: Regenerated.
63628
63629 2007-07-14  Karl Berry  <karl@gnu.org>
63630
63631         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
63632         omitting sectioning and index commands.
63633
63634 2007-07-13  Bruno Haible  <bruno@clisp.org>
63635
63636         New gnulib-tool option --more-symlinks.
63637         * gnulib-tool (func_usage): Document --more-symlinks.
63638         (do_copyrights): New variable.
63639         Recognize option --more-symlinks.
63640         (func_import): Don't add a copyright notice transform to
63641         sed_transform_lib_file if do_copyrights is empty.
63642
63643 2007-07-13  Bruno Haible  <bruno@clisp.org>
63644
63645         * lib/vasnprintf.c (decimal_point_char): Define also if
63646         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
63647         && !NEED_PRINTF_DIRECTIVE_A.
63648         Reported by Clemens Koller <clemens.koller@anagramm.de> via
63649         Gary V. Vaughan <gary@gnu.org>.
63650
63651 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
63652
63653         * lib/inttypes_.h: Undo previous change, since it was fixed
63654         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
63655
63656 2007-07-13  Bruno Haible  <bruno@clisp.org>
63657
63658         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
63659         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
63660
63661 2007-07-13  Jim Meyering  <jim@meyering.net>
63662
63663         df: Don't fail for Tru64's "file-on-file mount".
63664         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
63665         so we fall through and use statfs instead.  Details here:
63666         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
63667         Reported by Albert Chin.
63668
63669 2007-07-13  Bruno Haible  <bruno@clisp.org>
63670
63671         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
63672         * modules/configmake (License): Likewise.
63673         * modules/gettext (License): Likewise.
63674         * modules/gettext-h (License): Likewise.
63675         * modules/include_next (License): Likewise.
63676         * modules/link-warning (License): Likewise.
63677         * modules/localcharset (License): Likewise.
63678         * modules/localename (License): Likewise.
63679         * modules/lock (License): Likewise.
63680         * modules/relocatable-lib-lgpl (License): Likewise.
63681         * modules/size_max (License): Likewise.
63682         * modules/vasnprintf (License): Likewise.
63683         * modules/wchar (License): Likewise.
63684         * modules/xsize (License): Likewise.
63685
63686 2007-07-13  Bruno Haible  <bruno@clisp.org>
63687
63688         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
63689         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
63690
63691 2007-07-12  Bruno Haible  <bruno@clisp.org>
63692
63693         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
63694         in the modules files.
63695
63696 2007-07-11  Karl Berry  <karl@gnu.org>
63697
63698         * MODULES.html.sh (func_module): use
63699          sed -e '\|^'"${includefile}"'$|d'
63700          instead of /.../d, to avoid errors on $includefile's containing /.
63701
63702 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
63703
63704         * gnulib-tool (func_import): Avoid duplication of --avoid
63705         statements
63706         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
63707         names to `_' in variable names.
63708
63709 2007-07-10  Eric Blake  <ebb9@byu.net>
63710
63711         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
63712         * NEWS: Document this change.
63713
63714 2007-07-08  Bruno Haible  <bruno@clisp.org>
63715
63716         Update to Unicode 5.0.
63717         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
63718         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
63719         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
63720         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
63721         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
63722         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
63723         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
63724         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
63725         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
63726         U+10A3F, U+1D242..U+1D244.
63727         (nonspacing_table_ind): Update.
63728         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
63729         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
63730
63731 2007-07-08  Bruno Haible  <bruno@clisp.org>
63732
63733         Update to Unicode 5.0.
63734         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
63735         code transform. Extend the name index field of unicode_name_to_code and
63736         unicode_code_to_name from 16 to 24 bits.
63737         * lib/uniname/uniname.c (unicode_character_name,
63738         unicode_name_character): Add the range 0x12xxx to the code transform.
63739         * lib/uniname/uninames.h: Regenerated.
63740         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
63741
63742 2007-07-07  Bruno Haible  <bruno@clisp.org>
63743
63744         * modules/wcwidth-tests: New file.
63745         * tests/test-wcwidth.c: New file.
63746
63747         Work around MacOS X wcwidth() bug.
63748         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
63749         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
63750         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
63751         original wcwidth in non-UTF-8 locales.
63752         * modules/wcwidth (Depends-on): Add localcharset, streq,
63753         uniwidth/width.
63754         * doc/functions/wcwidth.texi: Update.
63755
63756 2007-07-07  Bruno Haible  <bruno@clisp.org>
63757
63758         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
63759         (wcwidth): New declaration.
63760         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
63761         macros.
63762         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
63763         here. Prepare for creating <wchar.h> unconditionally.
63764         * modules/wchar (Depends-on): Add link-warning.
63765         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
63766         REPLACE_WCWIDTH, and GL_LINK_WARNING.
63767         * lib/wcwidth.h: Remove file.
63768         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
63769         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
63770         * modules/wcwidth (Files): Remove lib/wcwidth.h.
63771         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
63772         (Include): Replace wcwidth.h with <wchar.h>.
63773         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
63774         * lib/mbchar.h: Don't include wcwidth.h.
63775         * lib/mbswidth.c: Likewise.
63776         * NEWS: Mention the change.
63777
63778 2007-07-07  Bruno Haible  <bruno@clisp.org>
63779
63780         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
63781         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
63782         definition with an external declaration.
63783         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
63784         defined as a function. Remove AC_C_INLINE requirement.
63785         * modules/wcwidth (Files): Add lib/wcwidth.c.
63786         (Makefile.am): Remove redundant statement.
63787
63788 2007-07-07  Bruno Haible  <bruno@clisp.org>
63789
63790         * MODULES.html.sh (Unicode string functions): Add the new modules.
63791
63792         * tests/uniwidth/test-u32-strwidth.c: New file.
63793         * modules/uniwidth/u32-strwidth-tests: New file.
63794
63795         * lib/uniwidth/u32-strwidth.c: New file.
63796         * modules/uniwidth/u32-strwidth: New file.
63797
63798         * tests/uniwidth/test-u16-strwidth.c: New file.
63799         * modules/uniwidth/u16-strwidth-tests: New file.
63800
63801         * lib/uniwidth/u16-strwidth.c: New file.
63802         * modules/uniwidth/u16-strwidth: New file.
63803
63804         * tests/uniwidth/test-u8-strwidth.c: New file.
63805         * modules/uniwidth/u8-strwidth-tests: New file.
63806
63807         * lib/uniwidth/u8-strwidth.c: New file.
63808         * modules/uniwidth/u8-strwidth: New file.
63809
63810         * tests/uniwidth/test-u32-width.c: New file.
63811         * modules/uniwidth/u32-width-tests: New file.
63812
63813         * lib/uniwidth/u32-width.c: New file.
63814         * modules/uniwidth/u32-width: New file.
63815
63816         * tests/uniwidth/test-u16-width.c: New file.
63817         * modules/uniwidth/u16-width-tests: New file.
63818
63819         * lib/uniwidth/u16-width.c: New file.
63820         * modules/uniwidth/u16-width: New file.
63821
63822         * tests/uniwidth/test-u8-width.c: New file.
63823         * modules/uniwidth/u8-width-tests: New file.
63824
63825         * lib/uniwidth/u8-width.c: New file.
63826         * modules/uniwidth/u8-width: New file.
63827
63828         * tests/uniwidth/test-uc_width.c: New file.
63829         * modules/uniwidth/width-tests: New file.
63830
63831         * lib/uniwidth/width.c: New file, from GNU libiconv.
63832         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
63833         * modules/uniwidth/width: New file.
63834
63835         * lib/uniwidth.h: New file, from GNU libiconv.
63836         * modules/uniwidth/base: New file.
63837
63838 2007-07-07  Bruno Haible  <bruno@clisp.org>
63839
63840         * lib/uniname.h: New file, from GNU gettext.
63841         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
63842         * lib/uniname/uninames.h: New file, from GNU gettext.
63843         * lib/uniname/uniname.c: New file, from GNU gettext.
63844         * tests/uniname/test-uninames.sh: New file.
63845         * tests/uniname/test-uninames.c: New file, from GNU gettext.
63846         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
63847         * modules/uniname/base: New file.
63848         * modules/uniname/uniname: New file.
63849         * modules/uniname/uniname-tests: New file.
63850         * MODULES.html.sh (Unicode string functions): Add the new modules.
63851
63852 2007-07-06  Bruno Haible  <bruno@clisp.org>
63853
63854         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
63855
63856 2007-07-06  Bruno Haible  <bruno@clisp.org>
63857
63858         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
63859         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
63860         includes <cygwin/sys_time.h> which includes <sys/select.h> which
63861         include <sys/time.h>.
63862         Reported by Eric Blake.
63863
63864 2007-07-06  Eric Blake  <ebb9@byu.net>
63865
63866         Fix testing canonicalize on cygwin.
63867         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
63868         Revert patch from 2007-06-19.
63869         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
63870         canonicalize module is also in use.
63871         * tests/test-canonicalize.c: New file.
63872         * tests/test-canonicalize.sh: Likewise.
63873         * modules/canonicalize-tests: Likewise.
63874
63875 2007-07-06  Jim Meyering  <jim@meyering.net>
63876
63877         * lib/getugroups.c (getugroups): Detect getgrent failure.
63878         Adjust comment to reflect reality: this function may return -1.
63879
63880 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
63881
63882         * build-aux/bootstrap (TP_URL,get_translations): Update to use
63883         the new TP address.
63884         (usage): Fix typo
63885         (gnulib_mk): New variable.
63886
63887 2007-07-05  Jim Meyering  <jim@meyering.net>
63888
63889         Don't let endgrent clobber errno, no matter how improbable.
63890         * lib/getugroups.c (getugroups): Save and restore errno around
63891         endgrent call.
63892
63893         Close the group DB even when failing with 2^31 or more members.
63894         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
63895
63896 2007-07-04  Jim Meyering  <jim@meyering.net>
63897
63898         * lib/getugroups.h: New file.
63899         * lib/getugroups.c: Include "getugroups.h".
63900         Remove uses of "register" keyword.
63901         Move local variable, "cp", down into scope where used.
63902         Give "username" parameter the "const" attribute.
63903         * modules/getugroups (Files): Add lib/getugroups.h
63904
63905 2007-07-04  Karl Berry  <karl@gnu.org>
63906
63907         * MODULES.html.sh (func_all_modules): Complete rename of
63908         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
63909
63910 2007-07-02  Bruno Haible  <bruno@clisp.org>
63911
63912         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
63913         mode, when inttypes.h comes from gnulib.
63914         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
63915
63916 2007-07-02  Simon Josefsson  <simon@josefsson.org>
63917
63918         * NEWS: Mention lgpl module name change.
63919
63920         * modules/lgpl-2.1: Renamed from lgpl.
63921
63922         * NEWS: Mention gpl module name change.
63923
63924         * modules/gpl-3.0: New file, based on gpl-2.0.
63925
63926         * modules/gpl-2.0: Renamed from gpl.
63927
63928         * modules/gpl: Fix filename, doc/gpl.texi is now found at
63929         doc/gpl-2.0.texi.
63930
63931 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
63932
63933         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
63934         #define __STDC_LIMIT_MACROS temporarily while including
63935         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
63936         Problem reported by Joel E. Denny in
63937         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
63938
63939 2007-07-01  Bruno Haible  <bruno@clisp.org>
63940
63941         * lib/unistdio.h: New file.
63942         * lib/unistdio/u-asnprintf.h: New file.
63943         * lib/unistdio/u-asprintf.h: New file.
63944         * lib/unistdio/u-printf-args.c: New file.
63945         * lib/unistdio/u-printf-args.h: New file.
63946         * lib/unistdio/u-printf-parse.h: New file.
63947         * lib/unistdio/u-snprintf.h: New file.
63948         * lib/unistdio/u-sprintf.h: New file.
63949         * lib/unistdio/u-vasprintf.h: New file.
63950         * lib/unistdio/u-vsnprintf.h: New file.
63951         * lib/unistdio/u-vsprintf.h: New file.
63952         * lib/unistdio/ulc-asnprintf.c: New file.
63953         * lib/unistdio/ulc-asprintf.c: New file.
63954         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
63955         * lib/unistdio/ulc-printf-parse.c: New file.
63956         * lib/unistdio/ulc-snprintf.c: New file.
63957         * lib/unistdio/ulc-sprintf.c: New file.
63958         * lib/unistdio/ulc-vasnprintf.c: New file.
63959         * lib/unistdio/ulc-vasprintf.c: New file.
63960         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
63961         * lib/unistdio/ulc-vsnprintf.c: New file.
63962         * lib/unistdio/ulc-vsprintf.c: New file.
63963         * lib/unistdio/u8-asnprintf.c: New file.
63964         * lib/unistdio/u8-asprintf.c: New file.
63965         * lib/unistdio/u8-printf-parse.c: New file.
63966         * lib/unistdio/u8-snprintf.c: New file.
63967         * lib/unistdio/u8-sprintf.c: New file.
63968         * lib/unistdio/u8-vasnprintf.c: New file.
63969         * lib/unistdio/u8-vasprintf.c: New file.
63970         * lib/unistdio/u8-vsnprintf.c: New file.
63971         * lib/unistdio/u8-vsprintf.c: New file.
63972         * lib/unistdio/u8-u8-asnprintf.c: New file.
63973         * lib/unistdio/u8-u8-asprintf.c: New file.
63974         * lib/unistdio/u8-u8-snprintf.c: New file.
63975         * lib/unistdio/u8-u8-sprintf.c: New file.
63976         * lib/unistdio/u8-u8-vasnprintf.c: New file.
63977         * lib/unistdio/u8-u8-vasprintf.c: New file.
63978         * lib/unistdio/u8-u8-vsnprintf.c: New file.
63979         * lib/unistdio/u8-u8-vsprintf.c: New file.
63980         * lib/unistdio/u16-asnprintf.c: New file.
63981         * lib/unistdio/u16-asprintf.c: New file.
63982         * lib/unistdio/u16-printf-parse.c: New file.
63983         * lib/unistdio/u16-snprintf.c: New file.
63984         * lib/unistdio/u16-sprintf.c: New file.
63985         * lib/unistdio/u16-vasnprintf.c: New file.
63986         * lib/unistdio/u16-vasprintf.c: New file.
63987         * lib/unistdio/u16-vsnprintf.c: New file.
63988         * lib/unistdio/u16-vsprintf.c: New file.
63989         * lib/unistdio/u16-u16-asnprintf.c: New file.
63990         * lib/unistdio/u16-u16-asprintf.c: New file.
63991         * lib/unistdio/u16-u16-snprintf.c: New file.
63992         * lib/unistdio/u16-u16-sprintf.c: New file.
63993         * lib/unistdio/u16-u16-vasnprintf.c: New file.
63994         * lib/unistdio/u16-u16-vasprintf.c: New file.
63995         * lib/unistdio/u16-u16-vsnprintf.c: New file.
63996         * lib/unistdio/u16-u16-vsprintf.c: New file.
63997         * lib/unistdio/u32-asnprintf.c: New file.
63998         * lib/unistdio/u32-asprintf.c: New file.
63999         * lib/unistdio/u32-printf-parse.c: New file.
64000         * lib/unistdio/u32-snprintf.c: New file.
64001         * lib/unistdio/u32-sprintf.c: New file.
64002         * lib/unistdio/u32-vasnprintf.c: New file.
64003         * lib/unistdio/u32-vasprintf.c: New file.
64004         * lib/unistdio/u32-vsnprintf.c: New file.
64005         * lib/unistdio/u32-vsprintf.c: New file.
64006         * lib/unistdio/u32-u32-asnprintf.c: New file.
64007         * lib/unistdio/u32-u32-asprintf.c: New file.
64008         * lib/unistdio/u32-u32-snprintf.c: New file.
64009         * lib/unistdio/u32-u32-sprintf.c: New file.
64010         * lib/unistdio/u32-u32-vasnprintf.c: New file.
64011         * lib/unistdio/u32-u32-vasprintf.c: New file.
64012         * lib/unistdio/u32-u32-vsnprintf.c: New file.
64013         * lib/unistdio/u32-u32-vsprintf.c: New file.
64014         * tests/unistdio/test-ulc-asnprintf1.c: New file.
64015         * tests/unistdio/test-ulc-asnprintf1.h: New file.
64016         * tests/unistdio/test-ulc-printf1.h: New file.
64017         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
64018         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
64019         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
64020         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
64021         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
64022         * tests/unistdio/test-ulc-vasprintf1.c: New file.
64023         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
64024         * tests/unistdio/test-ulc-vsprintf1.c: New file.
64025         * tests/unistdio/test-u8-asnprintf1.c: New file.
64026         * tests/unistdio/test-u8-asnprintf1.h: New file.
64027         * tests/unistdio/test-u8-printf1.h: New file.
64028         * tests/unistdio/test-u8-vasnprintf1.c: New file.
64029         * tests/unistdio/test-u8-vasnprintf2.c: New file.
64030         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
64031         * tests/unistdio/test-u8-vasnprintf3.c: New file.
64032         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
64033         * tests/unistdio/test-u8-vasprintf1.c: New file.
64034         * tests/unistdio/test-u8-vsnprintf1.c: New file.
64035         * tests/unistdio/test-u8-vsprintf1.c: New file.
64036         * tests/unistdio/test-u16-asnprintf1.c: New file.
64037         * tests/unistdio/test-u16-asnprintf1.h: New file.
64038         * tests/unistdio/test-u16-printf1.h: New file.
64039         * tests/unistdio/test-u16-vasnprintf1.c: New file.
64040         * tests/unistdio/test-u16-vasnprintf2.c: New file.
64041         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
64042         * tests/unistdio/test-u16-vasnprintf3.c: New file.
64043         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
64044         * tests/unistdio/test-u16-vasprintf1.c: New file.
64045         * tests/unistdio/test-u16-vsnprintf1.c: New file.
64046         * tests/unistdio/test-u16-vsprintf1.c: New file.
64047         * tests/unistdio/test-u32-asnprintf1.c: New file.
64048         * tests/unistdio/test-u32-asnprintf1.h: New file.
64049         * tests/unistdio/test-u32-printf1.h: New file.
64050         * tests/unistdio/test-u32-vasnprintf1.c: New file.
64051         * tests/unistdio/test-u32-vasnprintf2.c: New file.
64052         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
64053         * tests/unistdio/test-u32-vasnprintf3.c: New file.
64054         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
64055         * tests/unistdio/test-u32-vasprintf1.c: New file.
64056         * tests/unistdio/test-u32-vsnprintf1.c: New file.
64057         * tests/unistdio/test-u32-vsprintf1.c: New file.
64058         * modules/unistdio/base: New file.
64059         * modules/unistdio/u-printf-args: New file.
64060         * modules/unistdio/ulc-asnprintf: New file.
64061         * modules/unistdio/ulc-asprintf: New file.
64062         * modules/unistdio/ulc-fprintf: New file.
64063         * modules/unistdio/ulc-printf-parse: New file.
64064         * modules/unistdio/ulc-snprintf: New file.
64065         * modules/unistdio/ulc-sprintf: New file.
64066         * modules/unistdio/ulc-vasnprintf: New file.
64067         * modules/unistdio/ulc-vasprintf: New file.
64068         * modules/unistdio/ulc-vfprintf: New file.
64069         * modules/unistdio/ulc-vsnprintf: New file.
64070         * modules/unistdio/ulc-vsprintf: New file.
64071         * modules/unistdio/u8-asnprintf: New file.
64072         * modules/unistdio/u8-asprintf: New file.
64073         * modules/unistdio/u8-printf-parse: New file.
64074         * modules/unistdio/u8-snprintf: New file.
64075         * modules/unistdio/u8-sprintf: New file.
64076         * modules/unistdio/u8-vasnprintf: New file.
64077         * modules/unistdio/u8-vasprintf: New file.
64078         * modules/unistdio/u8-vsnprintf: New file.
64079         * modules/unistdio/u8-vsprintf: New file.
64080         * modules/unistdio/u8-u8-asnprintf: New file.
64081         * modules/unistdio/u8-u8-asprintf: New file.
64082         * modules/unistdio/u8-u8-snprintf: New file.
64083         * modules/unistdio/u8-u8-sprintf: New file.
64084         * modules/unistdio/u8-u8-vasnprintf: New file.
64085         * modules/unistdio/u8-u8-vasprintf: New file.
64086         * modules/unistdio/u8-u8-vsnprintf: New file.
64087         * modules/unistdio/u8-u8-vsprintf: New file.
64088         * modules/unistdio/u16-asnprintf: New file.
64089         * modules/unistdio/u16-asprintf: New file.
64090         * modules/unistdio/u16-printf-parse: New file.
64091         * modules/unistdio/u16-snprintf: New file.
64092         * modules/unistdio/u16-sprintf: New file.
64093         * modules/unistdio/u16-vasnprintf: New file.
64094         * modules/unistdio/u16-vasprintf: New file.
64095         * modules/unistdio/u16-vsnprintf: New file.
64096         * modules/unistdio/u16-vsprintf: New file.
64097         * modules/unistdio/u16-u16-asnprintf: New file.
64098         * modules/unistdio/u16-u16-asprintf: New file.
64099         * modules/unistdio/u16-u16-snprintf: New file.
64100         * modules/unistdio/u16-u16-sprintf: New file.
64101         * modules/unistdio/u16-u16-vasnprintf: New file.
64102         * modules/unistdio/u16-u16-vasprintf: New file.
64103         * modules/unistdio/u16-u16-vsnprintf: New file.
64104         * modules/unistdio/u16-u16-vsprintf: New file.
64105         * modules/unistdio/u32-asnprintf: New file.
64106         * modules/unistdio/u32-asprintf: New file.
64107         * modules/unistdio/u32-printf-parse: New file.
64108         * modules/unistdio/u32-snprintf: New file.
64109         * modules/unistdio/u32-sprintf: New file.
64110         * modules/unistdio/u32-vasnprintf: New file.
64111         * modules/unistdio/u32-vasprintf: New file.
64112         * modules/unistdio/u32-vsnprintf: New file.
64113         * modules/unistdio/u32-vsprintf: New file.
64114         * modules/unistdio/u32-u32-asnprintf: New file.
64115         * modules/unistdio/u32-u32-asprintf: New file.
64116         * modules/unistdio/u32-u32-snprintf: New file.
64117         * modules/unistdio/u32-u32-sprintf: New file.
64118         * modules/unistdio/u32-u32-vasnprintf: New file.
64119         * modules/unistdio/u32-u32-vasprintf: New file.
64120         * modules/unistdio/u32-u32-vsnprintf: New file.
64121         * modules/unistdio/u32-u32-vsprintf: New file.
64122         * modules/unistdio/ulc-asnprintf-tests: New file.
64123         * modules/unistdio/ulc-vasnprintf-tests: New file.
64124         * modules/unistdio/ulc-vasprintf-tests: New file.
64125         * modules/unistdio/ulc-vsnprintf-tests: New file.
64126         * modules/unistdio/ulc-vsprintf-tests: New file.
64127         * modules/unistdio/u8-asnprintf-tests: New file.
64128         * modules/unistdio/u8-vasnprintf-tests: New file.
64129         * modules/unistdio/u8-vasprintf-tests: New file.
64130         * modules/unistdio/u8-vsnprintf-tests: New file.
64131         * modules/unistdio/u8-vsprintf-tests: New file.
64132         * modules/unistdio/u16-asnprintf-tests: New file.
64133         * modules/unistdio/u16-vasnprintf-tests: New file.
64134         * modules/unistdio/u16-vasprintf-tests: New file.
64135         * modules/unistdio/u16-vsnprintf-tests: New file.
64136         * modules/unistdio/u16-vsprintf-tests: New file.
64137         * modules/unistdio/u32-asnprintf-tests: New file.
64138         * modules/unistdio/u32-vasnprintf-tests: New file.
64139         * modules/unistdio/u32-vasprintf-tests: New file.
64140         * modules/unistdio/u32-vsnprintf-tests: New file.
64141         * modules/unistdio/u32-vsprintf-tests: New file.
64142         * MODULES.html.sh (Unicode string functions): Add the new modules.
64143
64144 2007-07-01  Bruno Haible  <bruno@clisp.org>
64145
64146         * lib/sprintf.c (sprintf): Limit the available length estimation,
64147         to avoid address wraparound.
64148         * lib/vsprintf.c (vsprintf): Likewise.
64149         * modules/sprintf-posix (Dependencies): Add stdint.
64150         * modules/vsprintf-posix (Dependencies): Likewise.
64151
64152 2007-07-01  Bruno Haible  <bruno@clisp.org>
64153
64154         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
64155         Windows PATH as well. Conservative double-quoting. Comments.
64156
64157 2007-07-01  Bruno Haible  <bruno@clisp.org>
64158             Eric Blake  <ebb9@byu.net>
64159             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64160
64161         * gnulib-tool (self_abspathname): Fix algorithm to cope with
64162         empty components in $PATH, denoting '.'.
64163
64164 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64165
64166         * gnulib-tool: Fix indentation.
64167         (func_create_megatestdir): Likewise.
64168         Report by Bruno Haible.
64169
64170 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64171
64172         Sync from Automake.
64173         * build-aux/gnupload: Fix shell portability issues with for loops.
64174         Report by Karl Berry.
64175
64176 2007-06-29  Simon Josefsson  <simon@josefsson.org>
64177
64178         * build-aux/maint.mk (POURL): Use translationproject.org.
64179
64180 2007-06-27  Simon Josefsson  <simon@josefsson.org>
64181             Bruno Haible  <bruno@clisp.org>
64182
64183         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
64184         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
64185         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
64186         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
64187         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
64188
64189 2007-06-27  Bruno Haible  <bruno@clisp.org>
64190
64191         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
64192         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
64193
64194 2007-06-26  Karl Berry  <karl@gnu.org>
64195
64196         * MODULES.html.sh: remove xreadlink-with-size.
64197
64198 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
64199
64200         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
64201         method that I hope also handles the double-include problem noted
64202         by Bruno Haible in
64203         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
64204
64205 2007-06-23  Bruno Haible  <bruno@clisp.org>
64206
64207         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
64208         Don't let the 'mostlyclean' target fail if the last subdirectory could
64209         not be removed.
64210         Reported by Karl Berry.
64211
64212 2007-06-23  Bruno Haible  <bruno@clisp.org>
64213
64214         * gnulib-tool (echo): Add a speedier workaround for ksh.
64215         * tests/test-echo.sh: Likewise.
64216
64217 2007-06-23  Bruno Haible  <bruno@clisp.org>
64218
64219         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
64220         * tests/test-echo.sh: Likewise.
64221
64222 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64223
64224         * gnulib-tool (IFS): Initialize early, so we don't set it to
64225         empty later.
64226         (self_abspathname): Rewrite algorithm to set it, reindent.
64227         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
64228         (func_create_megatestdir): Merge some sed scripts.
64229
64230 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
64231
64232         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
64233         exposed by Sun Studio 11 cc on Solaris 8.
64234
64235 2007-06-22  Bruno Haible  <bruno@clisp.org>
64236
64237         * gnulib-tool (echo): Ensure the echo primitive does not interpret
64238         backslashes.
64239         * tests/test-echo.sh: New file.
64240
64241 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64242
64243         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
64244         simplify `sed_replace_build_aux' scripts, they are portable but
64245         echoing them with `echo' is not.
64246         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
64247
64248 2007-06-21  Karl Berry  <karl@gnu.org>
64249
64250         * config/srclist.txt: guess we can't handle the licenses via
64251         srclist at the moment.
64252
64253 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
64254
64255         * MODULES.html.sh: Add include_next.
64256         * modules/include_next: New file.
64257
64258 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
64259
64260         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
64261         INCLUDE_NEXT.
64262         (gl_CHECK_NEXT_HEADERS): New macro.
64263         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
64264         the obsolescent gl_ABSOLUTE_HEADER.
64265         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
64266         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
64267         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
64268         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
64269         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
64270         * m4/math_h.m4 (gl_MATH_H): Likewise.
64271         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
64272         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
64273         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
64274         * m4/stdint.m4 (gl_STDINT_H): Likewise.
64275         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
64276         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
64277         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
64278         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
64279         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
64280         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
64281         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
64282         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
64283         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
64284         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
64285         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
64286         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
64287         * m4/inttypes.m4 (gl_INTTYPES_H): Define
64288         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
64289         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
64290         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
64291         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
64292         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
64293         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
64294         * lib/float_.h: Likewise.
64295         * lib/inttypes_.h: Likewise.
64296         * lib/math_.h: Likewise.
64297         * lib/search_.h: Likewise.
64298         * lib/signal_.h: Likewise.
64299         * lib/stdint_.h: Likewise.
64300         * lib/stdio_.h: Likewise.
64301         * lib/stdlib_.h: Likewise.
64302         * lib/string_.h: Likewise.
64303         * lib/sys_stat_.h: Likewise.
64304         * lib/sys_time_.h: Likewise.
64305         * lib/time_.h: Likewise.
64306         * lib/unistd_.h: Likewise.
64307         * lib/wchar_.h: Likewise.
64308         * lib/wctype_.h: Likewise.
64309         * lib/dirent_.h: Likewise.
64310         * lib/iconv_.h: Likewise.
64311         * lib/locale_.h: Likewise.
64312         * lib/netinet_in_.h: Likewise.
64313         * lib/sys_select_.h: Likewise.
64314         * lib/sys_socket_.h: Likewise.
64315         * lib/sysexits_.h: Likewise.
64316         * modules/fcntl (Depends-on): Depend on include_next, not
64317         absolute_header.
64318         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
64319         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
64320         * modules/fchdir: Likewise.
64321         * modules/float: Likewise.
64322         * modules/iconv_open: Likewise.
64323         * modules/inttypes: Likewise.
64324         * modules/locale: Likewise.
64325         * modules/math: Likewise.
64326         * modules/netinet_in: Likewise.
64327         * modules/search: Likewise.
64328         * modules/signal: Likewise.
64329         * modules/stdint: Likewise.
64330         * modules/stdio: Likewise.
64331         * modules/stdlib: Likewise.
64332         * modules/string: Likewise.
64333         * modules/sys_select: Likewise.
64334         * modules/sys_socket: Likewise.
64335         * modules/sys_stat: Likewise.
64336         * modules/sys_time: Likewise.
64337         * modules/sysexits: Likewise.
64338         * modules/time: Likewise.
64339         * modules/unistd: Likewise.
64340         * modules/wchar: Likewise.
64341         * modules/wctype: Likewise.
64342         * modules/sys_stat: Change maintainer to "all".
64343         * modules/unistd: Likewise.
64344
64345 2007-06-20  Karl Berry  <karl@gnu.org>
64346
64347         * config/srclist.txt: track www changes in license files.
64348
64349 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
64350
64351         * build-aux/bootstrap: Remove stray dot.
64352         Make sure build_aux settings are honored when linking
64353         gnulib_extra_files.
64354
64355 2007-06-19  Eric Blake  <ebb9@byu.net>
64356
64357         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
64358         Allow compilation on cygwin.
64359
64360 2007-06-19  Jim Meyering  <jim@meyering.net>
64361
64362         xreadlink-with-size: Remove module.  No longer used.
64363         Ex-callers now use xreadlink or mreadlink-with-size.
64364         * modules/xreadlink-with-size: Remove module.
64365         * lib/xreadlink-with-size.c: Remove file.
64366         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
64367         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
64368         just before the function definition *is* accurate.
64369
64370         Eliminate one way canonicalize_filename_mode could exit.
64371         * lib/canonicalize.c (canonicalize_filename_mode):
64372         Use mreadlink_with_size, not xreadlink_with_size.
64373
64374 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
64375
64376         Detect porting problems to FreeBSD/arm, which has time_t wider than
64377         long int.  Original problem reported for GNU diff by Xin Li in
64378         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
64379         * modules/getdate (Depends-on): Add intprops, verify.
64380         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
64381         is an integer type no wider than long int.
64382
64383 2007-06-18  Jim Meyering  <jim@meyering.net>
64384
64385         New module: mreadlink-with-size.
64386         * MODULES.html.sh: Add mreadlink-with-size.
64387         * modules/mreadlink-with-size: New module
64388         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
64389         not xreadlink-with-size.
64390         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
64391
64392 2007-06-16  Bruno Haible  <bruno@clisp.org>
64393
64394         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
64395         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
64396         Reported by Gary V. Vaughan <gary@gnu.org>.
64397
64398 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
64399
64400         Revamp lchown so that it lives in unistd.h where it belongs.
64401         * lib/lchown.h: Remove.
64402         * lib/dirchownmod.c: Don't include lib/lchown.h.
64403         * lib/fchownat.c: Likewise.
64404         * lib/openat.c: Likewise.
64405         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
64406         does not follow symlinks.
64407         (EOPNOTSUPP): Define if not defined.
64408         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
64409         is defined to 0.
64410         (lchown): New decl.
64411         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
64412         Do not check for lchown decl.
64413         Set REPLACE_LCHOWN.
64414         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
64415         REPLACE_LCHOWN.
64416         * modules/chown: Make it clear it follows symlinks.
64417         * modules/lchown: Make it clear it doesn't follow symlinks.
64418         (Files): Remove lib/lchown.h
64419         (Depends-on): Add unistd.
64420         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
64421         (Include): Include <unistd.h>, not "lchown.h".
64422         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
64423         REPLACE_LCHOWN.
64424
64425 2007-06-15  Jim Meyering  <jim@meyering.net>
64426
64427         Change license (GPL to LGPL) of fsusage and dependents.
64428         * modules/fsusage (License): Change to LGPL.
64429         * modules/full-read (License): Likewise.
64430         * modules/full-write (License): Likewise.
64431         * modules/safe-read (License): Likewise.
64432         * modules/safe-write (License): Likewise.
64433
64434 2007-06-14  Ben Pfaff  <blp@gnu.org>
64435
64436         Missing part of allocsa -> malloca transition.
64437         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
64438         gl_MALLOCA.
64439
64440 2007-06-12  Bruno Haible  <bruno@clisp.org>
64441
64442         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
64443         to ia64, x86_64, i386.
64444         Reported by Eric Blake.
64445
64446 2007-06-12  Bruno Haible  <bruno@clisp.org>
64447
64448         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
64449         cross-compiling to x86_64.
64450
64451 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
64452
64453         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
64454         glitch reported by Ralf Wildenhues in
64455         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
64456
64457         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
64458         Vin Shelton.
64459
64460 2007-06-11  Bruno Haible  <bruno@clisp.org>
64461
64462         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
64463         replacement string.
64464         Reported by Eric Blake.
64465
64466 2007-06-10  Bruno Haible  <bruno@clisp.org>
64467
64468         Prepare vasnprintf code for use with Unicode strings.
64469         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
64470         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
64471         TYPE_U32_STRING.
64472         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
64473         a_u32_string variants.
64474         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
64475         * lib/printf-args.c: Don't include config.h and the specification
64476         header if PRINTF_FETCHARGS is already defined.
64477         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
64478         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
64479         TYPE_U16_STRING, TYPE_U32_STRING.
64480         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
64481         u16_directive, u16_directives, u32_directive, u32_directives): New
64482         types.
64483         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
64484         New declarations.
64485         * lib/printf-parse.c: Don't include config.h and the specification
64486         header if PRINTF_PARSE is already defined. Eliminate the set of
64487         parameters for WIDE_CHAR_VERSION; the user of this file must provide
64488         them now. Include c-ctype.h.
64489         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
64490         directive and CHAR_T_ONLY_ASCII.
64491         * lib/vasnprintf.c: Don't include config.h and the specification header
64492         if VASNPRINTF is already defined.
64493         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
64494         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
64495         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
64496         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
64497         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
64498         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
64499         code accordingly.
64500         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
64501         pad_ourselves also in this case, with the 'c' and 's' directives, and
64502         with a different notion of "width".
64503         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
64504
64505 2007-06-10  Bruno Haible  <bruno@clisp.org>
64506
64507         * modules/unistr/u32-mbsnlen: New file.
64508         * lib/unistr/u32-mbsnlen.c: New file.
64509
64510         * modules/unistr/u16-mbsnlen: New file.
64511         * lib/unistr/u16-mbsnlen.c: New file.
64512
64513         * modules/unistr/u8-mbsnlen: New file.
64514         * lib/unistr/u8-mbsnlen.c: New file.
64515
64516         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
64517         declarations.
64518
64519 2007-06-10  Bruno Haible  <bruno@clisp.org>
64520
64521         * lib/string_.h (mbsnlen): New declaration.
64522         * lib/mbsnlen.c: New file.
64523         * m4/mbsnlen.m4: New file.
64524         * modules/mbsnlen: New file.
64525         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
64526         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
64527         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
64528
64529 2007-06-10  Bruno Haible  <bruno@clisp.org>
64530
64531         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
64532
64533 2007-06-10  Bruno Haible  <bruno@clisp.org>
64534
64535         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
64536         * lib/mbuiter.h: Likewise.
64537
64538 2007-06-10  Bruno Haible  <bruno@clisp.org>
64539
64540         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
64541         declaration.
64542
64543 2007-06-10  Karl Berry  <karl@gnu.org>
64544
64545         * config/srclist.txt: remove gettext entries, Bruno prefers
64546         to update individually.
64547
64548 2007-06-10  Bruno Haible  <bruno@clisp.org>
64549
64550         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
64551         'maxlen'. Ensure only length + width bytes are allocated, not
64552         length + 1 + width.
64553
64554 2007-06-09  Bruno Haible  <bruno@clisp.org>
64555
64556         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
64557         (CHAR_T): Remove macro.
64558         (VASNPRINTF): Update.
64559
64560 2007-06-09  Bruno Haible  <bruno@clisp.org>
64561
64562         * MODULES.html.sh (Unicode string functions): Add the new modules.
64563
64564         * modules/uniconv/u32-conv-to-enc: New file.
64565         * lib/uniconv/u32-conv-to-enc.c: New file.
64566         * modules/uniconv/u32-conv-to-enc-tests: New file.
64567         * tests/uniconv/test-u32-conv-to-enc.c: New file.
64568
64569         * modules/uniconv/u16-conv-to-enc: New file.
64570         * lib/uniconv/u16-conv-to-enc.c: New file.
64571         * lib/uniconv/u-conv-to-enc.h: New file.
64572         * modules/uniconv/u16-conv-to-enc-tests: New file.
64573         * tests/uniconv/test-u16-conv-to-enc.c: New file.
64574
64575         * modules/uniconv/u8-conv-to-enc: New file.
64576         * lib/uniconv/u8-conv-to-enc.c: New file.
64577         * modules/uniconv/u8-conv-to-enc-tests: New file.
64578         * tests/uniconv/test-u8-conv-to-enc.c: New file.
64579
64580         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
64581         u32_conv_to_encoding): New declarations.
64582
64583 2007-06-09  Bruno Haible  <bruno@clisp.org>
64584
64585         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
64586
64587 2007-06-09  Bruno Haible  <bruno@clisp.org>
64588
64589         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
64590         * modules/malloca: Renamed from modules/allocsa, updated.
64591         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
64592         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
64593         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
64594         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
64595         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
64596         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
64597         * modules/xmalloca: Renamed from modules/xallocsa, updated.
64598         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
64599         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
64600         * modules/c-strcasestr (Depends-on): Update.
64601         * lib/c-strcasestr.c: Update.
64602         * modules/c-strstr (Depends-on): Update.
64603         * lib/c-strstr.c: Update.
64604         * modules/canonicalize-lgpl (Depends-on): Update.
64605         * lib/canonicalize-lgpl.c: Update.
64606         * modules/clean-temp (Depends-on): Update.
64607         * lib/clean-temp.c: Update.
64608         * modules/csharpcomp (Depends-on): Update.
64609         * lib/csharpcomp.c: Update.
64610         * modules/csharpexec (Depends-on): Update.
64611         * lib/csharpexec.c: Update.
64612         * modules/javacomp (Depends-on): Update.
64613         * lib/javacomp.c: Update.
64614         * modules/javaexec (Depends-on): Update.
64615         * lib/javaexec.c: Update.
64616         * modules/mbscasestr (Depends-on): Update.
64617         * lib/mbscasestr.c: Update.
64618         * modules/mbsstr (Depends-on): Update.
64619         * lib/mbsstr.c: Update.
64620         * modules/setenv (Depends-on): Update.
64621         * lib/setenv.c: Update.
64622         * modules/strcasestr (Depends-on): Update.
64623         * lib/strcasestr.c: Update.
64624         * modules/striconveha (Depends-on): Update.
64625         * lib/striconveha.c: Update.
64626         * modules/relocatable-prog-wrapper (Files): Update.
64627         * lib/relocwrapper.c: Update.
64628         * build-aux/install-reloc: Update.
64629         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
64630
64631 2007-06-08  Bruno Haible  <bruno@clisp.org>
64632
64633         Port to uClibc.
64634         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
64635         * lib/fpurge.c (fpurge): Likewise.
64636         * lib/freading.c (freading): Likewise.
64637         * lib/fseeko.c (rpl_fseeko): Likewise.
64638         * lib/fseterr.c (fseterr): Likewise.
64639         * lib/fwriting.c (fwriting): Likewise.
64640         * tests/test-fflush.c (main): Avoid a failure on uClibc.
64641
64642 2007-06-08  Bruno Haible  <bruno@clisp.org>
64643
64644         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
64645         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
64646         * modules/gettext (Files): Add m4/intlmacosx.m4.
64647
64648 2007-06-07  Bruno Haible  <bruno@clisp.org>
64649
64650         * modules/localename-tests: New file.
64651         * tests/test-localename.c: New file.
64652
64653         New module 'localename'.
64654         * lib/localename.h: New file.
64655         * lib/localename.c: New file, from GNU gettext.
64656         * m4/localename.m4: New file.
64657         * modules/localename: New file.
64658
64659 2007-06-07  Bruno Haible  <bruno@clisp.org>
64660
64661         Work around the lack of <wchar.h> on some builds of uClibc.
64662         * doc/headers/wchar.texi: Update.
64663         * lib/wchar_.h: Include <wchar.h> only if it exists.
64664         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
64665         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
64666         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
64667         doesn't exist.
64668         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
64669         * modules/mbfile (Depends-on): Add wchar.
64670         * modules/mbiter (Depends-on): Likewise.
64671         * modules/mbuiter (Depends-on): Likewise.
64672         Reported by Simon Josefsson.
64673
64674 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
64675
64676         Work around problem reported by Steven M. Schweda in
64677         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
64678         Tru64 5.1B with the Compaq compiler environment installed declares
64679         an 'isblank' function but does not define it in the C library.
64680         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
64681         * lib/regex_internal.h (isblank): Likewise.
64682         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
64683         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
64684
64685 2007-06-05  Bruno Haible  <bruno@clisp.org>
64686
64687         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
64688         ia64.
64689         * modules/printf-safe: New file.
64690         * modules/fprintf-posix (Depends-on): Add printf-safe.
64691         * modules/printf-posix (Depends-on): Likewise.
64692         * modules/snprintf-posix (Depends-on): Likewise.
64693         * modules/sprintf-posix (Depends-on): Likewise.
64694         * modules/vasnprintf-posix (Depends-on): Likewise.
64695         * modules/vasprintf-posix (Depends-on): Likewise.
64696         * modules/vfprintf-posix (Depends-on): Likewise.
64697         * modules/vprintf-posix (Depends-on): Likewise.
64698         * modules/vsnprintf-posix (Depends-on): Likewise.
64699         * modules/vsprintf-posix (Depends-on): Likewise.
64700         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
64701         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
64702         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
64703         "no" on i386, x86_64, ia64.
64704         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
64705         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
64706         on i386, x86_64, ia64.
64707         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
64708         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
64709         on i386, x86_64, ia64.
64710         * tests/test-vasnprintf-posix.c: Include float.h.
64711         (LDBL80_WORDS): New macro.
64712         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
64713         on i386, x86_64, ia64.
64714         * tests/test-vasprintf-posix.c: Include float.h.
64715         (LDBL80_WORDS): New macro.
64716         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
64717         on i386, x86_64, ia64.
64718         * tests/test-snprintf-posix.c: Include float.h.
64719         * tests/test-sprintf-posix.c: Likewise.
64720         * tests/test-vsnprintf-posix.c: Likewise.
64721         * tests/test-vsprintf-posix.c: Likewise.
64722
64723 2007-06-05  Bruno Haible  <bruno@clisp.org>
64724
64725         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
64726         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
64727         non-IEEE numbers on i386, x86_64, ia64.
64728         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
64729         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
64730         * tests/test-isnanl.h: Include float.h.
64731         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
64732
64733 2007-06-05  Bruno Haible  <bruno@clisp.org>
64734
64735         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
64736         also the %a / %A. Handle the %a / %A code before this extra handling.
64737
64738 2007-06-05  Bruno Haible  <bruno@clisp.org>
64739
64740         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
64741         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
64742
64743 2007-06-05  Bruno Haible  <bruno@clisp.org>
64744
64745         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
64746         typo in variable name.
64747
64748 2007-06-05  Eric Blake  <ebb9@byu.net>
64749
64750         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
64751         Reported by Simon Josefsson.
64752
64753 2007-06-04  Bruno Haible  <bruno@clisp.org>
64754
64755         Avoid test failures on some PowerPC platforms.
64756         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
64757         Define differently for PowerPC.
64758         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
64759         Reported by Gary V. Vaughan <gary@gnu.org>.
64760
64761 2007-06-02  Bruno Haible  <bruno@clisp.org>
64762
64763         Fix test-stdint failure on FreeBSD/ia64.
64764         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
64765         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
64766         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
64767         * doc/headers/stdint.texi: Update.
64768
64769 2007-06-01  Bruno Haible  <bruno@clisp.org>
64770
64771         * tests/test-binary-io.c (main): Pass a third argument to open().
64772         Reported by Gary V. Vaughan <gary@gnu.org>.
64773
64774 2007-06-01  Bruno Haible  <bruno@clisp.org>
64775
64776         * doc/functions/frexpl.texi: Update for mingw.
64777
64778 2007-06-01  Bruno Haible  <bruno@clisp.org>
64779
64780         * tests/test-lseek.c (main): Disable test of errno for invalid third
64781         argument.
64782         * doc/functions/lseek.texi: Update.
64783         Reported by Gary V. Vaughan <gary@gnu.org>.
64784
64785 2007-05-28  Bruno Haible  <bruno@clisp.org>
64786
64787         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
64788
64789 2007-05-31  Eric Blake  <ebb9@byu.net>
64790
64791         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
64792         cross compiling.
64793
64794 2007-05-30  Eric Blake  <ebb9@byu.net>
64795         and Bruno Haible  <bruno@clisp.org>
64796
64797         Work around mingw test failures exposed by m4-1.4.9b.
64798         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
64799         * tests/test-unistd.c: Disable uid_t and git_t tests for the
64800         moment.
64801
64802 2007-05-30  Bruno Haible  <bruno@clisp.org>
64803
64804         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
64805         assuming that they are closed. Needed on HP-UX 11.
64806
64807 2007-05-29  Bruno Haible  <bruno@clisp.org>
64808
64809         Fix a problem with #include_next.
64810         * lib/dirent_.h: Split the double-inclusion guard.
64811         * lib/fcntl_.h: Likewise.
64812         * lib/float_.h: Likewise.
64813         * lib/iconv_.h: Likewise.
64814         * lib/inttypes_.h: Likewise.
64815         * lib/locale_.h: Likewise.
64816         * lib/math_.h: Likewise.
64817         * lib/netinet_in_.h: Likewise.
64818         * lib/search_.h: Likewise.
64819         * lib/signal_.h: Likewise.
64820         * lib/stdint_.h: Likewise.
64821         * lib/stdio_.h: Likewise.
64822         * lib/stdlib_.h: Likewise.
64823         * lib/string_.h: Likewise.
64824         * lib/sys_select_.h: Likewise.
64825         * lib/sys_socket_.h: Likewise.
64826         * lib/sys_stat_.h: Likewise.
64827         * lib/sys_time_.h: Likewise.
64828         * lib/sysexits_.h: Likewise.
64829         * lib/time_.h: Likewise.
64830         * lib/unistd_.h: Likewise.
64831         * lib/wchar_.h: Likewise.
64832         * lib/wctype_.h: Likewise.
64833
64834 2007-05-29  Bruno Haible  <bruno@clisp.org>
64835
64836         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
64837         for the moment.
64838
64839 2007-05-29  Bruno Haible  <bruno@clisp.org>
64840
64841         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
64842         invocation.
64843         Reported by Eric Blake.
64844
64845 2007-05-29  Bruno Haible  <bruno@clisp.org>
64846
64847         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
64848         compiling case.
64849
64850 2007-05-29  Eric Blake  <ebb9@byu.net>
64851             Bruno Haible  <bruno@clisp.org>
64852
64853         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
64854         cross compiles.
64855
64856 2007-05-28  Eric Blake  <ebb9@byu.net>
64857
64858         * modules/closein-tests (test_closein_LDADD): Support test on
64859         cygwin with libtool.
64860
64861 2007-05-28  Bruno Haible  <bruno@clisp.org>
64862
64863         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
64864         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
64865         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
64866         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
64867         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
64868         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
64869         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
64870         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
64871         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
64872
64873 2007-05-28  Eric Blake  <ebb9@byu.net>
64874
64875         Unconditionally include <config.h> in unit tests.
64876         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
64877         * tests/test-allocsa.c, tests/test-arcfour.c,
64878         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
64879         tests/test-array_list.c, tests/test-array_oset.c,
64880         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
64881         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
64882         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
64883         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
64884         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
64885         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
64886         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
64887         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
64888         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
64889         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
64890         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
64891         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
64892         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
64893         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
64894         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
64895         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
64896         test-md5.c, test-memmem.c, test-printf-posix.c,
64897         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
64898         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
64899         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
64900         test-strcasestr.c, test-striconv.c, test-striconveh.c,
64901         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
64902         test-vasnprintf-posix2.c, test-vasnprintf.c,
64903         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
64904         test-vfprintf-posix.c, test-vprintf-posix.c,
64905         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
64906         test-xvasprintf.c: Likewise.
64907
64908 2007-05-28  Bruno Haible  <bruno@clisp.org>
64909
64910         * gnulib-tool (func_import): Remember the --with-tests command-line
64911         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
64912         Reported by Eric Blake.
64913
64914 2007-05-28  Bruno Haible  <bruno@clisp.org>
64915
64916         * modules/ftell-tests: New file.
64917         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
64918         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
64919
64920         * lib/ftell.c: New file.
64921         * modules/ftell: New file.
64922         * m4/ftell.m4: New file.
64923         * doc/functions/ftell.texi: Update.
64924         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
64925         REPLACE_FTELL.
64926         * lib/stdio_.h (rpl_ftell): New declaration.
64927         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
64928         REPLACE_FTELL.
64929
64930 2007-05-28  Eric Blake  <ebb9@byu.net>
64931
64932         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
64933
64934 2007-05-28  Bruno Haible  <bruno@clisp.org>
64935
64936         * modules/fseek-tests: New file.
64937         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
64938         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
64939
64940         * lib/fseek.c: New file.
64941         * modules/fseek: New file.
64942         * m4/fseek.m4: New file.
64943         * doc/functions/fseek.texi: Update.
64944         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
64945         REPLACE_FSEEK.
64946         * lib/stdio_.h (rpl_fseek): New declaration.
64947         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
64948         REPLACE_FSEEK.
64949
64950 2007-05-28  Bruno Haible  <bruno@clisp.org>
64951
64952         * lib/stdio_.h (fflush): More comments.
64953
64954 2007-05-28  Bruno Haible  <bruno@clisp.org>
64955
64956         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
64957         runtime test.
64958
64959 2007-05-28  Eric Blake  <ebb9@byu.net>
64960
64961         Improve lseek module.
64962         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
64963         * lib/unistd_.h (lseek): Scale back link warning message.
64964         * tests/test-lseek.c: Beef up test.
64965         * tests/test-lseek.sh: Exercise more facets of lseek.
64966         Reported by Bruno Haible.
64967
64968 2007-05-28  Bruno Haible  <bruno@clisp.org>
64969
64970         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
64971         to define.
64972
64973 2007-05-27  Bruno Haible  <bruno@clisp.org>
64974
64975         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
64976
64977 2007-05-27  Bruno Haible  <bruno@clisp.org>
64978
64979         * modules/openmp: New file.
64980         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
64981         Noah Misch.
64982
64983 2007-05-26  Bruno Haible  <bruno@clisp.org>
64984
64985         * modules/chdir-long (Depends-on): Add fchdir.
64986         * modules/chdir-safer (Depends-on): Likewise.
64987         * modules/fts (Depends-on): Likewise.
64988         * modules/fts-lgpl (Depends-on): Likewise.
64989         * modules/openat (Depends-on): Likewise.
64990         * modules/savewd (Depends-on): Likewise.
64991
64992 2007-05-24  Eric Blake  <ebb9@byu.net>
64993
64994         Fix lseek on mingw.
64995         * modules/lseek: New module.
64996         * m4/lseek.m4: New file.
64997         * lib/lseek.c: New file.
64998         * modules/lseek-tests: New file.
64999         * tests/test-lseek.c: New file.
65000         * tests/test-lseek.sh: New file.
65001         * MODULES.html.sh: Document lseek module.
65002         * modules/fflush (Depends-on): Add lseek, fseeko.
65003         * modules/fseeko (Depends-on): Likewise.
65004         * modules/ftello (Depends-on): Likewise.
65005         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
65006         broken.
65007         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
65008         broken.
65009         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
65010         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
65011         * lib/ftello.c (rpl_ftello): Likewise.
65012         * tests/test-fseeko.c (main): Test this.
65013         * tests/test-fseeko.sh: Likewise.
65014         * tests/test-ftello.c (main): Likewise.
65015         * tests/test-ftello.sh: Likewise.
65016         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
65017         implies replacing fseek.
65018         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
65019         HAVE_FTELLO.
65020         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
65021         * modules/unistd (Makefile.am): Likewise.
65022         * lib/unistd_.h (lseek): Declare a replacement.
65023         * doc/functions/lseek.texi (lseek): Document this fix.
65024         * doc/functions/fseek.texi (fseek): Likewise.
65025         * doc/functions/ftell.texi (ftell): Likewise.
65026
65027 2007-05-24  Bruno Haible  <bruno@clisp.org>
65028
65029         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
65030         in the printed representation of a NaN.
65031         * tests/test-vasprintf-posix.c (test_function): Likewise.
65032         * tests/test-snprintf-posix.h (test_function): Likewise.
65033         * tests/test-sprintf-posix.h (test_function): Likewise.
65034         Reported by Eric Blake.
65035
65036 2007-05-23  Eric Blake  <ebb9@byu.net>
65037
65038         Fix fseeko/ftello on cygwin 1.5.24.
65039         * doc/functions/fseeko.texi (fseeko): Document the fix.
65040         * doc/functions/ftello.texi (ftello): Document the fix.
65041         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
65042         * doc/functions/stdout.text (stdout): New file.
65043         * doc/functions/stderr.text (stderr): New file.
65044         * doc/gnulib.texi (Function Substitutes): Use new files.
65045         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
65046         prior to 1.7.0.
65047         * tests/test-ftello.c (main): Likewise for ftello.
65048         * tests/test-fseeko.sh: New file.
65049         * tests/test-ftello.sh: New file.
65050         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
65051         with seekable stdin.
65052         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
65053         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
65054         (gl_REPLACE_FSEEKO): New macro.
65055         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
65056         * modules/fseeko (Files): Distribute fseeko.c.
65057         * modules/ftello (Files): Distribute ftello.c.
65058         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
65059         mode.
65060         * lib/ftello.c (rpl_ftello): New file.
65061         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
65062         fseeko, ftello.
65063         (gl_STDIN_LARGE_OFFSET): New macro.
65064         * modules/stdio (Makefile.am): Perform the replacement.
65065         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
65066
65067 2007-05-23  Bruno Haible  <bruno@clisp.org>
65068
65069         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
65070         GNULIB_POSIXCHECK is defined.
65071
65072 2007-05-21  Bruno Haible  <bruno@clisp.org>
65073
65074         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
65075         Check also the output for NaN arguments. When cross-compiling, guess
65076         no on IRIX.
65077         * lib/vasnprintf.c: Update comments.
65078         * tests/test-vasnprintf-posix.c (strisnan): New function.
65079         (test_function): Use it.
65080         * tests/test-vasprintf-posix.c (strisnan): New function.
65081         (test_function): Use it.
65082         * tests/test-snprintf-posix.h (strisnan): New function.
65083         (test_function): Use it.
65084         * tests/test-sprintf-posix.h (strisnan): New function.
65085         (test_function): Use it.
65086         Reported by Eric Blake.
65087
65088 2007-05-20  Bruno Haible  <bruno@clisp.org>
65089
65090         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
65091         numbers that fails on BeOS.
65092         * doc/functions/frexpl.texi: Update.
65093
65094 2007-05-20  Jim Meyering  <jim@meyering.net>
65095
65096         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
65097         forced upon us by glibc-2.6.
65098
65099 2007-05-20  Bruno Haible  <bruno@clisp.org>
65100
65101         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
65102         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
65103         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
65104         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
65105         NEED_PRINTF_INFINITE.
65106         (is_infinitel): New function.
65107         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
65108         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
65109         gl_PREREQ_VASNPRINTF_INFINITE.
65110         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
65111         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
65112         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
65113         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
65114         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
65115         gl_PREREQ_VASNPRINTF_INFINITE.
65116         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65117         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65118         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65119         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65120         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65121         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65122         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65123         * doc/functions/fprintf.texi: Update.
65124         * doc/functions/printf.texi: Update.
65125         * doc/functions/snprintf.texi: Update.
65126         * doc/functions/sprintf.texi: Update.
65127         * doc/functions/vfprintf.texi: Update.
65128         * doc/functions/vprintf.texi: Update.
65129         * doc/functions/vsnprintf.texi: Update.
65130         * doc/functions/vsprintf.texi: Update.
65131
65132 2007-05-20  Bruno Haible  <bruno@clisp.org>
65133
65134         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
65135         was not found in libc.
65136         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
65137
65138 2007-05-20  Bruno Haible  <bruno@clisp.org>
65139
65140         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
65141         printed as "-nan" instead of "nan".
65142         * tests/test-vasprintf-posix.c (test_function): Likewise.
65143         * tests/test-snprintf-posix.h (test_function): Likewise.
65144         * tests/test-sprintf-posix.h (test_function): Likewise.
65145         Needed for HP-UX 11.
65146
65147 2007-05-20  Jim Meyering  <jim@meyering.net>
65148
65149         Fix buggy test for the fchownat-deref bug.
65150         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
65151         symlink required for the run-test.  Without it, this test would
65152         always declare that fchownat doesn't work, and client code would
65153         unnecessarily use the replacement function with fixed libc.
65154         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
65155         Reported by Greg Schafer.
65156
65157 2007-05-19  Bruno Haible  <bruno@clisp.org>
65158
65159         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
65160         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
65161         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
65162         Needed for IRIX 6.5 and Solaris 2.5.1.
65163
65164 2007-05-19  Bruno Haible  <bruno@clisp.org>
65165
65166         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
65167         (test_function): Skip tests involving -0.0 on platforms where
65168         -0.0 = 0.0.
65169         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
65170         (test_function): Skip tests involving -0.0 on platforms where
65171         -0.0 = 0.0.
65172         * tests/test-snprintf-posix.h (have_minus_zero): New function.
65173         (test_function): Skip tests involving -0.0 on platforms where
65174         -0.0 = 0.0.
65175         * tests/test-sprintf-posix.h (have_minus_zero): New function.
65176         (test_function): Skip tests involving -0.0 on platforms where
65177         -0.0 = 0.0.
65178         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
65179         tests.
65180         * tests/test-printf-posix.h (test_function): Likewise.
65181         * tests/test-printf-posix.output: Remove all -0.0 related results.
65182         Needed for IRIX 6.5.
65183
65184 2007-05-19  Bruno Haible  <bruno@clisp.org>
65185
65186         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
65187         printed as "nan0x7fffffff" instead of "nan".
65188         * tests/test-vasprintf-posix.c (test_function): Likewise.
65189         * tests/test-snprintf-posix.h (test_function): Likewise.
65190         * tests/test-sprintf-posix.h (test_function): Likewise.
65191         * tests/test-fprintf-posix.h (NaN): Remove macro.
65192         (test_function): Remove all NaN related tests.
65193         * tests/test-printf-posix.h (NaN): Remove macro.
65194         (test_function): Remove all NaN related tests.
65195         * tests/test-printf-posix.output: Remove all NaN related results.
65196         Needed for IRIX 6.5.
65197
65198 2007-05-19  Bruno Haible  <bruno@clisp.org>
65199
65200         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
65201         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
65202
65203 2007-05-19  Bruno Haible  <bruno@clisp.org>
65204
65205         * lib/float_.h: New file.
65206         * m4/float_h.m4: New file.
65207         * modules/float: New file.
65208         * modules/isnanl (Dependencies): Add float.
65209         * modules/isnanl-nolibm (Dependencies): Likewise.
65210         * modules/mathl (Dependencies): Likewise.
65211         * modules/printf-frexpl (Dependencies): Likewise.
65212         * modules/signbit (Dependencies): Likewise.
65213         * modules/vasnprintf (Dependencies): Likewise.
65214         * doc/headers/float.texi: Update.
65215
65216 2007-05-19  Jim Meyering  <jim@meyering.net>
65217
65218         * lib/utimens.c (gl_futimens): Rename from futimens,
65219         now that glibc-2.6 declares futimens.
65220         * lib/utimens.h: Likewise.
65221
65222 2007-05-19  Bruno Haible  <bruno@clisp.org>
65223
65224         Avoid test failures on mingw.
65225         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
65226         * tests/test-printf-posix.sh: Likewise.
65227         * tests/test-vfprintf-posix.sh: Likewise.
65228         * tests/test-vprintf-posix.sh: Likewise.
65229
65230 2007-05-19  Bruno Haible  <bruno@clisp.org>
65231
65232         Fix *printf result for NaN, Inf, -0.0 on mingw.
65233         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
65234         * lib/vasnprintf.c: Include math.h and isnan.h.
65235         (is_infinite_or_zero): New function.
65236         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
65237         values in the %f, %F, %e, %E, %g, %G directives.
65238         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
65239         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
65240         gl_PRINTF_INFINITE and test its result. Invoke
65241         gl_PREREQ_VASNPRINTF_INFINITE.
65242         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65243         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65244         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65245         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65246         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65247         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65248         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65249         * doc/functions/fprintf.texi: Update.
65250         * doc/functions/printf.texi: Update.
65251         * doc/functions/snprintf.texi: Update.
65252         * doc/functions/sprintf.texi: Update.
65253         * doc/functions/vfprintf.texi: Update.
65254         * doc/functions/vprintf.texi: Update.
65255         * doc/functions/vsnprintf.texi: Update.
65256         * doc/functions/vsprintf.texi: Update.
65257
65258 2007-05-19  Bruno Haible  <bruno@clisp.org>
65259
65260         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
65261         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
65262         Instead of multiplying with 10^k, set extra_zeroes to k.
65263         (scale10_round_long_double): Remove function.
65264
65265 2007-05-18  Bruno Haible  <bruno@clisp.org>
65266
65267         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
65268         introduced on 2007-05-06.
65269
65270 2007-05-18  Bruno Haible  <bruno@clisp.org>
65271
65272         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
65273         %g directives.
65274         * tests/test-vasprintf-posix.c (test_function): Likewise.
65275         * tests/test-snprintf-posix.h (test_function): Likewise.
65276         * tests/test-sprintf-posix.h (test_function): Likewise.
65277
65278 2007-05-18  Bruno Haible  <bruno@clisp.org>
65279
65280         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
65281         (strmatch): New function.
65282         (test_function): Test the %f directive on numbers of various exponents.
65283         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
65284         (strmatch): New function.
65285         (test_function): Test the %f directive on numbers of various exponents.
65286         * tests/test-snprintf-posix.h (strmatch): New function.
65287         (test_function): Test the %f directive on numbers of various exponents.
65288         * tests/test-sprintf-posix.h (strmatch): New function.
65289         (test_function): Test the %f directive on numbers of various exponents.
65290         * tests/test-snprintf-posix.c (SIZEOF): New macro.
65291         * tests/test-sprintf-posix.c (SIZEOF): New macro.
65292         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
65293         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
65294
65295 2007-05-18  Bruno Haible  <bruno@clisp.org>
65296
65297         Add support for 'long double' number output.
65298         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
65299         * lib/vasnprintf.c: Include math.h and float+.h.
65300         (mp_limb_t): New type.
65301         (GMP_LIMB_BITS): New macro.
65302         (mp_twolimb_t): New type.
65303         (GMP_TWOLIMB_BITS): New macro.
65304         (mpn_t): New type.
65305         (multiply, divide, convert_to_decimal, decode_long_double,
65306         scale10_round_long_double, scale10_round_decimal_long_double,
65307         floorlog10l): New functions.
65308         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
65309         for the %f, %F, %e, %E, %g, %G directives.
65310         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
65311         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
65312         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
65313         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
65314         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65315         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65316         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65317         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65318         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65319         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65320         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65321         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
65322         * modules/snprintf-posix (Depends-on): Likewise.
65323         * modules/sprintf-posix (Depends-on): Likewise.
65324         * modules/vasnprintf-posix (Depends-on): Likewise.
65325         * modules/vasprintf-posix (Depends-on): Likewise.
65326         * modules/vfprintf-posix (Depends-on): Likewise.
65327         * modules/vsnprintf-posix (Depends-on): Likewise.
65328         * modules/vsprintf-posix (Depends-on): Likewise.
65329         * modules/vasnprintf (Files): Add lib/float+.h.
65330         * doc/functions/fprintf.texi: Update.
65331         * doc/functions/printf.texi: Update.
65332         * doc/functions/snprintf.texi: Update.
65333         * doc/functions/sprintf.texi: Update.
65334         * doc/functions/vfprintf.texi: Update.
65335         * doc/functions/vprintf.texi: Update.
65336         * doc/functions/vsnprintf.texi: Update.
65337         * doc/functions/vsprintf.texi: Update.
65338
65339 2007-05-18  Bruno Haible  <bruno@clisp.org>
65340
65341         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
65342
65343 2007-05-18  Bruno Haible  <bruno@clisp.org>
65344
65345         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
65346         for printing 64-bit integers. Needed for mingw.
65347
65348 2007-05-18  Bruno Haible  <bruno@clisp.org>
65349
65350         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
65351         gl_FUNC_FREXPL_WORKS.
65352         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
65353
65354 2007-05-18  Bruno Haible  <bruno@clisp.org>
65355
65356         * modules/frexpl-nolibm-tests: New file.
65357
65358         * modules/frexpl-nolibm: New file.
65359         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
65360
65361 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
65362
65363         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
65364         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
65365         GCC 4.2, which otherwise issues a lot of warnings.
65366         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
65367         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
65368         Likewise.
65369         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
65370         * modules/iconv_open (iconv.h): Likewise.
65371         * modules/locale (locale.h): Likewise.
65372         * modules/netinet_in (netinet/in.h): Likewise.
65373         * modules/sys_select (sys_select.h): Likewise.
65374         * modules/sys_socket (sys/socket.h): Likewise.
65375         * modules/sys_stat (sys/stat.h): Likewise.
65376         * modules/sysexits (sysexits.h): Likewise.
65377         * modules/unistd (unistd.h): Likewise.
65378
65379 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65380
65381         * modules/closein-tests (Makefile.am): Distribute
65382         `test-closein.sh'.
65383
65384 2007-05-17  Bruno Haible  <bruno@clisp.org>
65385
65386         * tests/test-printf-posix.output: Renamed from
65387         tests/test-fprintf-posix.out.
65388         * modules/fprintf-posix-tests: Update.
65389         * modules/printf-posix-tests: Update.
65390         * modules/vfprintf-posix-tests: Update.
65391         * modules/vprintf-posix-tests: Update.
65392         * tests/test-fprintf-posix.sh: Update.
65393         * tests/test-printf-posix.sh: Update.
65394         * tests/test-vfprintf-posix.sh: Update.
65395         * tests/test-vprintf-posix.sh: Update.
65396         Reported by Ralf Wildenhues.
65397
65398 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
65399
65400         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
65401         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
65402         GCC 4.2, which otherwise issues a lot of warnings.
65403         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
65404         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
65405         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
65406         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
65407         it should no longer be needed.
65408         * lib/string_.h: Likewise.
65409         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
65410         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
65411         * modules/inttypes (inttypes.h): Likewise.
65412         * modules/math (math.h): Likewise.
65413         * modules/search (search.h): Likewise.
65414         * modules/signal (signal.h): Likewise.
65415         * modules/stdint (stdint.h): Likewise.
65416         * modules/stdio (stdio.h): Likewise.
65417         * modules/stdlib (stdlib.h): Likewise.
65418         * modules/string (string.h): Likewise.
65419         * modules/sys_time (sys/time.h): Likewise.
65420         * modules/time (time.h): Likewise.
65421         * modules/wchar (wchar.h): Likewise.
65422         * modules/wctype (wtype.h): Likewise.
65423
65424 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
65425
65426         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
65427
65428 2007-05-13  Bruno Haible  <bruno@clisp.org>
65429
65430         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
65431         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
65432         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
65433         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
65434         (gl_PREREQ_STRTOK_R): Don't require it here.
65435
65436 2007-05-13  Bruno Haible  <bruno@clisp.org>
65437
65438         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
65439         when used in C++ mode.
65440
65441 2007-05-12  Bruno Haible  <bruno@clisp.org>
65442
65443         * lib/linebuffer.h: Tweak doc.
65444         * lib/linebuffer.c: Likewise.
65445
65446 2007-05-12  James Youngman  <jay@gnu.org>
65447
65448         * lib/linebuffer.c (readlinebuffer_delim): New function,
65449         like readlinebuffer, but use a caller-specified delimiter.
65450         (readlinebuffer): Just call readlinebuffer_delim with '\n'
65451         as the delimiter.
65452         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
65453
65454 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
65455
65456         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
65457         * modules/openat (Files): Remove openat-die.c.
65458         (Depends-on): Add openat-die.
65459         * modules/openat-die: New module.
65460
65461 2007-05-06  Bruno Haible  <bruno@clisp.org>
65462
65463         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
65464         Update with info about Cygwin.
65465         * doc/functions/fprintf.texi: Update.
65466         * doc/functions/printf.texi: Update.
65467         * doc/functions/snprintf.texi: Update.
65468         * doc/functions/sprintf.texi: Update.
65469         * doc/functions/vfprintf.texi: Update.
65470         * doc/functions/vprintf.texi: Update.
65471         * doc/functions/vsnprintf.texi: Update.
65472         * doc/functions/vsprintf.texi: Update.
65473         Reported by Eric Blake.
65474
65475 2007-05-06  Bruno Haible  <bruno@clisp.org>
65476
65477         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
65478         padding ourselves for the floating-point directives.
65479         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
65480         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
65481         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
65482         gl_PRINTF_FLAG_ZERO and test its result. Invoke
65483         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
65484         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65485         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
65486         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65487         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65488         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65489         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65490         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65491         * tests/test-snprintf-posix.h (test_function): Also check the width
65492         and some flags in the %f directive.
65493         * tests/test-sprintf-posix.h (test_function): Likewise.
65494         * tests/test-vasnprintf-posix.c (test_function): Likewise.
65495         * tests/test-vasprintf-posix.c (test_function): Likewise.
65496         * doc/functions/fprintf.texi: Update.
65497         * doc/functions/printf.texi: Update.
65498         * doc/functions/snprintf.texi: Update.
65499         * doc/functions/sprintf.texi: Update.
65500         * doc/functions/vfprintf.texi: Update.
65501         * doc/functions/vprintf.texi: Update.
65502         * doc/functions/vsnprintf.texi: Update.
65503         * doc/functions/vsprintf.texi: Update.
65504
65505 2007-05-06  Bruno Haible  <bruno@clisp.org>
65506
65507         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
65508         pass the ' flag character to sprintf or snprintf.
65509         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
65510         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
65511         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
65512         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
65513         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
65514         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65515         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
65516         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65517         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65518         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65519         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65520         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65521         * tests/test-snprintf-posix.h (test_function): Also check the grouping
65522         flag.
65523         * tests/test-sprintf-posix.h (test_function): Likewise.
65524         * tests/test-vasnprintf-posix.c (test_function): Likewise.
65525         * tests/test-vasprintf-posix.c (test_function): Likewise.
65526         * doc/functions/fprintf.texi: Update.
65527         * doc/functions/printf.texi: Update.
65528         * doc/functions/snprintf.texi: Update.
65529         * doc/functions/sprintf.texi: Update.
65530         * doc/functions/vfprintf.texi: Update.
65531         * doc/functions/vprintf.texi: Update.
65532         * doc/functions/vsnprintf.texi: Update.
65533         * doc/functions/vsprintf.texi: Update.
65534
65535 2007-05-01  Bruno Haible  <bruno@clisp.org>
65536
65537         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
65538
65539 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
65540
65541         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
65542         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
65543
65544 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
65545
65546         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
65547         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
65548         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
65549
65550 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
65551
65552         * lib/argp-help.c (struct hol_entry): New member `ord'.
65553         (HOL_ENTRY_PTRCMP): Use ord for comparison
65554         (hol_sort): Initialize ord.
65555
65556 2007-05-01  Bruno Haible  <bruno@clisp.org>
65557
65558         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
65559         Reported by Eric Blake.
65560         * doc/gnulib.texi (Function Substitutes): Update.
65561
65562 2007-05-01  Bruno Haible  <bruno@clisp.org>
65563
65564         * doc/functions.texi: Remove file, now redundant through
65565         doc/functions/*.texi.
65566
65567 2007-05-01  Bruno Haible  <bruno@clisp.org>
65568
65569         * modules/argp (Depends-on): Add sleep.
65570
65571 2007-05-01  Bruno Haible  <bruno@clisp.org>
65572
65573         * modules/sleep-tests: New file.
65574         * tests/test-sleep.c: New file.
65575
65576         * modules/sleep: New file.
65577         * lib/sleep.c: New file.
65578         * m4/sleep.m4: New file.
65579         * lib/unistd_.h (sleep): New declaration.
65580         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
65581         HAVE_SLEEP.
65582         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
65583         * doc/functions/sleep.texi: Document the sleep module.
65584
65585 2007-05-01  Bruno Haible  <bruno@clisp.org>
65586
65587         * lib/sigprocmask.h: Remove file.
65588         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
65589         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
65590         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
65591         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
65592         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
65593         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
65594         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
65595         HAVE_SIGSET_T as a shell variable.
65596         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
65597         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
65598         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
65599         (Depends-on): Add signal. Remove verify.
65600         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
65601         (Include): Mention <signal.h> instead of sigprocmask.h.
65602         * NEWS: Mention the change.
65603         * lib/fatal-signal.c: Don't include sigprocmask.h.
65604
65605 2007-05-01  Bruno Haible  <bruno@clisp.org>
65606
65607         * modules/signal: New file.
65608         * lib/signal_.h: New file.
65609         * m4/signal_h.m4: New file.
65610
65611 2007-05-01  Bruno Haible  <bruno@clisp.org>
65612
65613         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
65614         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
65615         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
65616         HAVE_WCTYPE_CTMP_BUG into wctype.h.
65617
65618 2007-05-01  Bruno Haible  <bruno@clisp.org>
65619
65620         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
65621         configure time.
65622         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
65623         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
65624         * modules/sys_stat (Makefile.am): Substitute their values into
65625         sys/stat.h.
65626
65627 2007-05-01  Bruno Haible  <bruno@clisp.org>
65628
65629         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
65630         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
65631         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
65632
65633 2007-05-01  Bruno Haible  <bruno@clisp.org>
65634
65635         * doc/header/assert.texi: Undo last change: don't mention the gnulib
65636         'assert' module here.
65637
65638 2007-05-01  Bruno Haible  <bruno@clisp.org>
65639
65640         * doc/functions/*.texi: New files.
65641         * doc/functions/google-ranking.txt: New file.
65642         * doc/gnulib.texi (Function Substitutes): New chapter.
65643         (ctime, inet_ntoa): Remove sections.
65644         * doc/ctime.texi: Remove file.
65645         * doc/inet_ntoa.texi: Remove file.
65646         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
65647         dependencies.
65648         (%.info): New rule, specifying a --reference-limit.
65649
65650 2007-05-01  Bruno Haible  <bruno@clisp.org>
65651
65652         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
65653
65654 2007-05-01  Bruno Haible  <bruno@clisp.org>
65655
65656         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
65657         the portability of 'mkdir' to mingw systems.
65658
65659 2007-05-01  Bruno Haible  <bruno@clisp.org>
65660
65661         * doc/headers/google-ranking.txt: New file.
65662
65663 2007-04-30  Eric Blake  <ebb9@byu.net>
65664
65665         Prefer fseeko to fseek.
65666         * modules/getpass (Depends-on): Add fseeko.
65667         * lib/getpass.c (getpass): Use fseeko, not fseek.
65668
65669 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
65670
65671         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
65672         assumes the sorting is stable, while most qsort implementations
65673         are not.  Use argument addresses to ensure they never compare as
65674         equal.
65675
65676         * tests/test-argp-2.sh (usage-indent test): Fix output
65677         (func_compare): Restore diff options
65678         * tests/test-argp.c: Restore #include "progname.h"
65679
65680 2007-04-29  Bruno Haible  <bruno@clisp.org>
65681
65682         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
65683         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
65684         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
65685         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65686         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
65687         (configure.ac): Define CHECK_SNPRINTF_POSIX.
65688         (TESTS, check_PROGRAMS): Add test-snprintf.
65689         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
65690         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
65691         (TESTS, check_PROGRAMS): Add test-vsnprintf.
65692         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
65693         assertions that fail on HP-UX, OSF/1, or IRIX.
65694         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
65695
65696 2007-04-29  Bruno Haible  <bruno@clisp.org>
65697
65698         * MODULES.html.sh (posix_functions): Remove 'contents'.
65699
65700 2007-04-29  Karl Berry  <karl@gnu.org>
65701
65702         * config/srclist.txt (gendocs_template_min): new entry.
65703
65704 2007-04-29  Bruno Haible  <bruno@clisp.org>
65705
65706         Work around fpurge bug on BSD systems.
65707         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
65708         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
65709         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
65710         fpurge to rpl_fpurge if the system already has this function.
65711         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
65712         the case where the system already has this function. Correct invariants
65713         on BSD systems.
65714         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
65715         BSD systems.
65716
65717 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
65718
65719         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
65720         proposed by Sven Verdoolaege.
65721
65722         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
65723         options.
65724         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
65725         (usage and help tests): Update
65726
65727 2007-04-29  Bruno Haible  <bruno@clisp.org>
65728
65729         * tests/test-fflush.c (main): Use a file of size 17, not 10.
65730         Print more information in case of failure. Disable a test on BeOS.
65731
65732 2007-04-29  Bruno Haible  <bruno@clisp.org>
65733
65734         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
65735         This helps debugging on systems on which no gdb is available.
65736
65737 2007-04-29  Bruno Haible  <bruno@clisp.org>
65738
65739         * lib/freading.h: Improve comments.
65740         * lib/fwriting.h: Likewise.
65741         * tests/test-freading.c (main): Don't check freading immediately after
65742         repositioning. Needed for glibc.
65743
65744 2007-04-29  Bruno Haible  <bruno@clisp.org>
65745
65746         * lib/freading.c (freading): Trivial simplification.
65747
65748 2007-04-28  Bruno Haible  <bruno@clisp.org>
65749
65750         * tests/test-fwriting.c (main): Also test the interaction between
65751         fflush and fwriting.
65752         * modules/fwriting-tests (Depends-on): Add fflush.
65753
65754         * tests/test-freading.c (main): Also test the interaction between
65755         fflush and freading.
65756         * modules/freading-tests (Depends-on): Add fflush.
65757
65758 2007-04-28  Bruno Haible  <bruno@clisp.org>
65759
65760         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
65761         fseeko and ftello.
65762         Suggested by Eric Blake.
65763
65764 2007-04-28  Jim Meyering  <jim@meyering.net>
65765
65766         Avoid false-negative in gl_STDINT_H's C99 conformance test.
65767         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
65768         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
65769
65770 2007-04-27  Eric Blake  <ebb9@byu.net>
65771
65772         * doc/headers/assert.texi (assert.h): Document assert module use.
65773
65774 2007-04-27  Bruno Haible  <bruno@clisp.org>
65775
65776         * doc/headers/*.texi: New files.
65777         * doc/gnulib.texi (Header File Substitutes): New chapter.
65778         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
65779         dependencies.
65780         (standards.info ,standards.html, standards.dvi): Update dependencies.
65781         (mostlyclean, clean): New targets.
65782
65783 2007-04-27  Bruno Haible  <bruno@clisp.org>
65784
65785         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
65786         * modules/sysexits (Files, Makefile.am): Update.
65787
65788         * lib/sys_socket_.h: Renamed from lib/socket_.h.
65789         * modules/sys_socket (Files, Makefile.am): Update.
65790
65791         * lib/sys_stat_.h: Renamed from lib/stat_.h.
65792         * modules/sys_stat (Files, Makefile.am): Update.
65793
65794 2007-04-27  Eric Blake  <ebb9@byu.net>
65795
65796         * lib/freading.h: Improve comments.
65797         * lib/fwriting.h: Likewise.
65798         * lib/fflush.c: Likewise.
65799
65800         Fix closein for mingw.
65801         * modules/closein-tests: Add tests for closein.
65802         * tests/test-closein.c: New file.
65803         * tests/test-closein.sh: Likewise.
65804         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
65805         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
65806
65807 2007-04-27  Bruno Haible  <bruno@clisp.org>
65808
65809         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
65810         version is < 6.
65811         * lib/math_.h [__DECC]: Likewise.
65812         * lib/stdio_.h [__DECC]: Likewise.
65813         * lib/stdlib_.h [__DECC]: Likewise.
65814         * lib/string_.h [__DECC]: Likewise.
65815         * lib/time_.h [__DECC]: Likewise.
65816         * lib/wchar_.h [__DECC]: Likewise.
65817         * lib/wctype_.h [__DECC]: Likewise.
65818
65819 2007-04-27  Bruno Haible  <bruno@clisp.org>
65820
65821         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
65822
65823 2007-04-27  Bruno Haible  <bruno@clisp.org>
65824
65825         * lib/fflush.c: Add comments.
65826         * modules/fpurge-tests (Depends-on): Add fflush.
65827         * modules/freadable-tests (Depends-on): Likewise.
65828         * modules/fwritable-tests (Depends-on): Likewise.
65829
65830 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
65831
65832         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
65833         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
65834         Report by Bruno Haible <bruno@clisp.org>.
65835
65836 2007-04-26  Eric Blake  <ebb9@byu.net>
65837
65838         Fix fflush on mingw.
65839         * modules/fflush (Depends-on): Add freading.
65840         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
65841         but unread data.
65842
65843 2007-04-26  Eric Blake  <ebb9@byu.net>
65844         and Bruno Haible  <bruno@clisp.org>
65845
65846         Implement freading and fwriting.
65847         * lib/freading.c: New file.
65848         * lib/freading.h: Likewise.
65849         * m4/freading.m4: Likewise.
65850         * modules/freading: Likewise.
65851         * modules/freading-tests: Likewise.
65852         * tests/test-freading.c: Likewise.
65853         * lib/fwriting.c: New file.
65854         * lib/fwriting.h: Likewise.
65855         * m4/fwriting.m4: Likewise.
65856         * modules/fwriting: Likewise.
65857         * modules/fwriting-tests: Likewise.
65858         * tests/test-fwriting.c: Likewise.
65859         * MODULES.html.sh (File stream based Input/Output): Mention them.
65860
65861 2007-04-26  Bruno Haible  <bruno@clisp.org>
65862
65863         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
65864         'long' when we assume it.
65865         Suggested by Eric Blake.
65866
65867 2007-04-26  Bruno Haible  <bruno@clisp.org>
65868
65869         Ensure fseeko, ftello are declared on glibc systems.
65870         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
65871         * modules/fseeko (configure.ac-early): Likewise.
65872         * modules/ftello (configure.ac-early): Likewise.
65873         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
65874         AC_FUNC_FSEEKO for this.
65875         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
65876         (gl_CHECK_FSEEKO): Remove macro.
65877
65878 2007-04-26  Bruno Haible  <bruno@clisp.org>
65879
65880         * tests/test-fflush.c (main): Also check the ftell result after
65881         fflush and fseek/fseeko.
65882         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
65883         file descriptor position cache in the stream.
65884         * lib/fseeko.c (rpl_fseeko): Likewise.
65885
65886 2007-04-26  Bruno Haible  <bruno@clisp.org>
65887
65888         * modules/fflush-tests (Depends-on): Add fseeko.
65889
65890 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
65891             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65892
65893         * lib/argz_.h: ensure error_t definition is obtained in same
65894         mechanism system argz.h would have.
65895         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
65896         argz facilities are known bad.  Err on the side of caution if
65897         cross-compiling.
65898
65899 2007-04-25  Eric Blake  <ebb9@byu.net>
65900
65901         * lib/fpurge.c (includes): Use stdlib.h for free.
65902         * tests/test-fflush.c (main): Also test fflush-fseeko.
65903
65904 2007-04-25  Bruno Haible  <bruno@clisp.org>
65905
65906         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
65907         * lib/fseeko.c: New file.
65908         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
65909         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
65910         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
65911         gl_FUNC_FSEEKO.
65912         (gl_FUNC_FSEEKO): Invoke it.
65913         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
65914         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
65915         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
65916
65917 2007-04-25  Bruno Haible  <bruno@clisp.org>
65918
65919         * modules/fflush (Depends-on): Add ftello.
65920
65921 2007-04-25  Bruno Haible  <bruno@clisp.org>
65922
65923         * modules/ftello-tests: New file.
65924         * tests/test-ftello.c: New file.
65925
65926         * modules/ftello: New file.
65927         * m4/ftello.m4: New file.
65928         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
65929         HAVE_FTELLO.
65930         * lib/stdio_.h (ftello): New declaration.
65931         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
65932         HAVE_FTELLO.
65933
65934 2007-04-25  Bruno Haible  <bruno@clisp.org>
65935
65936         * modules/fseeko-tests: New file.
65937         * tests/test-fseeko.c: New file.
65938
65939         * modules/fseeko: New file.
65940         * m4/fseeko.m4: New file.
65941         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
65942         HAVE_FSEEKO.
65943         * lib/stdio_.h (fseeko): New declaration.
65944         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
65945         HAVE_FSEEKO.
65946
65947 2007-04-25  Bruno Haible  <bruno@clisp.org>
65948
65949         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
65950
65951 2007-04-25  Bruno Haible  <bruno@clisp.org>
65952
65953         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
65954         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
65955         * tests/test-unistd.c: Likewise.
65956         * tests/test-fcntl.c: Likewise.
65957
65958 2007-04-23  Eric Blake  <ebb9@byu.net>
65959
65960         * lib/fflush.c: Fix missing include.
65961         Reported by Bruno Haible.
65962
65963 2007-04-23  Bruno Haible  <bruno@clisp.org>
65964
65965         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
65966         Reported by Eric Blake.
65967
65968 2007-04-23  Bruno Haible  <bruno@clisp.org>
65969
65970         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
65971
65972 2007-04-23  Bruno Haible  <bruno@clisp.org>
65973
65974         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
65975
65976 2007-04-23  Bruno Haible  <bruno@clisp.org>
65977
65978         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
65979         Needed on HP-UX 11.
65980
65981 2007-04-16  Eric Blake  <ebb9@byu.net>
65982
65983         Make fflush rely on fpurge.
65984         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
65985         open coding all variants.
65986         * modules/fflush (Depends-on): Add fpurge and unistd.
65987         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
65988         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
65989
65990         Fix --with-tests compilation on cygwin.
65991         * modules/argmatch-tests (Makefile.am): List gnulib library first
65992         in LDADD.
65993         * modules/argp-tests (Makefile.am): Likewise.
65994         * modules/array-list-tests (Makefile.am): Likewise.
65995         * modules/array-oset-tests (Makefile.am): Likewise.
65996         * modules/avltree-list-tests (Makefile.am): Likewise.
65997         * modules/avltree-oset-tests (Makefile.am): Likewise.
65998         * modules/avltreehash-list-tests (Makefile.am): Likewise.
65999         * modules/carray-list-tests (Makefile.am): Likewise.
66000         * modules/dirname-tests (Makefile.am): Likewise.
66001         * modules/frexp-tests (Makefile.am): Likewise.
66002         * modules/isnanl-tests (Makefile.am): Likewise.
66003         * modules/linked-list-tests (Makefile.am): Likewise.
66004         * modules/linkedhash-list-tests (Makefile.am): Likewise.
66005         * modules/lock-tests (Makefile.am): Likewise.
66006         * modules/rbtree-list-tests (Makefile.am): Likewise.
66007         * modules/rbtree-oset-tests (Makefile.am): Likewise.
66008         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
66009         * modules/tls-tests (Makefile.am): Likewise.
66010         * modules/tsearch-tests (Makefile.am): Likewise.
66011         * modules/xvasprintf-tests (Makefile.am): Likewise.
66012
66013         Fix fpurge for cygwin.
66014         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
66015         value.
66016         * modules/fpurge-tests (Depends-on): Clean up trash.
66017
66018 2007-04-16  Simon Josefsson  <simon@josefsson.org>
66019
66020         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
66021
66022         * m4/autobuild.m4: Re-indent.
66023
66024 2007-04-13  Bruno Haible  <bruno@clisp.org>
66025
66026         * modules/fpurge-tests: New file.
66027         * tests/test-fpurge.c: New file.
66028
66029         * modules/fpurge: New file.
66030         * lib/fpurge.h: New file.
66031         * lib/fpurge.c: New file.
66032         * m4/fpurge.m4: New file.
66033
66034 2007-04-13  Bruno Haible  <bruno@clisp.org>
66035
66036         * modules/fbufmode-tests: New file.
66037         * tests/test-fbufmode.c: New file.
66038
66039         * modules/fbufmode: New file.
66040         * lib/fbufmode.h: New file.
66041         * lib/fbufmode.c: New file.
66042         * m4/fbufmode.m4: New file.
66043
66044 2007-04-13  Bruno Haible  <bruno@clisp.org>
66045
66046         * modules/fwritable-tests: New file.
66047         * tests/test-fwritable.c: New file.
66048
66049         * modules/fwritable: New file.
66050         * lib/fwritable.h: New file.
66051         * lib/fwritable.c: New file.
66052         * m4/fwritable.m4: New file.
66053
66054 2007-04-13  Bruno Haible  <bruno@clisp.org>
66055
66056         * modules/freadable-tests: New file.
66057         * tests/test-freadable.c: New file.
66058
66059         * modules/freadable: New file.
66060         * lib/freadable.h: New file.
66061         * lib/freadable.c: New file.
66062         * m4/freadable.m4: New file.
66063
66064 2007-04-13  Bruno Haible  <bruno@clisp.org>
66065
66066         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
66067         MOSTLYCLEANFILES.
66068
66069 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
66070
66071         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
66072         gzip bootstrap.conf to avoid dragging in i18n machinery.
66073         (gnulib_tool_option): Use it.
66074
66075 2007-04-13  Bruno Haible  <bruno@clisp.org>
66076
66077         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
66078         %F directives.
66079         * tests/test-vasprintf-posix.c (test_function): Likewise.
66080         * tests/test-snprintf-posix.h (test_function): Likewise.
66081         * tests/test-sprintf-posix.h (test_function): Likewise.
66082         * tests/test-fprintf-posix.h (test_function): Likewise.
66083         * tests/test-printf-posix.h (test_function): Likewise.
66084         * tests/test-fprintf-posix.out: Likewise.
66085
66086 2007-04-13  Bruno Haible  <bruno@clisp.org>
66087
66088         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
66089         * modules/tls-tests (configure.ac): Likewise.
66090         Reported by Arto C. Nirkko <anirkko@insel.ch>.
66091
66092 2007-04-13  Bruno Haible  <bruno@clisp.org>
66093
66094         * lib/tls.c (glthread_tls_get): Fix return type.
66095         Patch by Arto C. Nirkko <anirkko@insel.ch>.
66096
66097 2007-04-12  Eric Blake  <ebb9@byu.net>
66098
66099         * modules/gettime (Depends-on): Remove gettime.
66100         Reported by Dmitry V. Levin.
66101
66102 2007-04-12  Bruno Haible  <bruno@clisp.org>
66103
66104         * modules/fflush (Include): Mention <stdio.h>.
66105         * modules/strtoimax (Include): Mention <inttypes.h>.
66106         * modules/strtoumax (Include): Likewise.
66107
66108 2007-04-12  Eric Blake  <ebb9@byu.net>
66109
66110         * .cvsignore: New file.
66111         * .gitignore: Likewise.
66112
66113 2007-04-12  Bruno Haible  <bruno@clisp.org>
66114
66115         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
66116         not before, since $(LDADD) often contains libgnu.a.
66117         * modules/striconv-tests (test_striconv_LDADD): Likewise.
66118         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
66119         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
66120         Needed on Cygwin.
66121
66122 2007-04-12  Eric Blake  <ebb9@byu.net>
66123
66124         Work around glibc's failure to flush stdin on fclose.
66125         * lib/closein.c (close_stdin): Flush stdin before closing.
66126
66127         Work around glibc's failure to reset seekable stdin on exit.
66128         * modules/closein: New module.
66129         * lib/closein.c: New file.
66130         * lib/closein.h: Likewise.
66131         * m4/closein.m4: Likewise.
66132         * MODULES.html.sh (File stream based Input/Output): Document it.
66133
66134 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66135
66136         * gnulib-tool: Rename generated 'autobuild' script to
66137         'do-autobuild' in --create-megatestdir output.
66138
66139         * doc/gnulib.texi (Build robot for gnulib): Fix.
66140
66141 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66142
66143         * modules/sysexits (Depends-on): Add absolute-header.
66144
66145 2007-04-12  Eric Blake  <ebb9@byu.net>
66146
66147         No need to preserve errno on success.
66148         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
66149         Reported by Bruno Haible.
66150
66151 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66152
66153         * MODULES.html.sh (Support for maintaining and releasing
66154         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
66155
66156 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66157
66158         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
66159
66160 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66161
66162         * modules/autobuild: New module.
66163
66164         * m4/autobuild.m4: New file.
66165
66166 2007-04-11  Bruno Haible  <bruno@clisp.org>
66167
66168         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
66169         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
66170         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
66171         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
66172         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66173         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66174         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66175         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
66176         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66177         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66178         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_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/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_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/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_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/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_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/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_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/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_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         Reported by Eric Blake.
66197
66198 2007-04-11  Bruno Haible  <bruno@clisp.org>
66199
66200         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
66201
66202 2007-04-10  Bruno Haible  <bruno@clisp.org>
66203
66204         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
66205         for NaN and Infinity. Needed on FreeBSD 6.1.
66206         * tests/test-vasnprintf-posix.c (test_function): Undo last change
66207         regarding results for "%010a" of Infinity and NaN.
66208         * tests/test-vasprintf-posix.c (test_function): Likewise.
66209         * tests/test-snprintf-posix.h (test_function): Likewise.
66210         * tests/test-sprintf-posix.h (test_function): Likewise.
66211         * tests/test-fprintf-posix.h (test_function): Likewise.
66212         * tests/test-printf-posix.h (test_function): Likewise.
66213         * tests/test-fprintf-posix.out: Likewise.
66214
66215 2007-04-10  Bruno Haible  <bruno@clisp.org>
66216
66217         * modules/locale-tests: New file.
66218         * tests/test-locale.c: New file.
66219
66220         * modules/locale: New file.
66221         * lib/locale_.h: New file.
66222         * m4/locale_h.m4: New file.
66223
66224 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
66225             Bruno Haible  <bruno@clisp.org>
66226
66227         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
66228         be determined, test for availability of the copysignf, copysign,
66229         copysignl functions.
66230         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
66231         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
66232         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
66233
66234 2007-04-09  Eric Blake  <ebb9@byu.net>
66235
66236         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
66237         * modules/stdio (Makefile.am): Support fflush.
66238         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
66239         * modules/fflush: New file.
66240         * lib/fflush.c: Likewise.
66241         * m4/fflush.m4: Likewise.
66242         * modules/fflush-tests: New test.
66243         * tests/test-fflush.c: Likewise.
66244         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
66245
66246 2007-04-06  Bruno Haible  <bruno@clisp.org>
66247
66248         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
66249         (VASNPRINTF): Use signbit for faster determination whether to print a
66250         minus sign.
66251         * modules/vasnprintf (Files): Remove lib/float+.h.
66252         * modules/fprintf-posix (Depends-on): Add signbit.
66253         * modules/snprintf-posix (Depends-on): Likewise.
66254         * modules/sprintf-posix (Depends-on): Likewise.
66255         * modules/vasnprintf-posix (Depends-on): Likewise.
66256         * modules/vasprintf-posix (Depends-on): Likewise.
66257         * modules/vfprintf-posix (Depends-on): Likewise.
66258         * modules/vsnprintf-posix (Depends-on): Likewise.
66259         * modules/vsprintf-posix (Depends-on): Likewise.
66260
66261 2007-04-06  Bruno Haible  <bruno@clisp.org>
66262
66263         * tests/test-frexp.c (main): Test also the sign bit of zero results.
66264         * tests/test-frexpl.c (main): Likewise.
66265         * tests/test-ldexpl.c (main): Likewise.
66266         * modules/frexp-tests (Depends-on): Add signbit.
66267         * modules/frexpl-tests (Depdends-on): Likewise.
66268         * modules/ldexpl-tests (Depdends-on): Likewise.
66269
66270 2007-04-06  Bruno Haible  <bruno@clisp.org>
66271
66272         * modules/signbit-tests: New file.
66273         * tests/test-signbit.c: New file.
66274
66275         * modules/signbit: New file.
66276         * lib/signbitf.c: New file.
66277         * lib/signbitd.c: New file.
66278         * lib/signbitl.c: New file.
66279         * m4/signbit.m4: New file.
66280         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
66281         (signbit): New macro.
66282         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
66283         REPLACE_SIGNBIT.
66284         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
66285         REPLACE_FREXPL into math.h.
66286
66287 2007-04-06  Bruno Haible  <bruno@clisp.org>
66288
66289         * modules/isnanf-nolibm-tests: New file.
66290         * tests/test-isnanf.c: New file.
66291
66292         * modules/isnanf-nolibm: New file.
66293         * lib/isnanf.h: New file.
66294         * lib/isnanf.c: New file.
66295         * lib/isnan.c: Consider the USE_FLOAT macro.
66296         * m4/isnanf.m4: New file.
66297
66298 2007-04-06  Bruno Haible  <bruno@clisp.org>
66299
66300         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
66301         (Link): New section.
66302
66303         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
66304
66305 2007-04-06  Bruno Haible  <bruno@clisp.org>
66306
66307         Assume the 'long double' type.
66308         * m4/longdouble.m4: Remove file.
66309         * config/srclist.txt: Don't mention longdouble.m4.
66310         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
66311         * lib/float+.h: Likewise.
66312         * lib/frexp.c: Likewise.
66313         * lib/printf-args.h: Likewise.
66314         * lib/printf-args.c: Likewise.
66315         * lib/printf-frexp.c: Likewise.
66316         * lib/printf-parse.c: Likewise.
66317         * lib/vasnprintf.c: Likewise.
66318         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
66319         * m4/intl.m4: Likewise.
66320         * m4/isnanl.m4: Likewise.
66321         * m4/printf.m4: Likewise.
66322         * m4/printf-frexpl.m4: Likewise.
66323         * m4/vasnprintf.m4: Likewise.
66324         * modules/allocsa (Files): Remove m4/longdouble.m4.
66325         * modules/gettext (Files): Likewise.
66326         * modules/relocatable-prog-wrapper (Files): Likewise.
66327         * modules/vasnprintf (Files): Likewise.
66328         * modules/isnanl (Files): Likewise.
66329         (Include): Simplify.
66330         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
66331         (Include): Simplify.
66332         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
66333         (Include): Simplify.
66334         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
66335         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66336         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
66337         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66338         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
66339         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66340         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
66341         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66342         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
66343         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66344         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
66345         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66346         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
66347         * tests/test-isnanl.c: Likewise.
66348         * tests/test-snprintf-posix.h: Likewise.
66349         * tests/test-sprintf-posix.h: Likewise.
66350         * tests/test-vasnprintf-posix.c: Likewise.
66351         * tests/test-vasnprintf-posix2.c: Likewise.
66352         * tests/test-vasprintf-posix.c: Likewise.
66353
66354 2007-04-06  Bruno Haible  <bruno@clisp.org>
66355
66356         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
66357         * lib/math_.h [__DECC]: Include the overridden include file through
66358         #include_next, outside the double-inclusion guard.
66359         * lib/stdio_.h [__DECC]: Likewise.
66360         * lib/stdlib_.h [__DECC]: Likewise.
66361         * lib/string_.h [__DECC]: Likewise.
66362         * lib/time_.h [__DECC]: Likewise.
66363         * lib/wchar_.h [__DECC]: Likewise.
66364         * lib/wctype_.h [__DECC]: Likewise.
66365         * lib/inttypes_.h [__DECC]: Likewise.
66366         Reported by Albert Chin <china@thewrittenword.com> in
66367         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
66368
66369 2007-04-04  Eric Blake  <ebb9@byu.net>
66370
66371         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
66372         1.5.x.
66373
66374 2007-04-04  Bruno Haible  <bruno@clisp.org>
66375
66376         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
66377         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
66378
66379 2007-04-04  Bruno Haible  <bruno@clisp.org>
66380
66381         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
66382         results for "%010a" of Infinity and NaN.
66383         * tests/test-vasprintf-posix.c (test_function): Likewise.
66384         * tests/test-snprintf-posix.h (test_function): Likewise.
66385         * tests/test-sprintf-posix.h (test_function): Likewise.
66386         * tests/test-fprintf-posix.h (test_function): Remove these tests.
66387         * tests/test-printf-posix.h (test_function): Likewise.
66388         * tests/test-fprintf-posix.out: Update.
66389         Needed for FreeBSD 6.1.
66390
66391 2007-04-04  Bruno Haible  <bruno@clisp.org>
66392
66393         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
66394         directly used by the gnulib modules nor by gnulib-tool.
66395
66396 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
66397
66398         * DEPENDENCIES: Give overall description of version dependency
66399         desirability.  Use more-typical names for apps.
66400         Add shell, coreutils, diffutils, grep, tar, gzip.
66401
66402 2007-04-04  Simon Josefsson  <simon@josefsson.org>
66403
66404         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
66405
66406 2007-04-04  Karl Berry  <karl@gnu.org>
66407
66408         * MODULES.html.sh (func_module): missing '.
66409
66410 2007-04-03  Bruno Haible  <bruno@clisp.org>
66411
66412         * modules/argmatch-tests (Makefile.am): New variable
66413         test_argmatch_LDADD.
66414         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
66415         * modules/array-list-tests (Makefile.am): New variable
66416         test_array_list_LDADD.
66417         * modules/array-oset-tests (Makefile.am): New variable
66418         test_array_oset_LDADD.
66419         * modules/avltree-list-tests (Makefile.am): New variable
66420         test_avltree_list_LDADD.
66421         * modules/avltree-oset-tests (Makefile.am): New variable
66422         test_avltree_oset_LDADD.
66423         * modules/avltreehash-list-tests (Makefile.am): New variable
66424         test_avltreehash_list_LDADD.
66425         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
66426         test_canonicalize_lgpl_LDADD.
66427         * modules/carray-list-tests (Makefile.am): New variable
66428         test_carray_list_LDADD.
66429         * modules/dirname-tests (Makefile.am): New variable
66430         test_dirname_LDADD.
66431         * modules/linked-list-tests (Makefile.am): New variable
66432         test_linked_list_LDADD.
66433         * modules/linkedhash-list-tests (Makefile.am): New variable
66434         test_linkedhash_list_LDADD.
66435         * modules/rbtree-list-tests (Makefile.am): New variable
66436         test_rbtree_list_LDADD.
66437         * modules/rbtree-oset-tests (Makefile.am): New variable
66438         test_rbtree_oset_LDADD.
66439         * modules/rbtreehash-list-tests (Makefile.am): New variable
66440         test_rbtreehash_list_LDADD.
66441         * modules/xvasprintf-tests (Makefile.am): New variable
66442         test_xvasprintf_LDADD.
66443         Reported by Eric Blake.
66444
66445 2007-04-03  Eric Blake  <ebb9@byu.net>
66446
66447         * DEPENDENCIES: Weaken m4 requirements.
66448
66449 2007-04-03  Bruno Haible  <bruno@clisp.org>
66450
66451         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
66452         * modules/isnanl-tests (configure.ac): Likewise.
66453
66454 2007-04-03  Ben Pfaff  <blp@gnu.org>
66455
66456         * modules/iconv_open: Add $(srcdir)/ to source directory
66457         references in Makefile fragments that call gperf, to fix VPATH
66458         builds.
66459
66460 2007-04-03  Bruno Haible  <bruno@clisp.org>
66461
66462         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
66463         * lib/ldexpl.c: Undo last change.
66464
66465 2007-04-03  Bruno Haible  <bruno@clisp.org>
66466
66467         * modules/printf-frexpl (Depends-on): Undo last change.
66468         (Files): Add m4/ldexpl.m4.
66469
66470 2007-04-03  Bruno Haible  <bruno@clisp.org>
66471
66472         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
66473         * modules/isnanl (Link): New section.
66474
66475         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
66476         * modules/frexp (Link): New section.
66477
66478         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
66479         * modules/frexpl (Link): New section.
66480
66481         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
66482         * modules/ldexpl (Link): New section.
66483
66484 2007-04-03  Bruno Haible  <bruno@clisp.org>
66485
66486         * modules/TEMPLATE-EXTENDED: New file.
66487         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
66488
66489 2007-04-03  Bruno Haible  <bruno@clisp.org>
66490
66491         * DEPENDENCIES: New file.
66492         Suggested by Simon Josefsson.
66493
66494 2007-04-03  Bruno Haible  <bruno@clisp.org>
66495
66496         * doc/gnulib.texi: Escape @.
66497
66498 2007-04-03  James Youngman  <jay@gnu.org>
66499         and Paul Eggert  <eggert@cs.ucla.edu>
66500
66501         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
66502         birthtime on all systems that have birthtime, not just those which
66503         use st_birthtimensec rather than st_birthtim.  Putting zero in
66504         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
66505         that the birth time is not available for files on an NFS mount.
66506
66507 2007-04-03  Simon Josefsson  <simon@josefsson.org>
66508
66509         * modules/memxor: Move back from crypto/, suggested by Bruno.
66510         * modules/crypto/hmac-sha1: Fix memxor dependency.
66511
66512         * modules/crypto/gc: Moved from ../.
66513
66514 2007-04-02  Eric Blake  <ebb9@byu.net>
66515
66516         * lib/ldexpl.c (includes): Avoid libm.
66517
66518         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
66519
66520 2007-04-02  Bruno Haible  <bruno@clisp.org>
66521
66522         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
66523         on IRIX.
66524
66525 2007-04-02  Bruno Haible  <bruno@clisp.org>
66526
66527         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
66528         x86 or x86_64 platforms running MacOS X.
66529         Reported by Ryan Schmidt <@ryandesign.com>.
66530
66531 2007-04-02  Bruno Haible  <bruno@clisp.org>
66532
66533         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
66534         i386.
66535
66536 2007-04-01  Simon Josefsson  <simon@josefsson.org>
66537
66538         * modules/crypto/arcfour: Moved from ../.
66539         * modules/crypto/arcfour-tests: Moved from ../.
66540         * modules/crypto/arctwo: Moved from ../.
66541         * modules/crypto/arctwo-tests: Moved from ../.
66542         * modules/crypto/des: Moved from ../.
66543         * modules/crypto/des-tests: Moved from ../.
66544         * modules/crypto/gc-arcfour: Moved from ../.
66545         * modules/crypto/gc-arcfour-tests: Moved from ../.
66546         * modules/crypto/gc-arctwo: Moved from ../.
66547         * modules/crypto/gc-arctwo-tests: Moved from ../.
66548         * modules/crypto/gc-des: Moved from ../.
66549         * modules/crypto/gc-des-tests: Moved from ../.
66550         * modules/crypto/gc-hmac-md5: Moved from ../.
66551         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
66552         * modules/crypto/gc-hmac-sha1: Moved from ../.
66553         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
66554         * modules/crypto/gc-md2: Moved from ../.
66555         * modules/crypto/gc-md2-tests: Moved from ../.
66556         * modules/crypto/gc-md4: Moved from ../.
66557         * modules/crypto/gc-md4-tests: Moved from ../.
66558         * modules/crypto/gc-md5: Moved from ../.
66559         * modules/crypto/gc-md5-tests: Moved from ../.
66560         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
66561         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
66562         * modules/crypto/gc-random: Moved from ../.
66563         * modules/crypto/gc-rijndael: Moved from ../.
66564         * modules/crypto/gc-rijndael-tests: Moved from ../.
66565         * modules/crypto/gc-sha1: Moved from ../.
66566         * modules/crypto/gc-sha1-tests: Moved from ../.
66567         * modules/crypto/gc-tests: Moved from ../.
66568         * modules/crypto/hmac-md5: Moved from ../.
66569         * modules/crypto/hmac-md5-tests: Moved from ../.
66570         * modules/crypto/hmac-sha1: Moved from ../.
66571         * modules/crypto/hmac-sha1-tests: Moved from ../.
66572         * modules/crypto/md2: Moved from ../.
66573         * modules/crypto/md2-tests: Moved from ../.
66574         * modules/crypto/md4: Moved from ../.
66575         * modules/crypto/md4-tests: Moved from ../.
66576         * modules/crypto/md5: Moved from ../.
66577         * modules/crypto/md5-tests: Moved from ../.
66578         * modules/crypto/memxor: Moved from ../.
66579         * modules/crypto/rijndael: Moved from ../.
66580         * modules/crypto/rijndael-tests: Moved from ../.
66581         * modules/crypto/sha1: Moved from ../.
66582
66583 2007-03-30  James Youngman  <jay@gnu.org>
66584
66585         * tests/test-stat-time.c (prepare_test): use chmod() rather than
66586         rename() to change the ctime of a file (because ctime is unaffected
66587         by rename on jfs2 on AIX 5.1).
66588         (main): Start by doing cleanup, in case a previous run failed leaving
66589         test files behind.
66590
66591 2007-03-31  Bruno Haible  <bruno@clisp.org>
66592
66593         Support old proprietary implementations of iconv.
66594         * modules/iconv_open: New file.
66595         * lib/iconv_.h: New file.
66596         * m4/iconv_h.m4: New file.
66597         * lib/iconv_open.c: New file.
66598         * lib/iconv_open-aix.gperf: New file.
66599         * lib/iconv_open-hpux.gperf: New file.
66600         * lib/iconv_open-irix.gperf: New file.
66601         * lib/iconv_open-osf.gperf: New file.
66602         * m4/iconv_open.m4: New file.
66603         * modules/linebreak (Depends-on): Add iconv_open.
66604         * modules/striconv (Depends-on): Likewise.
66605         * modules/striconveh (Depends-on): Likewise.
66606         * modules/unicodeio (Depends-on): Likewise.
66607         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
66608         (iconv_t)(-1).
66609         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
66610         conversion if cd is (iconv_t)(-1).
66611         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
66612         is not possible.
66613
66614 2007-03-31  Bruno Haible  <bruno@clisp.org>
66615
66616         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
66617         work on Solaris either. Protect also second use of "autodetect_jp".
66618
66619 2007-03-31  Bruno Haible  <bruno@clisp.org>
66620
66621         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
66622         the function is not present.
66623
66624 2007-03-31  Bruno Haible  <bruno@clisp.org>
66625
66626         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
66627         the function is not present.
66628
66629 2007-03-31  Bruno Haible  <bruno@clisp.org>
66630
66631         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
66632         a bug in HP-UX iconv_open().
66633
66634 2007-03-31  Bruno Haible  <bruno@clisp.org>
66635
66636         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
66637         (Mathematics <math.h>): New section, add fpieee.
66638         (Input/output <stdio.h>): Add fseterr.
66639         (Mathematics <math.h>): New section, add printf-frexp.
66640         (Container data structures): Add sublist.
66641         (Core language properties): Add fpucw, inline.
66642         (Functions for greatest-width integer types <inttypes.h>): Add
66643         imaxabs, imaxdiv, inttypes.
66644         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
66645         isnanl-nolibm, ldexp.
66646         (Mathematics <math.h>): New section, add printf-frexpl.
66647         (Support for systems lacking POSIX:2001): Add fprintf-posix,
66648         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
66649         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
66650         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
66651         (Unicode string functions): Add unistr/u*-mbtoucr.
66652         (Java): Add javacomp-script, javaexec-script.
66653         (C#): Add csharpcomp-script, csharpexec-script.
66654         (Support for building libraries and executables): Add havelib,
66655         relocatable-*.
66656         (Support for maintaining and releasing projects): Renamed from
66657         'Support for maintaining and release projects'. Add announce-gen.
66658
66659 2007-03-31  Bruno Haible  <bruno@clisp.org>
66660
66661         * README: Talk primarily about git.
66662         (git and CVS): Renamed from CVS.
66663         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
66664         gnulib is available through git.
66665         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
66666
66667 2007-03-30  Bruno Haible  <bruno@clisp.org>
66668
66669         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
66670         * lib/poll_.h: Likewise.
66671         * lib/stat_.h: Likewise.
66672         * lib/sys_time_.h: Likewise.
66673         * lib/sysexit_.h: Likewise.
66674         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
66675         * lib/stdbool_.h: Likewise.
66676         * lib/byteswap_.h: Add double-inclusion guard.
66677
66678 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
66679
66680         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
66681
66682 2007-03-30  Karl Berry  <karl@gnu.org>
66683
66684         * config/srclist-update: double space after USA in the license
66685         substitution, since that's how it's usually (?) written.
66686
66687 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
66688
66689         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
66690         reported by Bruno Haible.
66691
66692 2007-03-29  Bruno Haible  <bruno@clisp.org>
66693
66694         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
66695         a bug in AIX iconv().
66696
66697 2007-03-29  Bruno Haible  <bruno@clisp.org>
66698
66699         * modules/ldexpl-tests: New file.
66700         * tests/test-ldexpl.c: New file.
66701
66702 2007-03-29  Bruno Haible  <bruno@clisp.org>
66703
66704         * lib/ldexpl.c: Include fpucw.h.
66705         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
66706         multiplication.
66707         * modules/ldexpl (Depends-on): Add fpucw.
66708
66709 2007-03-29  Bruno Haible  <bruno@clisp.org>
66710
66711         * modules/ldexpl: New file.
66712         * m4/ldexpl.m4: New file.
66713         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
66714         set.
66715         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
66716         REPLACE_LDEXPL.
66717         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
66718         REPLACE_LDEXPL.
66719         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
66720         gl_FUNC_LDEXPL_WORKS.
66721         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
66722         * modules/mathl (Files): Remove lib/ldexpl.c.
66723         (Depends-on): Add ldexpl.
66724
66725 2007-03-29  Bruno Haible  <bruno@clisp.org>
66726
66727         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
66728
66729 2007-03-29  Bruno Haible  <bruno@clisp.org>
66730
66731         * tests/test-striconveh.c (main): Don't assume that a direct conversion
66732         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
66733         and possibly also HP-UX.
66734         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
66735         work on AIX, IRIX, HP-UX, OSF/1.
66736         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
66737         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
66738         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
66739         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
66740         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
66741         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
66742
66743 2007-03-29  Bruno Haible  <bruno@clisp.org>
66744
66745         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
66746
66747 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
66748
66749         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
66750         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
66751
66752 2007-03-29  Eric Blake  <ebb9@byu.net>
66753
66754         * lib/acl-internal.h: Remove redundant include.
66755         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
66756         Cygwin when a file is locked.
66757
66758 2007-03-29  Bruno Haible  <bruno@clisp.org>
66759
66760         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
66761         file.
66762         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
66763
66764 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
66765
66766         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
66767         try to remove a parent directory if the child couldn't be removed
66768         (except for the first rmdir, which could fail because the child
66769         doesn't exist).  Problem reported by Jeff Blaine in
66770         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
66771
66772 2007-03-28  Bruno Haible  <bruno@clisp.org>
66773
66774         * lib/striconveh.c (utf8conv_carefully): New function.
66775         (mem_cd_iconveh_internal): Invoke it.
66776
66777 2007-03-28  Bruno Haible  <bruno@clisp.org>
66778
66779         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
66780         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
66781         input.
66782         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
66783         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
66784         unistr/u8-uctomb.
66785
66786 2007-03-28  Bruno Haible  <bruno@clisp.org>
66787
66788         * modules/unistr/u8-mbtoucr: New file.
66789         * lib/unistr/u8-mbtoucr.c: New file.
66790         * modules/unistr/u16-mbtoucr: New file.
66791         * lib/unistr/u16-mbtoucr.c: New file.
66792         * modules/unistr/u16-mbtoucr: New file.
66793         * lib/unistr/u16-mbtoucr.c: New file.
66794         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
66795
66796 2007-03-27  Simon Josefsson  <simon@josefsson.org>
66797             Bruno Haible  <bruno@clisp.org>
66798
66799         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
66800         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
66801         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
66802
66803         * m4/stdio_h.m4: Add stubs for vasprintf too.
66804
66805         * modules/stdio: Support vasprintf in sed command.
66806
66807         * modules/vasprintf: Depend on stdio for prototypes.  Remove
66808         vasprintf.h.  Add stdio module indicator.
66809
66810         * lib/stdio_.h: Declare asprintf and vasprintf, based on
66811         vasprintf.h.
66812
66813         * lib/vasprintf.h: File removed.
66814
66815         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
66816         * lib/vasprintf.c: Ditto.
66817         * lib/xvasprintf.c: Ditto.
66818         * tests/test-vasprintf-posix.c: Ditto.
66819         * tests/test-vasprintf.c: Ditto.
66820
66821 2007-03-27  Bruno Haible  <bruno@clisp.org>
66822
66823         Make vasnprintf multithread-safe.
66824         * lib/vasnprintf.c (decimal_point_char): New function.
66825         (VASNPRINTF): Use it.
66826         Suggested by Simon Josefsson.
66827
66828 2007-03-27  Eric Blake  <ebb9@byu.net>
66829
66830         Support sub-second birthtime on cygwin.
66831         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
66832         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
66833         (get_stat_birthtime): Also work with st_birthtim.
66834
66835 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
66836
66837         * lib/stat-time.h (USE_BIRTHTIME): Remove.
66838         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
66839         (get_stat_birthtime_ns): Do not try to use "spare" fields.
66840         (get_stat_birthtime_ns): Simplify compile-time tests.
66841         (get_stat_birthtime): Change the API to look like
66842         get_stat_mtime etc., except return a negative tv_nsec on error.
66843         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
66844         Don't check for "spare" fields.
66845         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
66846         or for struct stat.st_birthtime, as these tests aren't used.
66847         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
66848
66849 2007-03-27  Bruno Haible  <bruno@clisp.org>
66850
66851         * lib/stat-time.h: Include <sys/stat.h>.
66852
66853 2007-03-27  James Youngman  <jay@gnu.org>
66854
66855         * lib/stat-time.h (get_stat_birthtime): New function for
66856           retrieving st_birthtime as provided by UFS2 (hence *BSD).
66857         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
66858           and its variants.
66859         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
66860         * modules/stat-time-test: New file.
66861         * tests/test-stat-time.c: New test, devised by Bruno Haible.
66862
66863 2007-03-26  Bruno Haible  <bruno@clisp.org>
66864
66865         Better support of signalling NaNs.
66866         * lib/atanl.c: Include isnanl.h.
66867         (atanl): Perform test for NaN at the beginning of the function and
66868         through a call to isnanl.
66869         * lib/cosl.c: Include isnanl.h.
66870         (cosl): Perform test for NaN at the beginning of the function and
66871         through a call to isnanl.
66872         * lib/ldexpl.c: Include isnanl.h.
66873         (ldexpl): Perform test for NaN through a call to isnanl.
66874         * lib/logl.c: Include isnanl.h.
66875         (logl): Perform test for NaN at the beginning of the function and
66876         through a call to isnanl.
66877         * lib/sinl.c: Include isnanl.h.
66878         (sinl): Perform test for NaN at the beginning of the function and
66879         through a call to isnanl.
66880         * lib/sqrtl.c: Include isnanl.h.
66881         (sqrtl): Perform test for NaN at the beginning of the function and
66882         through a call to isnanl.
66883         * lib/tanl.c: Include isnanl.h.
66884         (tanl): Perform test for NaN at the beginning of the function and
66885         through a call to isnanl.
66886         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
66887         * modules/mathl (Depends-on): Add isnanl.
66888
66889 2007-03-26  Eric Blake  <ebb9@byu.net>
66890
66891         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
66892         regression in logic sense of previous patch.
66893
66894 2007-03-26  Bruno Haible  <bruno@clisp.org>
66895
66896         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
66897         unportable shell command "if ! ...".
66898         Reported by Ralf Wildenhues.
66899
66900 2007-03-25  Bruno Haible  <bruno@clisp.org>
66901
66902         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
66903         <sysexits.h> file, and only add EX_CONFIG.
66904         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
66905         absolute file name and whether it is sufficient. Substitute also
66906         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
66907         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
66908         ABSOLUTE_SYSEXITS_H into sysexits.h.
66909
66910 2007-03-25  Bruno Haible  <bruno@clisp.org>
66911
66912         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
66913         hints is NULL.
66914
66915 2007-03-25  Bruno Haible  <bruno@clisp.org>
66916
66917         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
66918         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
66919
66920 2007-03-25  Bruno Haible  <bruno@clisp.org>
66921
66922         * lib/vasnprintf.c: Include langinfo.h.
66923         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
66924         multithread-safe.
66925         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
66926         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
66927         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
66928         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66929         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66930         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66931         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66932         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
66933         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66934         Reported by Simon Josefsson.
66935
66936 2007-03-25  Bruno Haible  <bruno@clisp.org>
66937
66938         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
66939         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
66940         * modules/vasnprintf (Depends-on): Add stdint.
66941
66942 2007-03-25  Bruno Haible  <bruno@clisp.org>
66943
66944         * modules/fpieee: New file.
66945         * m4/fpieee.m4: New file.
66946         * modules/isnan-nolibm (Depends-on): Add fpieee.
66947         * modules/isnanl-nolibm (Depends-on): Add fpieee.
66948         * modules/isnanl (Depends-on): Add fpieee.
66949
66950 2007-03-25  Bruno Haible  <bruno@clisp.org>
66951
66952         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
66953
66954 2007-03-25  Bruno Haible  <bruno@clisp.org>
66955
66956         Avoid test failures on IRIX 6.5.
66957         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
66958         (main): Use it.
66959         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
66960         macros.
66961         (main): Use them.
66962
66963 2007-03-25  Bruno Haible  <bruno@clisp.org>
66964
66965         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
66966         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
66967         exists but doesn't work.
66968         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
66969         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
66970         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
66971         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
66972         math.h.
66973
66974 2007-03-25  Bruno Haible  <bruno@clisp.org>
66975
66976         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
66977         returns inf. Needed on IRIX 6.5.
66978
66979 2007-03-25  Bruno Haible  <bruno@clisp.org>
66980
66981         * tests/test-frexpl.c: Include isnanl-nolibm.h.
66982         (main): Use isnanl instead of x != x idiom.
66983         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
66984
66985         * tests/test-frexp.c: Include isnan.h.
66986         (main): Use isnan instead of x != x idiom.
66987         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
66988
66989 2007-03-25  Bruno Haible  <bruno@clisp.org>
66990
66991         * tests/test-frexp.c (NaN): New function/macro.
66992         (main): Use it instead of 0.0 / 0.0.
66993         * tests/test-isnan.c (NaN): New function/macro.
66994         (main): Use it instead of 0.0 / 0.0.
66995         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
66996         (test_function): Use it instead of 0.0 / 0.0.
66997         * tests/test-vasprintf-posix.c (NaN): New function/macro.
66998         (test_function): Use it instead of 0.0 / 0.0.
66999         * tests/test-snprintf-posix.h (NaN): New function/macro.
67000         (test_function): Use it instead of 0.0 / 0.0.
67001         * tests/test-sprintf-posix.h (NaN): New function/macro.
67002         (test_function): Use it instead of 0.0 / 0.0.
67003         * tests/test-fprintf-posix.h (NaN): New function/macro.
67004         (test_function): Use it instead of 0.0 / 0.0.
67005         * tests/test-printf-posix.h (NaN): New function/macro.
67006         (test_function): Use it instead of 0.0 / 0.0.
67007
67008         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
67009
67010 2007-03-25  Bruno Haible  <bruno@clisp.org>
67011
67012         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
67013
67014 2007-03-25  Bruno Haible  <bruno@clisp.org>
67015
67016         * lib/regexec.c (merge_state_with_log): Make static.
67017
67018 2007-03-25  Bruno Haible  <bruno@clisp.org>
67019
67020         * lib/trigl.c (kernel_rem_pio2): Make static.
67021
67022 2007-03-25  Bruno Haible  <bruno@clisp.org>
67023
67024         * lib/sincosl.c (sincosl_table): Make static.
67025
67026 2007-03-25  Bruno Haible  <bruno@clisp.org>
67027
67028         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
67029         if the compiler does not support C99.
67030
67031 2007-03-25  Bruno Haible  <bruno@clisp.org>
67032
67033         * modules/time (Makefile.am): Ensure all rule action lines start with a
67034         tab.
67035
67036 2007-03-24  Bruno Haible  <bruno@clisp.org>
67037
67038         * modules/tsearch-tests: New file.
67039         * tests/test-tsearch.sh: New file.
67040         * tests/test-tsearch.c: New file, mostly copied from glibc.
67041
67042         * modules/search-tests: New file.
67043         * tests/test-search.c: New file.
67044
67045         * modules/search: New file.
67046         * lib/search_.h: New file, incorporating lib/tsearch.h.
67047         * m4/search_h.m4: New file.
67048         * lib/tsearch.h: Remove file.
67049         * lib/tsearch.c: Include search.h instead of tsearch.h.
67050         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
67051         HAVE_TSEARCH.
67052         * modules/tsearch (Files): Remove lib/tsearch.h.
67053         (Depends-on): Add search.
67054         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
67055         (Include): Change tsearch.h into search.h.
67056
67057 2007-03-24  Bruno Haible  <bruno@clisp.org>
67058
67059         * modules/fpucw: New file.
67060         * lib/fpucw.h: New file.
67061         * lib/frexp.c: Include fpucw.h.
67062         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
67063         (FUNC): Use them.
67064         * lib/printf-frexp.c: Include fpucw.h.
67065         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
67066         (FUNC): Use them.
67067         * lib/vasnprintf.c: Include fpucw.h.
67068         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
67069         'long double' calculations.
67070         * tests/test-frexpl.c: Include fpucw.h.
67071         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
67072         * tests/test-printf-frexpl.c: Include fpucw.h.
67073         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
67074         * modules/frexpl (Depends-on): Add fpucw.
67075         * modules/printf-frexpl (Depends-on): Likewise.
67076         * modules/fprintf-posix (Depends-on): Likewise.
67077         * modules/snprintf-posix (Depends-on): Likewise.
67078         * modules/sprintf-posix (Depends-on): Likewise.
67079         * modules/vasnprintf-posix (Depends-on): Likewise.
67080         * modules/vasprintf-posix (Depends-on): Likewise.
67081         * modules/vfprintf-posix (Depends-on): Likewise.
67082         * modules/vsnprintf-posix (Depends-on): Likewise.
67083         * modules/vsprintf-posix (Depends-on): Likewise.
67084         * modules/frexpl-tests (Depends-on): Likewise.
67085         * modules/printf-frexpl-tests (Depends-on): Likewise.
67086
67087 2007-03-24  Bruno Haible  <bruno@clisp.org>
67088
67089         * lib/float+.h: New file.
67090         * lib/isnan.c: Include float+.h.
67091         (SIZE): New macro.
67092         (FUNC): Compare only SIZE bytes of the value.
67093         * lib/vasnprintf.c: Include float+.h.
67094         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
67095         SIZEOF_LDBL or SIZEOF_DBL bytes.
67096         * modules/isnan-nolibm (Files): Add lib/float+.h.
67097         * modules/isnanl-nolibm (Files): Add lib/float+.h.
67098         * modules/isnanl (Files): Add lib/float+.h.
67099         * modules/vasnprintf (Files): Add lib/float+.h.
67100
67101 2007-03-24  Bruno Haible  <bruno@clisp.org>
67102
67103         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
67104         include isnanl-nolibm.h.
67105
67106 2007-03-24  Bruno Haible  <bruno@clisp.org>
67107
67108         * tests/test-read-file.c (main): Don't produce spurious output for
67109         expected situations. Make the test fail if it encountered unexpected
67110         results.
67111
67112 2007-03-24  Bruno Haible  <bruno@clisp.org>
67113
67114         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
67115         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
67116
67117 2007-03-24  Bruno Haible  <bruno@clisp.org>
67118
67119         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
67120
67121 2007-03-24  Bruno Haible  <bruno@clisp.org>
67122
67123         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
67124         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
67125
67126         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
67127         * modules/utf8-ucs4: Turn into a symbolic link to module
67128         unistr/u8-mbtouc.
67129
67130         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
67131         utf8-ucs4-unsafe.
67132         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
67133         unistr/u8-mbtouc-unsafe.
67134
67135         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
67136         * modules/utf16-ucs4: Turn into a symbolic link to module
67137         unistr/u16-mbtouc.
67138
67139         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
67140         utf16-ucs4-unsafe.
67141         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
67142         unistr/u16-mbtouc-unsafe.
67143
67144         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
67145         * modules/ucs4-utf8: Turn into a symbolic link to module
67146         unistr/u8-ubtomb.
67147
67148         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
67149         * modules/ucs4-utf16: Turn into a symbolic link to module
67150         unistr/u16-ubtomb.
67151
67152 2007-03-24  Bruno Haible  <bruno@clisp.org>
67153
67154         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
67155         Enable the function only if HAVE_INLINE.
67156         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
67157         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
67158         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
67159         Enable the function only if HAVE_INLINE.
67160         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
67161         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
67162         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
67163         Enable the function only if HAVE_INLINE.
67164         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
67165         Enable the function only if HAVE_INLINE.
67166         * modules/utf8-ucs4: Update.
67167         * modules/utf8-ucs4-unsafe: Update.
67168         * modules/utf16-ucs4: Update.
67169         * modules/utf16-ucs4-unsafe: Update.
67170         * modules/ucs4-utf8: Update.
67171         * modules/ucs4-utf16: Update.
67172
67173 2007-03-24  Bruno Haible  <bruno@clisp.org>
67174
67175         * lib/utf8-ucs4.h: Remove file.
67176         * lib/utf8-ucs4-unsafe.h: Remove file.
67177         * lib/utf16-ucs4.h: Remove file.
67178         * lib/utf16-ucs4-unsafe.h: Remove file.
67179         * lib/ucs4-utf8.h: Remove file.
67180         * lib/ucs4-utf16.h: Remove file.
67181         * lib/unistr.h: Include their previous contents.
67182         * m4/utf-ucs4.m4: Remove file.
67183         * m4/ucs4-utf.m4: Remove file.
67184         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
67185         (Depends-on): Add unistr/base.
67186         (configure.ac): Remove gl_UTF_UCS4.
67187         (Makefile.am): Update.
67188         (Include): Change to unistr.h.
67189         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
67190         (Depends-on): Add unistr/base.
67191         (configure.ac): Remove gl_UTF_UCS4.
67192         (Makefile.am): Update.
67193         (Include): Change to unistr.h.
67194         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
67195         (Depends-on): Add unistr/base.
67196         (configure.ac): Remove gl_UTF_UCS4.
67197         (Makefile.am): Update.
67198         (Include): Change to unistr.h.
67199         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
67200         (Depends-on): Add unistr/base.
67201         (configure.ac): Remove gl_UTF_UCS4.
67202         (Makefile.am): Update.
67203         (Include): Change to unistr.h.
67204         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
67205         (Depends-on): Add unistr/base.
67206         (configure.ac): Remove gl_UCS4_UTF.
67207         (Makefile.am): Update.
67208         (Include): Change to unistr.h.
67209         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
67210         (Depends-on): Add unistr/base.
67211         (configure.ac): Remove gl_UCS4_UTF.
67212         (Makefile.am): Update.
67213         (Include): Change to unistr.h.
67214         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
67215         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
67216         utf8-ucs4-unsafe.h.
67217         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
67218         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
67219         utf16-ucs4-unsafe.h.
67220         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
67221         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
67222         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
67223         * lib/unistr/u8-strchr.c: Likewise.
67224         * lib/unistr/u8-strrchr.c: Likewise.
67225         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
67226         * lib/unistr/u16-strchr.c: Likewise.
67227         * lib/unistr/u16-strrchr.c: Likewise.
67228         * lib/striconveh.c: Update.
67229         * lib/linebreak.c: Update.
67230
67231 2007-03-24  Bruno Haible  <bruno@clisp.org>
67232
67233         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
67234         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
67235
67236 2007-03-22  Bruno Haible  <bruno@clisp.org>
67237
67238         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
67239
67240 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
67241
67242         * MODULES.html.sh (File system functions): New module write-any-file.
67243         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
67244         * m4/write-any-file.m4: New files.
67245
67246 2007-03-23  Eric Blake  <ebb9@byu.net>
67247
67248         * gnulib-tool: Rearrange space-tab sequences, since some editors
67249         like to eat them.
67250
67251 2007-03-23  Eric Blake  <ebb9@byu.net>
67252
67253         * lib/version-etc.c (version_etc_va): Update license wording to
67254         be more concise.  Recommended by Richard Stallman.
67255
67256 2007-03-22  Bruno Haible  <bruno@clisp.org>
67257
67258         * lib/poll.c (MSG_PEEK): New fallback definition.
67259
67260 2007-03-22  Bruno Haible  <bruno@clisp.org>
67261
67262         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
67263         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
67264         (main): Update.
67265         Fixes a compilation error on BeOS.
67266
67267 2007-03-22  Bruno Haible  <bruno@clisp.org>
67268
67269         * modules/frexpl-tests: New file.
67270         * tests/test-frexpl.c: New file.
67271
67272         * modules/frexpl: New file.
67273         * m4/frexpl.m4: New file.
67274         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
67275         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
67276         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
67277         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
67278         (Depends-on): Add frexpl. Remove isnanl-nolibm.
67279         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
67280
67281 2007-03-22  Bruno Haible  <bruno@clisp.org>
67282
67283         * lib/frexpl.c: Share code with lib/frexp.c.
67284         * modules/mathl (Files): Add lib/frexp.c.
67285         (Depends-on): Add isnanl-nolibm.
67286
67287 2007-03-22  Bruno Haible  <bruno@clisp.org>
67288
67289         * modules/printf-frexp (Files): Add m4/frexp.m4.
67290         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
67291         only if the found frexp function actually works.
67292
67293 2007-03-22  Bruno Haible  <bruno@clisp.org>
67294
67295         * lib/frexp.c: Remove older implementation that uses divisions.
67296
67297 2007-03-21  Bruno Haible  <bruno@clisp.org>
67298
67299         * modules/frexp-tests: New file.
67300         * tests/test-frexp.c: New file.
67301
67302         * modules/frexp: New file.
67303         * lib/frexp.c: New file.
67304         * m4/frexp.m4: New file.
67305         * lib/math_.h (frexp): New declaration.
67306         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
67307         REPLACE_FREXP.
67308         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
67309
67310 2007-03-21  Bruno Haible  <bruno@clisp.org>
67311
67312         * modules/isnanl-tests: New file.
67313         * tests/test-isnanl.c: New file.
67314
67315         * modules/isnanl: New file.
67316         * lib/isnanl.h: New file.
67317         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
67318         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
67319         gl_FUNC_ISNANL_WORKS.
67320         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
67321         New macros.
67322
67323 2007-03-21  Bruno Haible  <bruno@clisp.org>
67324
67325         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
67326         lib/isnanl.h.
67327         (Include): Update.
67328         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
67329         * lib/vasnprintf.c: Update.
67330         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
67331         tests/test-isnanl.h, remove tests/test-isnanl.c.
67332         (Makefile.am): Update.
67333         * tests/test-isnanl-nolibm.c: New file.
67334         * tests/test-isnanl.h: New file.
67335         * tests/test-isnanl.c: Remove file.
67336
67337 2007-03-21  Jim Meyering  <jim@meyering.net>
67338
67339         When trying to open ".", treat ESTALE like EACCES.
67340         * lib/savewd.c (savewd_save): Resort to forking not just upon
67341         failure with EACCES, but also when errno is ESTALE.
67342
67343 2007-03-20  Bruno Haible  <bruno@clisp.org>
67344
67345         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
67346         Needed on AIX 5.1. Reported by Matthew Woehlke.
67347
67348 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
67349
67350         Suggestions by Bruno Haible:
67351         * lib/acl-internal.h: Include "gettext.h" rather than rolling
67352         our own.
67353         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
67354         * modules/acl (Depends-on): Add gettext.
67355
67356 2007-03-19  Bruno Haible  <bruno@clisp.org>
67357
67358         * modules/iconvme: Remove file.
67359         * lib/iconvme.h: Remove file.
67360         * lib/iconvme.c: Remove file.
67361         * m4/iconvme.m4: Remove file.
67362
67363 2007-03-19  Bruno Haible  <bruno@clisp.org>
67364
67365         * doc/relocatable-maint.texi: Break long shell script line.
67366         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
67367
67368 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
67369
67370         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
67371         handle file_has_acl.
67372         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
67373         * lib/acl.c: Move header inclusions and related macro defns into
67374         lib/acl-internal.h.
67375         (S_ISLNK): Remove defn, since that's now done for us.
67376         (file_has_acl): Move to lib/file-has-acl.c.
67377         Call acl_trivial if available.  This is the crucial part of the fix.
67378         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
67379         shared within the library.  Rewrite a bit, partly to make it compatible
67380         with the GNU coding style.
67381         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
67382         Remove unnecessary double-quotes.
67383         Don't test for acl_to_text; the build will catch that.
67384         Replace acl_entries if it doesn't exist and it is needed.
67385         Check for -lsec and acl_trivial (as used on Solaris 10).
67386         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
67387         lib/file-has-acl.c.
67388         (Depends-on): Add sys_stat, for S_ISLNK.
67389
67390 2007-03-19  Ben Pfaff  <blp@gnu.org>
67391
67392         * doc/gnulib.texi: Fix typos.
67393         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
67394
67395 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
67396
67397         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
67398         If size is zero here, buf must be zero.
67399
67400 2007-03-19  Simon Josefsson  <simon@josefsson.org>
67401
67402         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
67403         <bruno@clisp.org>.
67404
67405 2007-03-18  Bruno Haible  <bruno@clisp.org>
67406
67407         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
67408         Suggested by Eric Blake.
67409
67410 2007-03-18  Ben Pfaff  <blp@gnu.org>
67411
67412         * doc/relocatable.texi: Recommend using as prefix a directory
67413         that does not exist and will never be created.  Based on
67414         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
67415         and others.
67416
67417 2007-03-17  Bruno Haible  <bruno@clisp.org>
67418
67419         * lib/fchownat.c: Include lchown.h.
67420
67421 2007-03-17  Bruno Haible  <bruno@clisp.org>
67422
67423         Fix endless loop when the given allocated size was > INT_MAX.
67424         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
67425         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
67426         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
67427         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
67428         * lib/sprintf.c (sprintf): Likewise.
67429
67430 2007-03-17  Bruno Haible  <bruno@clisp.org>
67431
67432         * tests/test-argp-2.sh (func_compare): Output a context diff.
67433
67434 2007-03-17  Bruno Haible  <bruno@clisp.org>
67435
67436         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
67437         locale's decimal-point character.
67438
67439 2007-03-17  Bruno Haible  <bruno@clisp.org>
67440
67441         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
67442         before comparing it. Needed because on some platforms (e.g. x86) a
67443         'long double' occupies less bytes than sizeof (long double).
67444
67445 2007-03-17  Bruno Haible  <bruno@clisp.org>
67446
67447         * tests/test-crc.c (main): Make printf statements 64-bit clean.
67448         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
67449         * tests/test-getaddrinfo.c (simple): Likewise.
67450         * tests/test-read-file.c (main): Likewise.
67451
67452 2007-03-17  Bruno Haible  <bruno@clisp.org>
67453
67454         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
67455
67456 2007-03-17  Bruno Haible  <bruno@clisp.org>
67457
67458         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
67459         unused variable.
67460
67461 2007-03-17  Bruno Haible  <bruno@clisp.org>
67462
67463         * tests/test-c-strcasecmp.c: Include c-strcase.h.
67464         * tests/test-c-strncasecmp.c: Likewise.
67465
67466 2007-03-17  Bruno Haible  <bruno@clisp.org>
67467
67468         * modules/stdlib (Depends-on): Add unistd.
67469         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
67470         Needed for MacOS X 10.3.
67471
67472 2007-03-17  Bruno Haible  <bruno@clisp.org>
67473
67474         * lib/unistr/u-strdup.h: Include <stdlib.h>.
67475
67476 2007-03-17  Bruno Haible  <bruno@clisp.org>
67477
67478         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
67479
67480 2007-03-17  Bruno Haible  <bruno@clisp.org>
67481
67482         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
67483         to reflect files copied from gnulib (with or without modifications).
67484         Suggested by Jim Meyering.
67485
67486 2007-03-17  Eric Blake  <ebb9@byu.net>
67487
67488         * NEWS: Document stdlib change from 2007-02-18.
67489
67490 2007-03-17  Jim Meyering  <jim@meyering.net>
67491
67492         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
67493         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
67494         someone uses a name containing shell meta-characters.
67495         Reported by Alfred M. Szmidt.
67496
67497         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
67498
67499 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
67500
67501         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
67502         and copy gettext configuration files only if configure.ac contains
67503         a use of AM_GNU_GETTEXT_VERSION.
67504
67505 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
67506
67507         * build-aux/bootstrap (gnulib_name): New variable.
67508         (gnulib_tool_options): Use it.
67509
67510 2007-03-13  Simon Josefsson  <simon@josefsson.org>
67511
67512         * tests/test-des.c: Use new namespace.
67513
67514 2007-03-15  Bruno Haible  <bruno@clisp.org>
67515
67516         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
67517         Reported by James Youngman <jay@gnu.org>.
67518
67519 2007-03-15  Bruno Haible  <bruno@clisp.org>
67520
67521         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
67522         declared prototype. Needed with cc on OSF/1 5.1.
67523
67524 2007-03-15  Bruno Haible  <bruno@clisp.org>
67525
67526         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
67527         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
67528         (struct gl_list_implementation): Add dispose_fn argument to the
67529         'create_empty', 'create' methods.
67530         (struct gl_list_impl_base): Add field 'dispose_fn'.
67531         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
67532         argument.
67533         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
67534         dispose_fn argument.
67535         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
67536         dispose_fn on the dropped values.
67537         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
67538         dispose_fn argument.
67539         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
67540         dropped values.
67541         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
67542         (gl_tree_remove_node): Call dispose_fn on the dropped value.
67543         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
67544         (gl_tree_remove_node): Call dispose_fn on the dropped value.
67545         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
67546         argument.
67547         (gl_tree_list_free): Call dispose_fn on the dropped values.
67548         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
67549         the dropped values.
67550         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
67551         Add dispose_fn argument.
67552         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
67553         Call dispose_fn on the dropped values.
67554         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
67555         Add dispose_fn argument.
67556         (gl_sublist_create): Initialize the 'dispose_fn' field.
67557         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
67558         * tests/test-array_list.c (main): Update.
67559         * tests/test-carray_list.c (main): Update.
67560         * tests/test-avltree_list.c (main): Update.
67561         * tests/test-rbtree_list.c (main): Update.
67562         * tests/test-avltreehash_list.c (main): Update.
67563         * tests/test-rbtreehash_list.c (main): Update.
67564         * tests/test-linked_list.c (main): Update.
67565         * tests/test-linkedhash_list.c (main): Update.
67566         * tests/test-array_oset.c (main): Update.
67567
67568 2007-03-15  Bruno Haible  <bruno@clisp.org>
67569
67570         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
67571         (gl_oset_create_empty): Add dispose_fn argument.
67572         (struct gl_oset_implementation): Add dispose_fn argument to
67573         'create_empty' method.
67574         (struct gl_oset_impl_base): Add dispose_fn field.
67575         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
67576         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
67577         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
67578         values.
67579         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
67580         (gl_tree_oset_free): Call dispose_fn on the dropped values.
67581         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
67582         dropped value.
67583         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
67584         dropped value.
67585         * tests/test-array_oset.c (main): Update.
67586         * tests/test-avltree_oset.c (main): Update.
67587         * tests/test-rbtree_oset.c (main): Update.
67588         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
67589
67590 2007-03-13  Bruno Haible  <bruno@clisp.org>
67591
67592         * tests/test-stdbool.c (i): Update after last patch.
67593
67594 2007-03-12  Bruno Haible  <bruno@clisp.org>
67595
67596         * lib/quotearg.c: Include <wctype.h> early, before the definition of
67597         the iswprint macro. Needed on Solaris 2.5.1.
67598
67599 2007-03-12  Bruno Haible  <bruno@clisp.org>
67600
67601         * tests/test-printf-frexp.c (main): Declare x as volatile.
67602
67603 2007-03-12  Simon Josefsson  <simon@josefsson.org>
67604
67605         * doc/gnulib.texi (Build robot for gnulib): New section.
67606
67607 2007-03-12  Jim Meyering  <jim@meyering.net>
67608
67609         * build-aux/bootstrap: New file.
67610         * build-aux/bootstrap.conf: New file, from coreutils.
67611
67612 2007-03-11  Bruno Haible  <bruno@clisp.org>
67613
67614         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
67615
67616 2007-03-12  Simon Josefsson  <simon@josefsson.org>
67617
67618         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
67619         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
67620         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
67621
67622 2007-03-11  Bruno Haible  <bruno@clisp.org>
67623
67624         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
67625         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
67626
67627 2007-03-11  Bruno Haible  <bruno@clisp.org>
67628
67629         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
67630         formula. Needed for SunPRO C 5.0.
67631
67632 2007-03-11  Bruno Haible  <bruno@clisp.org>
67633
67634         * modules/long-options (Depends-on): Add getopt.
67635
67636 2007-03-11  Bruno Haible  <bruno@clisp.org>
67637
67638         * modules/modechange (Depends-on): Add stdbool.
67639
67640 2007-03-11  Bruno Haible  <bruno@clisp.org>
67641
67642         * modules/i-ring (Depends-on): Add stdbool.
67643
67644 2007-03-11  Bruno Haible  <bruno@clisp.org>
67645
67646         * modules/gc-des (Depends-on): Add stdbool.
67647
67648 2007-03-11  Bruno Haible  <bruno@clisp.org>
67649
67650         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
67651
67652 2007-03-11  Bruno Haible  <bruno@clisp.org>
67653
67654         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
67655
67656 2007-03-11  Bruno Haible  <bruno@clisp.org>
67657
67658         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
67659
67660 2007-03-11  Bruno Haible  <bruno@clisp.org>
67661
67662         * lib/vasnprintf.c (sprintf): Undefine.
67663
67664 2007-03-11  Bruno Haible  <bruno@clisp.org>
67665
67666         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
67667         initializers in SunPRO C and Compaq C compilers.
67668
67669 2007-03-11  Bruno Haible  <bruno@clisp.org>
67670
67671         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
67672         decrementing code ANSI C compliant.
67673
67674 2007-03-11  Bruno Haible  <bruno@clisp.org>
67675
67676         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
67677         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
67678
67679 2007-03-11  Bruno Haible  <bruno@clisp.org>
67680
67681         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
67682         <stdbool.h> substitute doesn't pass.
67683
67684 2007-03-11  Bruno Haible  <bruno@clisp.org>
67685
67686         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
67687
67688 2007-03-11  Bruno Haible  <bruno@clisp.org>
67689
67690         * gnulib-tool (func_create_megatestdir): Create also an autobuild
67691         script, for submission to autobuild.josefsson.org.
67692
67693 2007-03-10  Bruno Haible  <bruno@clisp.org>
67694
67695         * modules/canonicalize-lgpl-tests: New file.
67696         * tests/test-canonicalize-lgpl.sh: New file.
67697         * tests/test-canonicalize-lgpl.c: New file.
67698
67699         * modules/c-strcase-tests: New file.
67700         * tests/test-c-strcase.sh: New file.
67701         * tests/test-c-strcasecmp.c: New file.
67702         * tests/test-c-strncasecmp.c: New file.
67703
67704         * modules/atexit-tests: New file.
67705         * tests/test-atexit.sh: New file.
67706         * tests/test-atexit.c: New file.
67707
67708 2007-03-10  Bruno Haible  <bruno@clisp.org>
67709
67710         * tests/test-binary-io.sh: Use temporary filenames that are not so
67711         likely to clash with those of other tests (in a parallel make).
67712         * tests/test-binary-io.c: Likewise.
67713
67714 2007-03-10  Bruno Haible  <bruno@clisp.org>
67715
67716         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
67717         fallback; use #error instead.
67718         Suggested by Simon Josefsson.
67719
67720 2007-03-10  Bruno Haible  <bruno@clisp.org>
67721
67722         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
67723         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
67724         first and the last.
67725
67726 2007-03-10  Bruno Haible  <bruno@clisp.org>
67727
67728         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
67729
67730 2007-03-10  Bruno Haible  <bruno@clisp.org>
67731
67732         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
67733         "make distcheck".
67734         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
67735         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
67736         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
67737
67738 2007-03-10  Bruno Haible  <bruno@clisp.org>
67739
67740         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
67741         variable.
67742         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
67743         variable.
67744
67745 2007-03-09  Eric Blake  <ebb9@byu.net>
67746         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
67747
67748         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
67749         types are not being provided by gnulib.
67750         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
67751         types are supported.
67752
67753 2007-03-10  Bruno Haible  <bruno@clisp.org>
67754
67755         * lib/stdio_.h (__attribute__): New macro.
67756         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
67757         vsprintf): Specify __attribute__ __format__ for GCC.
67758         Suggested by Eric Blake.
67759
67760 2007-03-09  Bruno Haible  <bruno@clisp.org>
67761
67762         * modules/printf-posix-tests: New file.
67763         * tests/test-printf-posix.sh: New file.
67764         * tests/test-printf-posix.c: New file.
67765
67766         * modules/printf-posix: New file.
67767         * lib/printf.c: New file.
67768         * m4/printf-posix-rpl.m4: New file.
67769         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
67770         REPLACE_PRINTF.
67771         * lib/stdio_.h (printf): New declaration.
67772         (format, __format__, ____printf____, ____scanf____, ____strftime____,
67773         ____strfmon____): New macros.
67774         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
67775         REPLACE_PRINTF.
67776
67777 2007-03-09  Bruno Haible  <bruno@clisp.org>
67778
67779         * tests/test-vasnprintf-posix2.sh: New file.
67780         * tests/test-vasnprintf-posix2.c: New file.
67781         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
67782         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
67783         (Makefile.am): Activate test-vasnprintf-posix2.sh.
67784
67785         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
67786         a locale dependent decimal point, rather than always '.'.
67787
67788 2007-03-09  Eric Blake  <ebb9@byu.net>
67789
67790         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
67791         spite of platforms like Tandem/NSK that define it to -1.
67792
67793 2007-03-08  Bruno Haible  <bruno@clisp.org>
67794
67795         * modules/vprintf-posix-tests: New file.
67796         * tests/test-vprintf-posix.sh: New file.
67797         * tests/test-vprintf-posix.c: New file.
67798         * tests/test-printf-posix.h: New file.
67799
67800         * modules/vprintf-posix: New file.
67801         * lib/vprintf.c: New file.
67802         * m4/vprintf-posix.m4: New file.
67803         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
67804         REPLACE_VPRINTF.
67805         * lib/stdio_.h (vprintf): New declaration.
67806         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
67807         REPLACE_VPRINTF.
67808
67809 2007-03-08  Bruno Haible  <bruno@clisp.org>
67810
67811         * modules/fprintf-posix-tests: New file.
67812         * tests/test-fprintf-posix.sh: New file.
67813         * tests/test-fprintf-posix.c: New file.
67814
67815         * modules/fprintf-posix: New file.
67816         * lib/fprintf.c: New file.
67817         * m4/fprintf-posix.m4: New file.
67818         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
67819         REPLACE_FPRINTF.
67820         * lib/stdio_.h (fprintf): New declaration.
67821         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
67822         REPLACE_FPRINTF.
67823
67824 2007-03-08  Bruno Haible  <bruno@clisp.org>
67825
67826         * modules/vfprintf-posix-tests: New file.
67827         * tests/test-vfprintf-posix.sh: New file.
67828         * tests/test-vfprintf-posix.c: New file.
67829         * tests/test-fprintf-posix.h: New file.
67830         * tests/test-fprintf-posix.out: New file.
67831
67832         * modules/vfprintf-posix: New file.
67833         * lib/vfprintf.c: New file.
67834         * m4/vfprintf-posix.m4: New file.
67835         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
67836         REPLACE_VFPRINTF.
67837         * lib/stdio_.h (vfprintf): New declaration.
67838         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
67839         REPLACE_VFPRINTF.
67840
67841 2007-03-08  Bruno Haible  <bruno@clisp.org>
67842
67843         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
67844
67845 2007-03-08  Bruno Haible  <bruno@clisp.org>
67846
67847         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
67848         instead of 'expr' invocations.
67849         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
67850         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
67851         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
67852         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67853         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
67854         Suggested by Paul Eggert.
67855
67856 2007-03-08  Bruno Haible  <bruno@clisp.org>
67857
67858         * modules/fseterr-tests: New file.
67859         * tests/test-fseterr.c: New file.
67860
67861         * modules/fseterr: New file.
67862         * lib/fseterr.h: New file.
67863         * lib/fseterr.c: New file.
67864
67865 2007-03-08  Bruno Haible  <bruno@clisp.org>
67866
67867         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
67868         * lib/getopt_.h: Likewise.
67869         * lib/mbswidth.h: Likewise.
67870         * lib/setenv.h: Likewise.
67871         * lib/vasnprintf.h: Likewise.
67872         * lib/vasprintf.h: Likewise.
67873         * lib/verror.h: Likewise.
67874         * lib/xsetenv.h: Likewise.
67875         * lib/xvasprintf.h: Likewise.
67876
67877 2007-03-08  Jim Meyering  <jim@meyering.net>
67878
67879         * users.txt: Add parted.
67880
67881         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
67882
67883 2007-03-07  Bruno Haible  <bruno@clisp.org>
67884
67885         * m4/printf.m4: Make the shell script snippets copy&pastable.
67886
67887 2007-03-02  Bruno Haible  <bruno@clisp.org>
67888
67889         * lib/netinet_in_.h: New file.
67890         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
67891         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
67892         * modules/netinet_in (Files): Add lib/netinet_in_.h.
67893         (Depends-on): Add absolute-header.
67894         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
67895         into netinet/in.h.
67896
67897 2007-03-03  Bruno Haible  <bruno@clisp.org>
67898
67899         * lib/sys_select_.h: New file.
67900         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
67901         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
67902         * modules/sys_select (Files): Add lib/sys_select_.h.
67903         (Depends-on): Add absolute-header.
67904         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
67905         into sys/select.h.
67906
67907 2007-03-02  Bruno Haible  <bruno@clisp.org>
67908
67909         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
67910         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
67911         values.
67912         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
67913         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
67914         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
67915         * modules/sys_socket (Depends-on): Add absolute-header.
67916         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
67917         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
67918         (Include): Remove requirement of inclusion of <sys/types.h>.
67919
67920 2007-03-02  Bruno Haible  <bruno@clisp.org>
67921
67922         * lib/byteswap_.h (bswap_32): Fix formula.
67923
67924 2007-03-06  Bruno Haible  <bruno@clisp.org>
67925
67926         * modules/sprintf-posix-tests: New file.
67927         * tests/test-sprintf-posix.c: New file.
67928
67929         * modules/sprintf-posix: New file.
67930         * lib/sprintf.c: New file.
67931         * m4/sprintf-posix.m4: New file.
67932         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
67933         REPLACE_SPRINTF.
67934         * lib/stdio_.h (sprintf): New declaration.
67935         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
67936         REPLACE_SPRINTF.
67937
67938 2007-03-06  Bruno Haible  <bruno@clisp.org>
67939
67940         * modules/vsprintf-posix-tests: New file.
67941         * tests/test-vsprintf-posix.c: New file.
67942         * tests/test-sprintf-posix.h: New file.
67943
67944         * modules/vsprintf-posix: New file.
67945         * lib/vsprintf.c: New file.
67946         * m4/vsprintf-posix.m4: New file.
67947         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
67948         REPLACE_VSPRINTF.
67949         * lib/stdio_.h (vsprintf): New declaration.
67950         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
67951         REPLACE_VSPRINTF.
67952
67953 2007-03-06  Bruno Haible  <bruno@clisp.org>
67954
67955         * modules/vsnprintf (Depend-on): Remove minmax.
67956
67957 2007-03-06  Bruno Haible  <bruno@clisp.org>
67958
67959         * modules/snprintf-posix-tests: New file.
67960         * tests/test-snprintf-posix.c: New file.
67961
67962         * modules/snprintf-posix: New file.
67963         * m4/snprintf-posix.m4: New file.
67964         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
67965         gl_FUNC_SNPRINTF.
67966         (gl_FUNC_SNPRINTF): Invoke it.
67967         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
67968         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
67969         is set.
67970         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
67971
67972 2007-03-06  Bruno Haible  <bruno@clisp.org>
67973
67974         * modules/vsnprintf-posix-tests: New file.
67975         * tests/test-vsnprintf-posix.c: New file.
67976         * tests/test-snprintf-posix.h: New file.
67977
67978         * modules/vsnprintf-posix: New file.
67979         * m4/vsnprintf-posix.m4: New file.
67980         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
67981         gl_FUNC_VSNPRINTF.
67982         (gl_FUNC_VSNPRINTF): Invoke it.
67983         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
67984         * lib/stdio_.h (vsnprintf): Define as a replacement if
67985         REPLACE_VSNPRINTF is set.
67986         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
67987
67988 2007-03-06  Bruno Haible  <bruno@clisp.org>
67989
67990         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
67991         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
67992
67993 2007-03-06  Bruno Haible  <bruno@clisp.org>
67994
67995         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
67996         (asinl): Declare also if HAVE_DECL_ASINL is set.
67997         (atanl): Declare also if HAVE_DECL_ATANL is set.
67998         (ceill): Declare also if HAVE_DECL_CEILL is set.
67999         (cosl): Declare also if HAVE_DECL_COSL is set.
68000         (expl): Declare also if HAVE_DECL_EXPL is set.
68001         (floorl): Declare also if HAVE_DECL_FLOORL is set.
68002         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
68003         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
68004         (logl): Declare also if HAVE_DECL_LOGL is set.
68005         (sinl): Declare also if HAVE_DECL_SINL is set.
68006         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
68007         (tanl): Declare also if HAVE_DECL_TANL is set.
68008         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
68009         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
68010         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
68011         declaration of frexpl, ldexpl.
68012         * modules/printf-frexpl (Depends-on): Add math.
68013         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
68014
68015 2007-03-05  Bruno Haible  <bruno@clisp.org>
68016
68017         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
68018         frexpl and ldexpl are declared.
68019         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
68020
68021 2007-03-05  Bruno Haible  <bruno@clisp.org>
68022
68023         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
68024         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
68025
68026 2007-03-05  Bruno Haible  <bruno@clisp.org>
68027
68028         * lib/stdio_.h: Include <stddef.h>.
68029
68030 2007-03-05  Bruno Haible  <bruno@clisp.org>
68031
68032         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
68033
68034 2007-03-05  Bruno Haible  <bruno@clisp.org>
68035
68036         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
68037         NetBSD 4, from Ralf Wildenhues.
68038
68039 2007-03-04  Bruno Haible  <bruno@clisp.org>
68040
68041         * lib/vasprintf.h: Update #if logic for the case when the functions
68042         exist but are overridden.
68043
68044 2007-03-04  Bruno Haible  <bruno@clisp.org>
68045
68046         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
68047         implementations: glibc-2.4 and MacOS X 10.3.
68048         * tests/test-vasnprintf-posix.c (test_function): Test also the case
68049         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
68050         * tests/test-vasprintf-posix.c (test_function): Likewise.
68051
68052 2007-03-04  Bruno Haible  <bruno@clisp.org>
68053
68054         * modules/vasprintf-posix-tests: New file.
68055         * tests/test-vasprintf-posix.c: New file.
68056
68057         * modules/vasprintf-posix: New file.
68058         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
68059         defined.
68060         * m4/vasprintf-posix.m4: New file.
68061         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
68062         gl_FUNC_VASPRINTF.
68063         (gl_FUNC_VASPRINTF): Invoke it.
68064         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
68065         here.
68066         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
68067
68068 2007-03-04  Bruno Haible  <bruno@clisp.org>
68069
68070         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
68071         REPLACE_GETTIMEOFDAY.
68072         * modules/sys_time (Makefile.am): Likewise.
68073         * m4/sys_time_h.m4: Likewise.
68074         * m4/gettimeofday.m4: Likewise.
68075
68076 2007-03-04  Bruno Haible  <bruno@clisp.org>
68077
68078         * modules/vasnprintf-posix-tests: New file.
68079         * tests/test-vasnprintf-posix.c: New file.
68080
68081         * modules/vasnprintf-posix: New file.
68082         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
68083         printf-frexpl.h.
68084         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
68085         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
68086         REPLACE_VASNPRINTF is defined.
68087         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
68088         gl_FUNC_VASNPRINTF.
68089         (gl_FUNC_VASNPRINTF): Invoke it.
68090         * m4/vasnprintf-posix.m4: New file.
68091         * m4/printf.m4: New file.
68092
68093 2007-03-04  Bruno Haible  <bruno@clisp.org>
68094
68095         Compile progreloc.c only if --enable-relocatable is specified.
68096         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
68097         if --enable-relocatable was specified.
68098         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
68099         lib_SOURCES.
68100
68101 2007-03-04  Jim Meyering  <jim@meyering.net>
68102
68103         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
68104         Use it consistently, rather than enumerating errno constants.
68105
68106 2007-03-04  Bruno Haible  <bruno@clisp.org>
68107
68108         * modules/xvasprintf-tests: New file.
68109         * tests/test-xvasprintf.c: New file.
68110
68111         * modules/vasprintf-tests: New file.
68112         * tests/test-vasprintf.c: New file.
68113
68114         * modules/vasnprintf-tests: New file.
68115         * tests/test-vasnprintf.c: New file.
68116
68117         * modules/vsnprintf-tests: New file.
68118         * tests/test-vsnprintf.c: New file.
68119
68120         * modules/snprintf-tests: New file.
68121         * tests/test-snprintf.c: New file.
68122
68123 2007-03-04  Bruno Haible  <bruno@clisp.org>
68124
68125         Compile relocatable.c only if --enable-relocatable is specified.
68126         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
68127         gl_RELOCATABLE_LIBRARY.
68128         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
68129         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
68130         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
68131         gl_RELOCATABLE_LIBRARY.
68132         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
68133         (Makefile.am): Remove lib_SOURCES.
68134         * modules/relocatable-lib-lgpl (configure.ac): Invoke
68135         gl_RELOCATABLE_LIBRARY.
68136         (Makefile.am): Remove lib_SOURCES.
68137         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
68138         always.
68139         * modules/relocatable-prog-wrapper (configure.ac): Invoke
68140         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
68141
68142 2007-03-04  Bruno Haible  <bruno@clisp.org>
68143
68144         * modules/argmatch-tests: New file.
68145         * tests/test-argmatch.c: New file.
68146
68147         * tests/test-allocsa.c (main): Halve the number of loop runs.
68148
68149         * modules/alloca-opt-tests: New file.
68150         * tests/test-alloca-opt.c: New file.
68151
68152 2007-03-04  Jim Meyering  <jim@meyering.net>
68153
68154         Work around difference between Linux ACLs and Solaris 10 ZFS.
68155         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
68156         for EINVAL.
68157
68158 2007-03-03  Bruno Haible  <bruno@clisp.org>
68159
68160         * modules/relocatable-prog (Depends-on): Add back progreloc's
68161         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
68162
68163 2007-03-03  Bruno Haible  <bruno@clisp.org>
68164
68165         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
68166         * modules/relocatable-lib: New file.
68167
68168 2007-03-03  Bruno Haible  <bruno@clisp.org>
68169
68170         * modules/relocatable-prog: Renamed from modules/relocatable.
68171         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
68172
68173 2007-03-03  Bruno Haible  <bruno@clisp.org>
68174
68175         * modules/relocatable-script (Files): Add doc/relocatable.texi,
68176         m4/relocatable-lib.m4.
68177         (Depends-on): Remove 'relocatable'.
68178         (configure.ac): Add gl_RELOCATABLE_NOP.
68179
68180 2007-03-03  Bruno Haible  <bruno@clisp.org>
68181
68182         * modules/relocatable-prog-wrapper: New file.
68183         * modules/relocatable (Depends-on): Add it. Remove all other
68184         dependencies except progname.
68185         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
68186
68187         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
68188         (gl_FUNC_STRERROR): Nop.
68189         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
68190
68191         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
68192         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
68193
68194         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
68195         (gl_FUNC_READLINK): Update.
68196
68197         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
68198
68199 2007-03-03  Bruno Haible  <bruno@clisp.org>
68200
68201         * lib/xreadlink.c: Include <unistd.h> unconditionally.
68202         * modules/xreadlink (Depends-on): Add unistd.
68203         * modules/xreadlink-with-size (Depends-on): Likewise.
68204
68205 2007-03-03  Bruno Haible  <bruno@clisp.org>
68206
68207         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
68208         extracted from gt_FUNC_SETENV.
68209         (gt_FUNC_SETENV): Remove macro.
68210         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
68211         remove gt_FUNC_SETENV.
68212
68213 2007-03-03  Bruno Haible  <bruno@clisp.org>
68214
68215         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
68216         ENABLE_RELOCATABLE here.
68217         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
68218
68219 2007-03-03  Bruno Haible  <bruno@clisp.org>
68220
68221         * modules/rbtreehash-list-tests (Depends-on): Add progname.
68222         * tests/test-rbtreehash_list.c: Include progname.h.
68223         (main): Call set_program_name.
68224
68225         * modules/rbtree-oset-tests (Depends-on): Add progname.
68226         * tests/test-rbtree_oset.c: Include progname.h.
68227         (main): Call set_program_name.
68228
68229         * modules/rbtree-list-tests (Depends-on): Add progname.
68230         * tests/test-rbtree_list.c: Include progname.h.
68231         (main): Call set_program_name.
68232
68233         * modules/linked-list-tests (Depends-on): Add progname.
68234         * tests/test-linked_list.c: Include progname.h.
68235         (main): Call set_program_name.
68236
68237 2007-03-03  Bruno Haible  <bruno@clisp.org>
68238
68239         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
68240         All uses of __restrict changed to _Restrict_.
68241         * lib/glob_.h (__restrict): Remove macro.
68242
68243 2007-03-02  Bruno Haible  <bruno@clisp.org>
68244
68245         * modules/gettext (configure.ac): Require gettext infrastructure
68246         from version 0.16.1.
68247
68248 2007-03-02  Bruno Haible  <bruno@clisp.org>
68249
68250         * modules/linkedhash-list-tests (Depends-on): Add progname.
68251         * tests/test-linkedhash_list.c: Include progname.h.
68252         (main): Call set_program_name.
68253
68254         * modules/carray-list-tests (Depends-on): Add progname.
68255         * tests/test-carray_list.c: Include progname.h.
68256         (main): Call set_program_name.
68257
68258         * modules/avltreehash-list-tests (Depends-on): Add progname.
68259         * tests/test-avltreehash_list.c: Include progname.h.
68260         (main): Call set_program_name.
68261
68262         * modules/avltree-oset-tests (Depends-on): Add progname.
68263         * tests/test-avltree_oset.c: Include progname.h.
68264         (main): Call set_program_name.
68265
68266         * modules/avltree-list-tests (Depends-on): Add progname.
68267         * tests/test-avltree_list.c: Include progname.h.
68268         (main): Call set_program_name.
68269
68270         * modules/array-oset-tests (Depends-on): Add progname.
68271         * tests/test-array_oset.c: Include progname.h.
68272         (main): Call set_program_name.
68273
68274         * modules/array-list-tests (Depends-on): Add progname.
68275         * tests/test-array_list.c: Include progname.h.
68276         (main): Call set_program_name.
68277
68278         * modules/argp-tests (Depends-on): Add progname.
68279         * tests/test-argp.c: Include argp.h first. Include progname.h.
68280         (main): Call set_program_name.
68281
68282 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
68283
68284         * doc/gnulib-tool.texi (Initial import): Reword description of
68285         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
68286         limited effect even if defined after the first system include.
68287
68288 2007-03-01  Bruno Haible  <bruno@clisp.org>
68289
68290         * build-aux/config.libpath: Update to libtool-1.5.22.
68291         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
68292
68293 2007-03-01  Bruno Haible  <bruno@clisp.org>
68294
68295         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
68296         foo_CFLAGS.
68297         Reported by Ralf Wildenhues.
68298
68299 2007-03-01  Bruno Haible  <bruno@clisp.org>
68300
68301         * build-aux/install-reloc: Remove object files left over by some
68302         compilers.
68303         Reported by Ralf Wildenhues.
68304
68305 2007-03-01  Bruno Haible  <bruno@clisp.org>
68306
68307         * build-aux/install-reloc: Break long lines.
68308
68309 2007-03-01  Bruno Haible  <bruno@clisp.org>
68310
68311         * doc/relocatable.texi: Document that it may not work on OpenBSD.
68312         Reported by Ralf Wildenhues.
68313
68314 2007-03-01  Bruno Haible  <bruno@clisp.org>
68315
68316         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
68317         include ordering constraints.
68318
68319 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
68320
68321         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
68322         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
68323         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
68324         as another example.
68325         * lib/time_.h: Fix misspelling.
68326         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
68327         Require gl_HEADER_TIME_H_DEFAULTS.
68328         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
68329         * m4/time_r.m4 (gl_TIME_R): Likewise.
68330         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
68331
68332 2007-03-01  Bruno Haible  <bruno@clisp.org>
68333
68334         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
68335         * m4/utimens.m4 (gl_UTIMENS): Likewise.
68336
68337 2007-03-01  Jim Meyering  <jim@meyering.net>
68338
68339         * modules/xreadlink (Maintainer): Add my name.
68340         * modules/xreadlink-with-size (Depends-on): Alphabetize.
68341
68342 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
68343             Bruno Haible  <bruno@clisp.org>
68344
68345         * build-aux/install-reloc: Compile also c-ctype.c.
68346         * build-aux/relocatable.sh.in: New file.
68347         * doc/relocatable.texi: New file.
68348         * doc/relocatable-maint.texi: New file.
68349         * doc/gnulib.texi: Include relocatable-maint.texi.
68350         * lib/progreloc.c: Include unistd.h unconditionally.
68351         * lib/relocwrapper.c: Include unistd.h unconditionally.
68352         Include c-ctype.h.
68353         (add_dotbin): Use c_tolower.
68354         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
68355         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
68356         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
68357         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
68358         to m4/relocatable-lib.m4.
68359         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
68360         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
68361         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
68362         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
68363         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
68364         * modules/relocatable: New file.
68365         * modules/relocatable-lib: New file.
68366         * modules/relocatable-script: New file.
68367
68368 2007-02-28  Bruno Haible  <bruno@clisp.org>
68369
68370         Import --enable-relocatable infrastructure.
68371         * build-aux/config.libpath: New file, from GNU gettext.
68372         * build-aux/install-reloc: New file, from GNU gettext.
68373         * build-aux/reloc-ldflags: New file, from GNU gettext.
68374         * lib/relocatable.h: New file, from GNU gettext.
68375         * lib/relocatable.c: New file, from GNU gettext.
68376         * lib/relocwrapper.c: New file, from GNU gettext.
68377         * m4/relocatable.m4: New file, from GNU gettext.
68378
68379 2007-02-28  Bruno Haible  <bruno@clisp.org>
68380
68381         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
68382
68383         * modules/xreadlink: New file, from GNU gettext with modifications.
68384         * lib/xreadlink.c: New file, from GNU gettext.
68385         * lib/xreadlink.h: Add comments.
68386         (xreadlink): New declaration.
68387
68388         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
68389         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
68390         lib/xreadlink-with-size.c.
68391         (configure.ac): Remove gl_XREADLINK invocation.
68392         (Makefile.am): Augment lib_SOURCES.
68393         * m4/xreadlink.m4: Remove file.
68394         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
68395         (xreadlink_with_size): Renamed from xreadink.
68396         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
68397         * modules/canonicalize (Depends-on): Replace xreadlink with
68398         xreadlink-with-size.
68399         * lib/canonicalize.c (canonicalize_filename_mode): Update.
68400
68401 2007-02-25  Jim Meyering  <jim@meyering.net>
68402
68403         * build-aux/announce-gen: When complaining about excess arguments,
68404         list them.
68405
68406 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
68407
68408         * README: Document signed integer overflow situation more
68409         accurately.
68410
68411 2007-02-25  Bruno Haible  <bruno@clisp.org>
68412
68413         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
68414         'a' or 'A' conversion.
68415
68416 2007-02-25  Bruno Haible  <bruno@clisp.org>
68417
68418         * modules/filename: Renamed from modules/pathname.
68419         (Files): Replace lib/pathname.h with lib/filename.h. Replace
68420         lib/concatpath.c with lib/concat-filename.c.
68421         (Makefile.am): Update.
68422         (Include): Replace pathname.h with filename.h.
68423         * lib/filename.h: Renamed from lib/pathname.h.
68424         (concatenated_filename): Renamed from concatenated_pathname.
68425         * lib/concat-filename.c: Renamed from lib/concatpath.c.
68426         (concatenated_filename): Renamed from concatenated_pathname.
68427         * lib/findprog.c: Include filename.h instead of pathname.h.
68428         (find_in_path): Update.
68429         * lib/javacomp.c: Include filename.h instead of pathname.h.
68430         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
68431         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
68432         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
68433         is_oldgcj_14_13_usable, is_javac_usable): Update.
68434         * lib/javaexec.c: Include filename.h instead of pathname.h.
68435         (execute_java_class): Update.
68436         * modules/findprog: Update.
68437         * modules/javacomp: Update.
68438         * modules/javaexec: Update.
68439         * MODULES.html.sh (File system functions): Add 'filename', remove
68440         'pathname'.
68441
68442 2007-02-25  Bruno Haible  <bruno@clisp.org>
68443
68444         * modules/printf-frexpl-tests: New file.
68445         * tests/test-printf-frexpl.c: New file.
68446
68447         * modules/printf-frexpl: New file.
68448         * lib/printf-frexpl.h: New file.
68449         * lib/printf-frexpl.c: New file.
68450         * m4/printf-frexpl.m4: New file.
68451
68452 2007-02-25  Bruno Haible  <bruno@clisp.org>
68453
68454         * modules/printf-frexp-tests: New file.
68455         * tests/test-printf-frexp.c: New file.
68456
68457         * modules/printf-frexp: New file.
68458         * lib/printf-frexp.h: New file.
68459         * lib/printf-frexp.c: New file.
68460         * m4/printf-frexp.m4: New file.
68461
68462 2007-02-25  Bruno Haible  <bruno@clisp.org>
68463
68464         Assume automake >= 1.10 for the tests.
68465         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
68466         * modules/arctwo-tests: Likewise.
68467         * modules/argp-tests: Likewise.
68468         * modules/avltree-list-tests: Likewise.
68469         * modules/avltree-oset-tests: Likewise.
68470         * modules/avltreehash-list-tests: Likewise.
68471         * modules/carray-list-tests: Likewise.
68472         * modules/crc-tests: Likewise.
68473         * modules/des-tests: Likewise.
68474         * modules/gc-arcfour-tests: Likewise.
68475         * modules/gc-arctwo-tests: Likewise.
68476         * modules/gc-des-tests: Likewise.
68477         * modules/gc-hmac-md5-tests: Likewise.
68478         * modules/gc-hmac-sha1-tests: Likewise.
68479         * modules/gc-md2-tests: Likewise.
68480         * modules/gc-md4-tests: Likewise.
68481         * modules/gc-md5-tests: Likewise.
68482         * modules/gc-pbkdf2-sha1-tests: Likewise.
68483         * modules/gc-rijndael-tests: Likewise.
68484         * modules/gc-sha1-tests: Likewise.
68485         * modules/gc-tests: Likewise.
68486         * modules/getaddrinfo-tests: Likewise.
68487         * modules/hmac-md5-tests: Likewise.
68488         * modules/hmac-sha1-tests: Likewise.
68489         * modules/linked-list-tests: Likewise.
68490         * modules/linkedhash-list-tests: Likewise.
68491         * modules/lock-tests: Likewise.
68492         * modules/md2-tests: Likewise.
68493         * modules/md4-tests: Likewise.
68494         * modules/md5-tests: Likewise.
68495         * modules/rbtree-list-tests: Likewise.
68496         * modules/rbtree-oset-tests: Likewise.
68497         * modules/rbtreehash-list-tests: Likewise.
68498         * modules/read-file-tests: Likewise.
68499         * modules/rijndael-tests: Likewise.
68500         * modules/stdint-tests: Likewise.
68501         * modules/tls-tests: Likewise.
68502
68503 2007-02-24  Bruno Haible  <bruno@clisp.org>
68504
68505         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
68506         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
68507         function; instead check whether isnan with a double argument links.
68508         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
68509         function; instead check whether isnan with a 'long double' argument
68510         links.
68511         Reported by Eric Blake <ebb9@byu.net>.
68512
68513 2007-02-24  Bruno Haible  <bruno@clisp.org>
68514
68515         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
68516         defined.
68517         * lib/isnanl.c: Remove all code. Just include isnan.c.
68518         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
68519
68520 2007-02-25  Jim Meyering  <jim@meyering.net>
68521
68522         Avoid conflicting types for 'unsetenv' on FreeBSD.
68523         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
68524         conflicting with FreeBSD's (5.0 and 6.1) function declaration
68525         in stdlib.h.
68526
68527 2007-02-24  Bruno Haible  <bruno@clisp.org>
68528
68529         * modules/isnanl-nolibm-tests: New file.
68530         * tests/test-isnanl.c: New file.
68531
68532         * modules/isnanl-nolibm: New file.
68533         * lib/isnanl.h: New file.
68534         * lib/isnanl.c: New file.
68535         * m4/isnanl.m4: New file.
68536
68537 2007-02-24  Bruno Haible  <bruno@clisp.org>
68538
68539         * modules/isnan-nolibm-tests: New file.
68540         * tests/test-isnan.c: New file.
68541
68542         * modules/isnan-nolibm: New file.
68543         * lib/isnan.h: New file.
68544         * lib/isnan.c: New file.
68545         * m4/isnan.m4: New file.
68546
68547 2007-02-24  Bruno Haible  <bruno@clisp.org>
68548
68549         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
68550         assume that an exponent fits in 20 bits.
68551
68552 2007-02-24  Jim Meyering  <jim@meyering.net>
68553
68554         * m4/regex.m4: Update the description of the configure-time option,
68555         --without-included-regex, to state accurately what the defaults are,
68556         and perhaps to give people an idea why using this option is risky.
68557
68558 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
68559
68560         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
68561         loops on small arguments.  This attempts to avoid the problem
68562         Bruno Haible reported for AIX 4.3.2 in
68563         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
68564
68565 2007-02-23  Bruno Haible  <bruno@clisp.org>
68566
68567         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
68568         Needed for help2man.
68569
68570 2007-02-23  Karl Berry  <karl@gnu.org>
68571
68572         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
68573         exists, foo.h should be cvs-ignored, not committed.
68574
68575 2007-02-23  Eric Blake  <ebb9@byu.net>
68576
68577         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
68578         * lib/stat-time.h (includes): Likewise.
68579         * lib/utimecmp.c (includes): Likewise.
68580         * lib/utimens.h (includes): Likewise.
68581         * lib/getdate.y (includes): Also include "timespec.h" for use
68582         internal to the module.
68583         * modules/utimens (Depends-on): Revert yesterday's patch.
68584         * modules/nanosleep (Depends-on): Add missing dependency.
68585
68586 2007-02-22  Bruno Haible  <bruno@clisp.org>
68587
68588         * lib/glob.c: Don't include getlogin_r.h.
68589
68590 2007-02-22  Jim Meyering  <jim@meyering.net>
68591
68592         * modules/utimens (Depends-on): Add timespec, required for
68593         utimens.h's inclusion of timespec.h.
68594
68595 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
68596
68597         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
68598         long unreadable paths in GNU/Linux.  Problem reported by Andreas
68599         Schwab in
68600         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
68601         I'll try to think of a better way to fix the Solaris problem.
68602
68603         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
68604         like glibc; on Solaris 10, it fails with errno == EINVAL.
68605         POSIX says the behavior is unspecified if the first argument is NULL,
68606         so play it safe and never pass NULL to the system getcwd.
68607
68608 2007-02-21  Jim Meyering  <jim@meyering.net>
68609
68610         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
68611         of gettimeofday.  It would conflict with the one now always
68612         provided via sys_time_.h.  Reported by Matthew Woehlke, as
68613         an IRIX 6.5 build failure.
68614
68615 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
68616
68617         Minor fixups to port to Solaris 10 with Sun C 5.8.
68618         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
68619         * modules/getcwd (Depends-on): Add dirfd.
68620         * lib/putenv.c (putenv): #undef it.
68621         (rpl_putenv): New decl.
68622         (malloc, free): Include <stdlib.h> rather than prototyping separately.
68623
68624 2007-02-20  Bruno Haible  <bruno@clisp.org>
68625
68626         * modules/stdio-tests: New file.
68627         * tests/test-stdio.c: New file.
68628
68629         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
68630         (Depends-on): Add stdio.
68631         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
68632         (Include): Use <stdio.h> instead of vsnprintf.h.
68633         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
68634         HAVE_DECL_VSNPRINTF.
68635         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
68636
68637         * modules/snprintf (Files): Remove lib/snprintf.h.
68638         (Depends-on): Add stdio.
68639         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
68640         (Include): Use <stdio.h> instead of snprintf.h.
68641         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
68642         HAVE_DECL_SNPRINTF.
68643         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
68644         * lib/getaddrinfo.c: Likewise.
68645
68646         * modules/stdio: New file.
68647         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
68648         * lib/snprintf.h: Remove file.
68649         * lib/vsnprintf.h: Remove file.
68650         * lib/.cppi-disable: Remove snprintf.h.
68651         * m4/stdio_h.m4: New file.
68652         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
68653
68654 2007-02-20  Jim Meyering  <jim@meyering.net>
68655
68656         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
68657         used by e.g., mingw.  From Bruno Haible.
68658
68659 2007-02-19  Bruno Haible  <bruno@clisp.org>
68660
68661         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
68662         warnings.
68663         Reported by Ben Pfaff <blp@cs.stanford.edu>.
68664
68665 2007-02-19  Bruno Haible  <bruno@clisp.org>
68666
68667         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
68668         from mingw users.
68669
68670 2007-02-19  Bruno Haible  <bruno@clisp.org>
68671
68672         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
68673         warnings.
68674         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
68675
68676 2007-02-19  Jim Meyering  <jim@meyering.net>
68677
68678         Don't use FD after a successful "fdopendir (fd)".
68679         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
68680         Reset it by calling dirfd on the just-obtained DIR*.
68681
68682         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
68683         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
68684
68685 2007-02-18  Bruno Haible  <bruno@clisp.org>
68686
68687         * lib/readlink.c: Include <unistd.h>.
68688         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
68689         HAVE_READLINK.
68690         * modules/readlink (Depends-on): Add unistd.
68691         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68692         (Include): Add <unistd.h>.
68693
68694         * lib/getlogin_r.h: Remove file.
68695         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
68696         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
68697         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
68698         HAVE_DECL_GETLOGIN_R.
68699         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
68700         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68701         (Include): Use <unistd.h> instead of getlogin_r.h.
68702
68703         * lib/getcwd.h: Remove file.
68704         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
68705         * lib/xgetcwd.c: Likewise.
68706         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
68707         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
68708         * modules/getcwd (Files): Remove lib/getcwd.h.
68709         (Depends-on): Add unistd.
68710         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68711         (Include): Use <unistd.h> instad of getcwd.h.
68712
68713         * lib/ftruncate.c: Include <unistd.h> first.
68714         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
68715         Set HAVE_FTRUNCATE.
68716         * modules/ftruncate (Depends-on): Add unistd.
68717         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68718
68719         * lib/fchdir.c: Include <unistd.h> first.
68720         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
68721         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
68722         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
68723         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68724         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
68725
68726         * lib/dup2.c: Include <unistd.h> first.
68727         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
68728         HAVE_DUP2.
68729         * modules/dup2 (Depends-on): Add unistd.
68730         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68731
68732         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
68733         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
68734         REPLACE_CHOWN. Don't define chown as a macro here.
68735         * modules/chown (Depends-on): Add unistd.
68736         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68737
68738         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
68739         Add definition for GL_LINK_WARNING.
68740         (chown, dup2): New declarations.
68741         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
68742         link warning.
68743         (ftruncate): New declaration.
68744         (getcwd): New declaration, taken from old getcwd.h.
68745         (getlogin_r): New declaration, taken from old getlogin_r.h.
68746         (readlink): New declaration.
68747         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
68748         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
68749         (gl_PREREQ_UNISTD): Remove macro.
68750         (gl_UNISTD_MODULE_INDICATOR): New macro.
68751         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
68752         many new variables. Don't set UNISTD_H.
68753         * modules/unistd (Description): Change.
68754         (Depends-on): Add link-warning.
68755         (configure.ac): Update.
68756         (Makefile.am): Create unistd.h always. Substitute many new variables
68757         into it.
68758
68759 2007-02-18  Bruno Haible  <bruno@clisp.org>
68760
68761         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
68762         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
68763         HAVE_GETSUBOPT.
68764         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
68765         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
68766         * lib/getsubopt.h: Remove file.
68767         * modules/getsubopt (Files): Remove lib/getsubopt.h.
68768         (Depends-on): Add stdlib.
68769         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
68770         (Includes): Use <stdlib.h> instead of getsubopt.h.
68771         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
68772         Set HAVE_GETSUBOPT.
68773         * lib/getsubopt.c: Don't include getsubopt.h.
68774
68775 2007-02-18  Bruno Haible  <bruno@clisp.org>
68776
68777         * modules/fchdir (Depends-on): Add dup2.
68778
68779 2007-02-18  Bruno Haible  <bruno@clisp.org>
68780
68781         * lib/stdlib_.h: Handle glibc's special invocation convention
68782         specially.
68783
68784 2007-02-18  Bruno Haible  <bruno@clisp.org>
68785
68786         * modules/stdlib-tests: New file.
68787         * tests/test-stdlib.c: New file.
68788
68789         * modules/mkstemp (Files): Remove lib/mkstemp.h.
68790         (Depends-on): Add stdlib.
68791         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
68792         (Includes): Use <stdlib.h> instead of mkstemp.h.
68793         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
68794         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
68795         * lib/mkstemp.c: Don't include mkstemp.h.
68796         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
68797         * lib/stdlib--.h: Don't include mkstemp.h.
68798
68799         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
68800         (Depends-on): Add stdlib.
68801         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
68802         (Includes): Use <stdlib.h> instead of mkdtemp.h.
68803         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
68804         HAVE_MKDTEMP.
68805         * lib/mkdtemp.c: Don't include mkdtemp.h.
68806         * lib/clean-temp.c: Don't include mkdtemp.h.
68807
68808         * modules/exit (Files): Remove lib/exit.h.
68809         (Depends-on): Add stdlib.
68810         (Makefile.am): Remove lib_SOURCES.
68811         (Include): Use <stdlib.h> instead of exit.h.
68812         * lib/argmatch.c: Don't include exit.h.
68813         * lib/execute.c: Likewise.
68814         * lib/pagealign_alloc.c: Likewise.
68815         * lib/pipe.c: Likewise.
68816         * lib/wait-process.c: Likewise.
68817         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
68818         * lib/exitfail.c: Likewise.
68819         * lib/savewd.c: Likewise.
68820         * lib/xsetenv.c: Likewise.
68821
68822         * modules/stdlib: New file.
68823         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
68824         and extra comments about mkstemp().
68825         * lib/exit.h: Remove file.
68826         * lib/mkdtemp.h: Remove file.
68827         * lib/mkstemp.h: Remove file.
68828         * m4/stdlib_h.m4: New file.
68829         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
68830
68831 2007-02-18  Bruno Haible  <bruno@clisp.org>
68832
68833         * modules/math-tests: New file.
68834         * tests/test-math.c: New file.
68835
68836         * modules/math: New file.
68837         * modules/mathl (Files): Remove lib/mathl.h.
68838         (Depends-on): Add math.
68839         (Makefile.am): Don't mention mathl.h.
68840         (Include): Use <math.h> instead of mathl.h.
68841         * lib/math_.h: New file.
68842         * lib/mathl.h: Remove file.
68843         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
68844         mathl.h.
68845         * lib/asinl.c: Likewise.
68846         * lib/atanl.c: Likewise.
68847         * lib/ceill.c: Likewise.
68848         * lib/cosl.c: Likewise.
68849         * lib/expl.c: Likewise.
68850         * lib/floorl.c: Likewise.
68851         * lib/frexpl.c: Likewise.
68852         * lib/ldexpl.c: Likewise.
68853         * lib/logl.c: Likewise.
68854         * lib/sincosl.c: Likewise.
68855         * lib/sinl.c: Likewise.
68856         * lib/sqrtl.c: Likewise.
68857         * lib/tanl.c: Likewise.
68858         * lib/trigl.c: Likewise.
68859         * m4/math_h.m4: New file.
68860         * MODULES.html.sh (Mathematics): Add math.
68861
68862 2007-02-17  Bruno Haible  <bruno@clisp.org>
68863
68864         * modules/wctype-tests: New file.
68865         * tests/test-wctype.c: New file.
68866
68867         * modules/wchar-tests: New file.
68868         * tests/test-wchar.c: New file.
68869
68870         * modules/unistd-tests: New file.
68871         * tests/test-unistd.c: New file.
68872
68873         * modules/time-tests: New file.
68874         * tests/test-time.c: New file.
68875
68876         * modules/sysexits-tests: New file.
68877         * tests/test-sysexits.c: New file.
68878
68879         * modules/sys_time-tests: New file.
68880         * tests/test-sys_time.c: New file.
68881
68882         * modules/sys_stat-tests: New file.
68883         * tests/test-sys_stat.c: New file.
68884
68885         * modules/sys_socket-tests: New file.
68886         * tests/test-sys_socket.c: New file.
68887
68888         * modules/sys_select-tests: New file.
68889         * tests/test-sys_select.c: New file.
68890
68891         * modules/string-tests: New file.
68892         * tests/test-string.c: New file.
68893
68894         * modules/stdbool-tests: New file.
68895         * tests/test-stdbool.c: New file.
68896
68897         * modules/netinet_in-tests: New file.
68898         * tests/test-netinet_in.c: New file.
68899
68900         * modules/inttypes-tests: New file.
68901         * tests/test-inttypes.c: New file.
68902
68903         * modules/fcntl-tests: New file.
68904         * tests/test-fcntl.c: New file.
68905
68906         * modules/byteswap-tests: New file.
68907         * tests/test-byteswap.c: New file.
68908
68909         * modules/arpa_inet-tests: New file.
68910         * tests/test-arpa_inet.c: New file.
68911
68912 2007-02-17  Bruno Haible  <bruno@clisp.org>
68913
68914         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
68915         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
68916         if the corresponding module is not enabled. Emit link warnings if
68917         the function is used nevertheless.
68918         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
68919         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
68920         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
68921         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
68922         * modules/inttypes (Depends-on): Add link-warning.
68923         (Makefile.am): Copy the contents of build-aux/link-warning.h into
68924         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
68925         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
68926         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
68927         * modules/imaxdiv (configure.ac): Likewise.
68928         * modules/strtoimax (configure.ac): Likewise.
68929         * modules/strtoumax (configure.ac): Likewise.
68930
68931 2007-02-17  Bruno Haible  <bruno@clisp.org>
68932
68933         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
68934         gl_STRING_MODULE_INDICATOR_DEFAULTS.
68935         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
68936         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
68937
68938 2007-02-17  Bruno Haible  <bruno@clisp.org>
68939
68940         * modules/link-warning: New file.
68941         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
68942         * lib/string_.h (GL_LINK_WARNING): Remove definition.
68943         * modules/string (Depends-on): Add link-warning.
68944         (Makefile.am): Copy the contents of build-aux/link-warning.h into
68945         string.h.
68946         * MODULES.html.sh (Support for building libraries and executables): Add
68947         link-warning.
68948
68949 2007-02-17  Bruno Haible  <bruno@clisp.org>
68950
68951         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
68952         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
68953         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
68954         long lines.
68955
68956 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
68957             Bruno Haible  <bruno@clisp.org>
68958
68959         * modules/tmpfile: New file.
68960         * lib/tmpfile.c: New file.
68961         * m4/tmpfile.m4: New file.
68962         * MODULES.html.sh (func_all_modules): New section "Input/output".
68963
68964 2007-02-15  Bruno Haible  <bruno@clisp.org>
68965
68966         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
68967         (supports_delete_on_close): New function.
68968         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
68969
68970 2007-02-14  Bruno Haible  <bruno@clisp.org>
68971
68972         * modules/mbspcasecmp-tests: New file.
68973         * tests/test-mbspcasecmp.sh: New file.
68974         * tests/test-mbspcasecmp.c: New file.
68975
68976         New module mbspcasecmp.
68977         * modules/mbspcasecmp: New file.
68978         * lib/mbspcasecmp.c: New file.
68979         * lib/string_.h (strncasecmp): Change warning message.
68980         (mbspcasecmp): New declaration.
68981         * m4/mbspcasecmp.m4: New file.
68982         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68983         GNULIB_MBSPCASECMP.
68984         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
68985         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
68986
68987 2007-02-14  Bruno Haible  <bruno@clisp.org>
68988
68989         * modules/mbsncasecmp-tests: New file.
68990         * tests/test-mbsncasecmp.sh: New file.
68991         * tests/test-mbsncasecmp.c: New file.
68992
68993         New module mbsncasecmp.
68994         * modules/mbsncasecmp: New file.
68995         * lib/mbsncasecmp.c: New file.
68996         * lib/string_.h (mbsncasecmp): New declaration.
68997         * m4/mbsncasecmp.m4: New file.
68998         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68999         GNULIB_MBSNCASECMP.
69000         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
69001         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
69002
69003 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
69004
69005         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
69006         Verify that it doesn't overlap with our flags.
69007         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
69008         do not have the desired effect in multibyte locales; instead, use
69009         mbscasecmp.
69010         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
69011         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
69012         we don't require GNU fnmatch ourselves (if our users require it, they
69013         should do so explicitly).
69014
69015         Fix regex code so it doesn't rely on strcasecmp.
69016         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
69017         Otherwise, include gnulib's langinfo.h.
69018         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
69019         undesirable behavior in non-C locales.  Instead, rely on localecharset.
69020         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
69021         * modules/regex (FILES): Remove m4/codeset.m4.
69022         (Depends-on): Add localcharset.  Remove strcase.
69023
69024 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69025
69026         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
69027         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
69028
69029 2007-02-13  Bruno Haible  <bruno@clisp.org>
69030
69031         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
69032         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
69033
69034 2007-02-12  Bruno Haible  <bruno@clisp.org>
69035
69036         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
69037         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
69038         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
69039         time warning rather than a link error.
69040
69041 2007-02-12  Bruno Haible  <bruno@clisp.org>
69042
69043         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
69044         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
69045         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
69046
69047 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
69048
69049         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
69050         args, not 2.
69051
69052 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
69053
69054         New module 'time', so that apps can include <time.h> as per
69055         POSIX and GNU instead of separate include files like time_r.h
69056         and timegm.h.  This implementation tries out a simpler approach
69057         for replacing decls in standard include files (as compared to
69058         the string module), somewhat as an experiment.
69059
69060         * config/srclist.txt: Comment out mktime.c for now.
69061         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
69062         since it doesn't apply any more.  Use generic wording instead.
69063         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
69064         'time'.
69065         * lib/time_.h, m4/time_h.m4, modules/time: New files.
69066         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
69067         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
69068         Don't include <sys/types.h>; no longer needed since we assume C89.
69069         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
69070         * lib/strftime.c: Likewise.
69071         * lib/time_r.c: Likewise.
69072         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
69073         * lib/nanosleep.c: Include <time.h> first, to check interface.
69074         * lib/strptime.c: Likewise.
69075         * lib/time_r.c: Likewise.
69076         * lib/timegm.c: Likewise.
69077         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
69078         needed.
69079         * lib/timegm.c: Don't include timegm.h; no longer needed.
69080         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
69081         time.h now handles any problems in that area.
69082         (struct timespec, nanosleep): Remove; time.h now arranges for these.
69083         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
69084         that time.h defines struct timespec.
69085         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
69086         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
69087         handles that.
69088         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
69089         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
69090         needed.  Set REPLACE_LOCALTIME.
69091         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
69092         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
69093         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
69094         nanosleep; time_h.m4 now does that.  Don't require
69095         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
69096         module handles this now.
69097         * modules/getdate (Depends-on): Remove timespec.  Add time.
69098         * modules/nanosleep (Depends-on): Likewise.
69099         * modules/stat-time (Depends-on): Likewise.
69100         * modules/nanosleep (Include): Include time.h, not timespec.h.
69101         * modules/strptime (Files): Remove lib/strptime.h.
69102         (Depends-on): Add extensions, time.
69103         (Include): Include time.h, not strptime.h.
69104         * modules/time_r (Files): Remove lib/time_r.h.
69105         (Depends-on): Add time.
69106         (Include): Include time.h, not time_r.h.
69107         * modules/timegm: Likewise.
69108         * modules/timespec (Description): Now does timespec-related decls
69109         of our own, instead of struct timespec itself.
69110         (Depends-on): Add time; remove extensions.
69111         (Maintainer): Add self.
69112         * modules/utimecmp (Depends-on): Add time; remove timespec.
69113         * modules/utimens (Depends-on): Likewise.
69114         * modules/xnanosleep (Depends-on): Likewise.
69115
69116 2007-02-11  Bruno Haible  <bruno@clisp.org>
69117
69118         * lib/c-strstr.c: Include allocsa.h.
69119         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
69120         * lib/c-strcasestr.c: Include allocsa.h.
69121         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
69122         * lib/strcasestr.c: Include allocsa.h.
69123         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
69124         * lib/mbsstr.c: Include allocsa.h.
69125         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
69126         allocsa/freesa instead of malloc/free.
69127         * lib/mbscasestr.c: Include allocsa.h.
69128         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
69129         allocsa/freesa instead of malloc/free.
69130         * modules/c-strstr (Depends-on): Add allocsa.
69131         * modules/c-strcasestr (Depends-on): Likewise.
69132         * modules/strcasestr (Depends-on): Likewise.
69133         * modules/mbsstr (Depends-on): Likewise.
69134         * modules/mbscasestr (Depends-on): Likewise.
69135
69136 2007-02-11  Bruno Haible  <bruno@clisp.org>
69137
69138         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
69139
69140         * modules/mbsspn-tests: New file.
69141         * tests/test-mbsspn.sh: New file.
69142         * tests/test-mbsspn.c: New file.
69143
69144 2007-02-11  Bruno Haible  <bruno@clisp.org>
69145
69146         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
69147
69148         * modules/mbspbrk-tests: New file.
69149         * tests/test-mbspbrk.sh: New file.
69150         * tests/test-mbspbrk.c: New file.
69151
69152 2007-02-11  Bruno Haible  <bruno@clisp.org>
69153
69154         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
69155         unneeded cast.
69156
69157         * modules/mbscspn-tests: New file.
69158         * tests/test-mbscspn.sh: New file.
69159         * tests/test-mbscspn.c: New file.
69160
69161 2007-02-11  Bruno Haible  <bruno@clisp.org>
69162
69163         * modules/mbscasecmp-tests: New file.
69164         * tests/test-mbscasecmp.sh: New file.
69165         * tests/test-mbscasecmp.c: New file.
69166
69167 2007-02-11  Bruno Haible  <bruno@clisp.org>
69168
69169         Ensure O(n) worst-case complexity of mbscasestr.
69170         * lib/mbscasestr.c: Include stdbool.h.
69171         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
69172         functions.
69173         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
69174         the bookkeeping indicates that it's worth it.
69175         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
69176
69177         * modules/mbscasestr-tests: New file.
69178         * tests/test-mbscasestr1.c: New file.
69179         * tests/test-mbscasestr2.sh: New file.
69180         * tests/test-mbscasestr2.c: New file.
69181         * tests/test-mbscasestr3.sh: New file.
69182         * tests/test-mbscasestr3.c: New file.
69183         * tests/test-mbscasestr4.sh: New file.
69184         * tests/test-mbscasestr4.c: New file.
69185         * m4/locale-tr.m4: New file.
69186
69187 2007-02-11  Bruno Haible  <bruno@clisp.org>
69188
69189         Ensure O(n) worst-case complexity of mbsstr.
69190         * lib/mbsstr.c: Include stdbool.h.
69191         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
69192         functions.
69193         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
69194         bookkeeping indicates that it's worth it.
69195         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
69196
69197         * modules/mbsstr-tests: New file.
69198         * tests/test-mbsstr1.c: New file.
69199         * tests/test-mbsstr2.sh: New file.
69200         * tests/test-mbsstr2.c: New file.
69201         * tests/test-mbsstr3.sh: New file.
69202         * tests/test-mbsstr3.c: New file.
69203         * m4/locale-fr.m4: New file.
69204
69205 2007-02-11  Bruno Haible  <bruno@clisp.org>
69206
69207         * lib/mbsrchr.c (mbsrchr): Fix bug.
69208
69209         * modules/mbsrchr-tests: New file.
69210         * tests/test-mbsrchr.sh: New file.
69211         * tests/test-mbsrchr.c: New file.
69212
69213 2007-02-11  Bruno Haible  <bruno@clisp.org>
69214
69215         * lib/mbschr.c (mbschr): Fix bug.
69216
69217         * modules/mbschr-tests: New file.
69218         * tests/test-mbschr.sh: New file.
69219         * tests/test-mbschr.c: New file.
69220         * m4/locale-zh.m4: New file.
69221
69222 2007-02-11  Bruno Haible  <bruno@clisp.org>
69223
69224         Support for copying multibyte string iterators.
69225         * lib/mbiter.h: Include <string.h>.
69226         (mbiter_multi_copy): New function.
69227         (mbi_copy): New macro.
69228         * lib/mbuiter.h: Include <string.h>.
69229         (mbuiter_multi_copy): New function.
69230         (mbui_copy): New macro.
69231
69232 2007-02-11  Bruno Haible  <bruno@clisp.org>
69233
69234         New module mbslen.
69235         * modules/mbslen: New file.
69236         * lib/mbslen.c: New file.
69237         * lib/string_.h (mbslen): New declaration.
69238         * m4/mbslen.m4: New file.
69239         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69240         GNULIB_MBSLEN.
69241         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
69242         * MODULES.html.sh (Internationalization functions): Add mbslen.
69243
69244 2007-02-11  Bruno Haible  <bruno@clisp.org>
69245
69246         Ensure O(n) worst-case complexity of strcasestr substitute.
69247         * lib/strcasestr.c: Include stdbool.h.
69248         (knuth_morris_pratt): New function.
69249         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
69250         bookkeeping indicates that it's worth it.
69251         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
69252
69253         * modules/strcasestr-tests: New file.
69254         * tests/test-strcasestr.c: New file.
69255
69256 2007-02-11  Bruno Haible  <bruno@clisp.org>
69257
69258         Ensure O(n) worst-case complexity of c_strcasestr.
69259         * lib/c-strcasestr.c: Include stdbool.h, string.h.
69260         (knuth_morris_pratt): New function.
69261         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
69262         the bookkeeping indicates that it's worth it.
69263         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
69264
69265         * modules/c-strcasestr-tests: New file.
69266         * tests/test-c-strcasestr.c: New file.
69267
69268 2007-02-11  Bruno Haible  <bruno@clisp.org>
69269
69270         Ensure O(n) worst-case complexity of c_strstr.
69271         * lib/c-strstr.c: Include stdbool.h, string.h.
69272         (knuth_morris_pratt): New function.
69273         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
69274         bookkeeping indicates that it's worth it.
69275         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
69276
69277         * lib/c-strstr.c: Complete rewrite for maintainability.
69278
69279         * modules/c-strstr-tests: New file.
69280         * tests/test-c-strstr.c: New file.
69281
69282 2007-02-11  Bruno Haible  <bruno@clisp.org>
69283
69284         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
69285         5.2.1 and earlier, whereby \055 was treated just like the range
69286         delimiter '-'.
69287         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
69288
69289 2007-02-08  Bruno Haible  <bruno@clisp.org>
69290
69291         * modules/regex (Depends-on): Add stdbool.
69292         Reported by Dalibor Topic <robilad@kaffe.org>.
69293
69294 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
69295
69296         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
69297         Prefer returning from main to exiting from it.
69298         Remove unnecessary parens after sizeof.
69299
69300 2007-02-05  Bruno Haible  <bruno@clisp.org>
69301
69302         New module mbssep.
69303         * modules/mbssep: New file.
69304         * lib/mbssep.c: New file.
69305         * lib/string_.h (strsep): Add a conditional link warning.
69306         (mbssep): New declaration.
69307         * m4/mbssep.m4: New file.
69308         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69309         GNULIB_MBSSEP.
69310         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
69311         * MODULES.html.sh (Internationalization functions): Add mbssep.
69312
69313 2007-02-05  Bruno Haible  <bruno@clisp.org>
69314
69315         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
69316         Optimize search in case of 1 delimiter.
69317
69318 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
69319
69320         * lib/acl.h: Include sys/types.h before sys/acl.h.
69321
69322 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
69323
69324         Merge upstream fix for glibc bugzilla #3957:
69325
69326         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
69327
69328         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
69329         bit for RE_HAT_LISTS_NOT_NEWLINE.
69330         (build_charclass_op): Remove bogus comment.
69331
69332 2007-02-05  Simon Josefsson  <simon@josefsson.org>
69333
69334         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
69335
69336 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
69337
69338         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
69339         * lib/memmem.c [!defined _LIBC]: Include config.h.
69340
69341 2007-02-04  Bruno Haible  <bruno@clisp.org>
69342
69343         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
69344         warning message.
69345
69346 2007-02-04  Bruno Haible  <bruno@clisp.org>
69347
69348         New module mbstok_r.
69349         * modules/mbstok_r: New file.
69350         * lib/mbstok_r.c: New file.
69351         * lib/string_.h (strtok_r): Change argument names to match the
69352         comments. Add a conditional link warning.
69353         (mbstok_r): New declaration.
69354         * m4/mbstok_r.m4: New file.
69355         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69356         GNULIB_MBSTOK_R.
69357         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
69358         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
69359
69360 2007-02-04  Bruno Haible  <bruno@clisp.org>
69361
69362         New module mbsspn.
69363         * modules/mbsspn: New file.
69364         * lib/mbsspn.c: New file.
69365         * lib/string_.h (strspn): Add a conditional link warning.
69366         (mbsspn): New declaration.
69367         * m4/mbsspn.m4: New file.
69368         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69369         GNULIB_MBSSPN.
69370         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
69371         * MODULES.html.sh (Internationalization functions): Add mbsspn.
69372
69373 2007-02-04  Bruno Haible  <bruno@clisp.org>
69374
69375         New module mbspbrk.
69376         * modules/mbspbrk: New file.
69377         * lib/mbspbrk.c: New file.
69378         * lib/string_.h (strpbrk): Add a conditional link warning.
69379         (mbspbrk): New declaration.
69380         * m4/mbspbrk.m4: New file.
69381         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69382         GNULIB_MBSPBRK.
69383         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
69384         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
69385
69386 2007-02-04  Bruno Haible  <bruno@clisp.org>
69387
69388         New module mbscspn.
69389         * modules/mbscspn: New file.
69390         * lib/mbscspn.c: New file.
69391         * lib/string_.h (strcspn): Add a conditional link warning.
69392         (mbscspn): New declaration.
69393         * m4/mbscspn.m4: New file.
69394         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69395         GNULIB_MBSCSPN.
69396         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
69397         * MODULES.html.sh (Internationalization functions): Add mbscspn.
69398
69399 2007-02-04  Bruno Haible  <bruno@clisp.org>
69400
69401         New module mbscasestr, reduced goal of strcasestr.
69402         * modules/mbscasestr: New file.
69403         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
69404         (mbscasestr): Renamed from strcasestr.
69405         * lib/strcasestr.c: Don't include mbuiter.h.
69406         (strcasestr): Remove support for multibyte locales.
69407         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
69408         Change the conditional link warning.
69409         (mbscasestr): New declaration.
69410         * m4/mbscasestr.m4: New file.
69411         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
69412         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
69413         REPLACE_STRCASESTR.
69414         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
69415         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
69416         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
69417         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
69418         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
69419         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
69420         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
69421         (Depends-on): Remove mbuiter.
69422         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
69423
69424 2007-02-04  Bruno Haible  <bruno@clisp.org>
69425
69426         Simplify handling of strncasecmp.
69427         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
69428         the conditional link warning.
69429         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
69430         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
69431         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
69432         * modules/strcase (configure.ac): Don't invoke
69433         gl_STRING_MODULE_INDICATOR.
69434         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
69435
69436 2007-02-04  Bruno Haible  <bruno@clisp.org>
69437
69438         New module mbscasecmp, reduced goal of strcasecmp.
69439         * modules/mbscasecmp: New file.
69440         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
69441         (mbscasecmp): Renamed from strcasecmp.
69442         * lib/strcasecmp.c: Don't include mbuiter.h.
69443         (strcasecmp): Remove support for multibyte locales.
69444         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
69445         Change the conditional link warning.
69446         (mbscasecmp): New declaration.
69447         * m4/mbscasecmp.m4: New file.
69448         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
69449         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
69450         REPLACE_STRCASECMP.
69451         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
69452         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69453         GNULIB_MBSCASECMP.
69454         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
69455         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
69456         * modules/strcase (Files): Remove m4/mbrtowc.m4.
69457         (Depends-on): Remove mbuiter.
69458         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
69459
69460 2007-02-04  Bruno Haible  <bruno@clisp.org>
69461
69462         New module mbsstr. Remove module strstr.
69463         * modules/mbsstr: New file.
69464         * modules/strstr: Remove file.
69465         * lib/mbsstr.c: Renamed from lib/strstr.c.
69466         (mbsstr): Renamed from strstr.
69467         * lib/string_.h (strstr): Remove declaration. Change the conditional
69468         link warning.
69469         (mbsstr): New declaration.
69470         * m4/mbsstr.m4: New file.
69471         * m4/strstr.m4: Remove file.
69472         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
69473         REPLACE_STRSTR.
69474         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
69475         Don't initialize GNULIB_STRSTR.
69476         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
69477         substitute GNULIB_STRSTR and REPLACE_STRSTR.
69478         * MODULES.html.sh (Internationalization functions): Add mbsstr.
69479         (Support for systems lacking ANSI C 89): Remove strstr.
69480
69481 2007-02-04  Bruno Haible  <bruno@clisp.org>
69482
69483         New module mbsrchr.
69484         * modules/mbsrchr: New file.
69485         * lib/mbsrchr.c: New file.
69486         * lib/string_.h (strrchr): Add a conditional link warning.
69487         (mbsrchr): New declaration.
69488         * m4/mbsrchr.m4: New file.
69489         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69490         GNULIB_MBSRCHR.
69491         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
69492         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
69493
69494 2007-02-04  Bruno Haible  <bruno@clisp.org>
69495
69496         New module mbschr.
69497         * modules/mbschr: New file.
69498         * lib/mbschr.c: New file.
69499         * lib/string_.h (strchr): Add a conditional link warning.
69500         (mbschr): New declaration.
69501         * m4/mbschr.m4: New file.
69502         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69503         GNULIB_MBSCHR.
69504         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
69505         * MODULES.html.sh (Internationalization functions): Add mbschr.
69506
69507 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
69508
69509         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
69510
69511         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
69512
69513 2007-02-04  Bruno Haible  <bruno@clisp.org>
69514
69515         New module description section 'configure.ac-early'.
69516         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
69517         (func_get_autoconf_early_snippet): New function.
69518         (func_import, func_create_testdir): Use it. Remove special cases for
69519         modules 'extensions' and 'lock'.
69520         * modules/extensions (configure.ac-early): Require
69521         gl_USE_SYSTEM_EXTENSIONS.
69522         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
69523
69524 2007-02-04  Bruno Haible  <bruno@clisp.org>
69525
69526         Make use of gcj-4.3's -fsource and -ftarget option.
69527         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
69528         and if so try the options -fsource and -ftarget.
69529         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
69530         source_version, ftarget_option, target_version arguments.
69531         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
69532         (is_envjavac_oldgcj_14_14_usable): Renamed from
69533         is_envjavac_gcj_14_14_usable.
69534         (is_envjavac_oldgcj_14_13_usable): Renamed from
69535         is_envjavac_gcj_14_13_usable.
69536         (is_gcj_present): Update.
69537         (is_gcj_43, is_gcj43_usable): New functions.
69538         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
69539         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
69540         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
69541         try the options -fsource and -ftarget.
69542
69543 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
69544
69545         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
69546         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
69547         larger value.
69548
69549 2007-02-03  Jim Meyering  <jim@meyering.net>
69550
69551         Give tools a better chance to allocate space for very large buffers.
69552         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
69553
69554         Make pwd and readlink work also when run with an unreadable parent dir
69555         on systems with openat support.
69556         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
69557         provided getcwd function, even when we have openat support.
69558         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
69559
69560 2007-02-02  Bruno Haible  <bruno@clisp.org>
69561
69562         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
69563         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
69564         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
69565         portability problems if one of these functions is only used on specific
69566         platforms.
69567         Reported by Paul Eggert.
69568
69569 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
69570
69571         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
69572         is causing more trouble than it's curing.
69573         * lib/regex_internal.h (__mempcpy): Remove.
69574         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
69575         (and make the code a tad smaller to boot).
69576         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
69577
69578 2007-02-02  Jim Meyering  <jim@meyering.net>
69579
69580         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
69581         section, not in the Makefile.am: one.
69582
69583 2007-02-02  Eric Blake  <ebb9@byu.net>
69584
69585         * lib/strchrnul.c: Always include config.h first.
69586
69587         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
69588         gnulib strstr is not necessary here.
69589
69590 2007-02-02  Simon Josefsson  <simon@josefsson.org>
69591
69592         * m4/socklen.m4: Fix typo.
69593
69594 2007-02-02  Eric Blake  <ebb9@byu.net>
69595
69596         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
69597         * modules/netinet_in (Makefile.am): Likewise.
69598
69599 2007-02-01  Bruno Haible  <bruno@clisp.org>
69600
69601         * lib/string_.h (GL_LINK_WARNING): New macro.
69602         (strcasecmp, strstr, strcasestr): If provided by the system,
69603         conditionally define as a macro that leads to a warning instead of to
69604         an error.
69605         (strncasecmp): Conditionally define as a macro that leads to a warning.
69606
69607 2007-02-01  Karl Berry  <karl@gnu.org>
69608
69609         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
69610
69611 2007-02-01  Bruno Haible  <bruno@clisp.org>
69612
69613         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
69614         renamings.
69615
69616 2007-02-01  Eric Blake  <ebb9@byu.net>
69617
69618         * modules/regex (Depends-on): Revert dependence on mempcpy.
69619         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
69620         module's definition of mempcpy.
69621         Reported by Paul Eggert.
69622
69623 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
69624
69625         * lib/string_.h: If the gnulib module XYZ is not present, undefine
69626         the symbol XYZ before redefining it.  This fixes a problem with
69627         programs that don't use XYZ, when compiled on systems that define
69628         XYZ to something else.
69629
69630 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
69631
69632         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
69633         occurs when "mkdir -m foo" creates a setgid directory that is (1)
69634         writeable to group or other and (2) is intended to have a special
69635         mode bit that is set or cleared.  In such a case, the directory
69636         should be neither group- nor other-writeable until the special
69637         mode bits are right.
69638
69639 2007-01-31  Eric Blake  <ebb9@byu.net>
69640
69641         * modules/mountlist (Depends-on): Add strstr.
69642
69643         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
69644         bug.
69645         * modules/string (Makefile.am): Remove redundant replacement.
69646         * modules/regex (Depends-on): Add mempcpy.
69647
69648 2007-01-31  Bruno Haible  <bruno@clisp.org>
69649
69650         New module description field 'Link'.
69651         * gnulib-tool (func_usage): Document --extract-link-directive.
69652         (sed_extract_prog): Recognize 'Link' directive.
69653         (func_get_link_directive): New function.
69654         (func_import): Show summary of link directives.
69655         Handle --extract-link-directive option.
69656         * modules/acl (Link): New section.
69657         * modules/clock-time (Link): New section.
69658         * modules/euidaccess (Link): New section.
69659         * modules/gettext (Link): New section.
69660         * modules/iconv (Link): New section.
69661         * modules/lock (Link): New section.
69662         * modules/nanosleep (Link): New section.
69663         * modules/readline (Link): New section.
69664
69665 2007-01-27  Bruno Haible  <bruno@clisp.org>
69666
69667         Enforce the use of gnulib modules for unportable <string.h> functions.
69668         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
69669         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
69670         (gl_HEADER_STRING_H_BODY): Require it.
69671         * lib/string_.h: If the gnulib module XYZ is not present, redefine
69672         the symbol XYZ to one that gives a link error.
69673         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
69674         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
69675         * modules/mempcpy (configure.ac): Likewise.
69676         * modules/memrchr (configure.ac): Likewise.
69677         * modules/stpcpy (configure.ac): Likewise.
69678         * modules/stpncpy (configure.ac): Likewise.
69679         * modules/strcase (configure.ac): Likewise.
69680         * modules/strcasestr (configure.ac): Likewise.
69681         * modules/strchrnul (configure.ac): Likewise.
69682         * modules/strdup (configure.ac): Likewise.
69683         * modules/strndup (configure.ac): Likewise.
69684         * modules/strnlen (configure.ac): Likewise.
69685         * modules/strpbrk (configure.ac): Likewise.
69686         * modules/strsep (configure.ac): Likewise.
69687         * modules/strstr (configure.ac): Likewise.
69688         * modules/strtok_r (configure.ac): Likewise.
69689
69690 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
69691
69692         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
69693
69694 2007-01-30  Jim Meyering  <jim@meyering.net>
69695
69696         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
69697
69698 2007-01-29  Bruno Haible  <bruno@clisp.org>
69699
69700         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
69701         * lib/execute.c: Likewise.
69702         * lib/pipe.c: Likewise.
69703         * lib/printf-args.h: Likewise.
69704         * lib/printf-args.c: Likewise.
69705         * lib/printf-parse.c: Likewise.
69706         * lib/vasnprintf.c: Likewise.
69707
69708 2007-01-29  Eric Blake  <ebb9@byu.net>
69709
69710         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
69711         declaration.
69712
69713 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
69714
69715         * lib/strptime.h (strptime): Use 'restrict' for args where
69716         POSIX requires this.
69717         * lib/strptime.c (strptime): Likewise.
69718         Change license notice from LGPL to GPL, since gnulib-tool will
69719         change this as needed.
69720         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
69721         defined.
69722         Include "strptime.h" first, to check interface.
69723         Do not #undef _LIBC and _NL_CURRENT.
69724         Do not include <stdlib.h>; no longer needed.
69725         Include "time_r.h" and declare ptime_locale_status
69726         only if _LIBC is not defined.
69727         (__P): Remove unused macro.
69728         (match_string): Bring back glibc version, but use it only if _LIBC
69729         is defined.
69730         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
69731         Remove unnecessary assertion and abort() call.
69732         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
69733         * m4/strptime.m4: Fix serial number comment.
69734         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
69735         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
69736         (Depends-on): Add time_r.
69737
69738 2007-01-29  Bruno Haible  <bruno@clisp.org>
69739
69740         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69741         strptime.
69742         * modules/strptime (Depends-on): Add stdbool.
69743         * lib/strptime.h: Include <time.h> always. Add comments.
69744
69745 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
69746
69747         * modules/strptime: New file.
69748         * lib/strptime.h: New file.
69749         * lib/strptime.c: New file.
69750         * m4/strptime.m4: New file.
69751
69752 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
69753
69754         * MODULES.html.sh: New module mpsort.
69755         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
69756
69757         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
69758         a circularity problem with HP-UX ia64 reported by Bob Proulx in
69759         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
69760         All uses changed.
69761         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
69762         All uses changed.
69763         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
69764         to _Restrict_.
69765         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
69766         the parameter matches the prototype.
69767
69768 2007-01-28  Jim Meyering  <jim@meyering.net>
69769
69770         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
69771         sys/time.h here, reverting that part of the previous patch:
69772         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
69773
69774 2007-01-28  Bruno Haible  <bruno@clisp.org>
69775
69776         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
69777         value of $(SYS_TIME_H).
69778         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
69779         remove it conditionally, too. [added by Jim Meyering]
69780         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
69781         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
69782         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
69783         GETTIMEOFDAY_REPLACEMENT to 1.
69784
69785 2007-01-28  Bruno Haible  <bruno@clisp.org>
69786
69787         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
69788         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
69789         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
69790         Set UNISTD_H instead of UNISTD_H2.
69791         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
69792
69793 2007-01-28  Bruno Haible  <bruno@clisp.org>
69794
69795         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
69796         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
69797
69798 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69799
69800         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
69801         (func_create_testdir): Ensure C locale for `grep' and `tr'
69802         character ranges.
69803         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
69804         ACLOCAL_AMFLAGS parsing state machine.
69805
69806 2007-01-27  Bruno Haible  <bruno@clisp.org>
69807
69808         * modules/unistr/base: Update.
69809
69810 2007-01-27  Bruno Haible  <bruno@clisp.org>
69811
69812         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
69813         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
69814         * modules/unistr/u32-mbtouc-unsafe: Renamed from
69815         modules/unistr/u32-mbtouc.
69816         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
69817         * lib/unistr.h: Update.
69818         * lib/linebreak.c: Update.
69819         * modules/unistr/u32-mbtouc: Renamed from
69820         modules/unistr/u32-mbtouc-safe.
69821         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
69822         * lib/unistr.h: Update.
69823         * lib/unistr/u32-to-u8.c: Update.
69824         * lib/unistr/u32-to-u16.c: Update.
69825
69826 2007-01-27  Bruno Haible  <bruno@clisp.org>
69827
69828         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
69829         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
69830         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
69831         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
69832         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
69833         * modules/unistr/u16-mbtouc-unsafe: Renamed from
69834         modules/unistr/u16-mbtouc.
69835         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
69836         * lib/unistr.h: Update.
69837         * lib/linebreak.c: Update.
69838         * modules/linebreak: Update.
69839         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
69840         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
69841         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
69842         * modules/unistr/u16-mbtouc: Renamed from
69843         modules/unistr/u16-mbtouc-safe.
69844         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
69845         * lib/unistr.h: Update.
69846         * lib/unistr/u16-to-u8.c: Update.
69847         * modules/unistr/u16-to-u8: Update.
69848         * lib/unistr/u16-to-u32.c: Update.
69849         * modules/unistr/u16-to-u32: Update.
69850
69851 2007-01-27  Bruno Haible  <bruno@clisp.org>
69852
69853         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
69854         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
69855         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
69856         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
69857         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
69858         * modules/unistr/u8-mbtouc-unsafe: Renamed from
69859         modules/unistr/u8-mbtouc.
69860         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
69861         * lib/unistr.h: Update.
69862         * lib/striconveh.c: Update.
69863         * modules/striconveh: Update.
69864         * lib/linebreak.c: Update.
69865         * modules/linebreak: Update.
69866         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
69867         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
69868         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
69869         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
69870         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
69871         * lib/unistr.h: Update.
69872         * lib/striconveh.c: Update.
69873         * modules/striconveh: Update.
69874         * lib/unistr/u8-to-u16.c: Update.
69875         * modules/unistr/u8-to-u16: Update.
69876         * lib/unistr/u8-to-u32.c: Update.
69877         * modules/unistr/u8-to-u32: Update.
69878
69879 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69880
69881         Sync from Libtool.
69882         * lib/argz.c: Do not include strings.h nor memory.h, include
69883         string.h unconditionally.  Patch by Simon Josefsson.
69884
69885 2007-01-27  Bruno Haible  <bruno@clisp.org>
69886
69887         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
69888         from gl_HEADER_STRING_H_BODY.
69889         (gl_HEADER_STRING_H_BODY): Require it.
69890         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
69891         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
69892         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
69893         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
69894         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
69895         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
69896         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
69897         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
69898         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
69899         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
69900         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
69901         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
69902         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
69903         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
69904         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
69905
69906 2007-01-27  Bruno Haible  <bruno@clisp.org>
69907
69908         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
69909         check_PROGRAMS into noinst_PROGRAMS.
69910         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
69911         check_PROGRAMS in this case.
69912         (func_import): Set for_test to false.
69913         (func_create_testdir): Set for_test to true.
69914
69915 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
69916             Bruno Haible  <bruno@clisp.org>
69917
69918         * modules/strcasestr (Files): Remove lib/strcasestr.h.
69919         (Depends-on): Add string.
69920         (Includes): Use <string.h> instead of strcasestr.h.
69921         * modules/string (Makefile.am): Also substitute the value of
69922         REPLACE_STRCASESTR.
69923         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
69924         assume strcasestr is declared in <string.h> not <strings.h>. Also
69925         set REPLACE_STRCASESTR.
69926         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
69927         REPLACE_STRCASESTR.
69928         * lib/strcasestr.h: Remove file.
69929         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
69930         * lib/string_.h (strcasestr): New declaration.
69931
69932 2007-01-27  Bruno Haible  <bruno@clisp.org>
69933
69934         * lib/string_.h: Use 'extern'.
69935
69936 2007-01-27  Jim Meyering  <jim@meyering.net>
69937
69938         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
69939         of set-but-not-used local, "q".
69940
69941         * lib/mempcpy.c: Include <config.h> before <string.h>.
69942         This fixes a compilation error on HP-UX, due to the system's
69943         "restrict"-using mempcpy prototype.
69944
69945 2007-01-26  Bruno Haible  <bruno@clisp.org>
69946
69947         Small optimization.
69948         * lib/javacomp.c: Include c-strstr.h.
69949          (is_envjavac_gcj): Use c_strstr instead of strstr.
69950         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
69951
69952 2007-01-26  Bruno Haible  <bruno@clisp.org>
69953
69954         * MODULES.html.sh (Unicode string functions): Add the new modules.
69955
69956         * modules/uniconv/u32-strconv-to-locale: New file.
69957         * lib/uniconv/u32-strconv-to-locale.c: New file.
69958
69959         * modules/uniconv/u16-strconv-to-locale: New file.
69960         * lib/uniconv/u16-strconv-to-locale.c: New file.
69961
69962         * modules/uniconv/u8-strconv-to-locale: New file.
69963         * lib/uniconv/u8-strconv-to-locale.c: New file.
69964
69965         * modules/uniconv/u32-strconv-from-locale: New file.
69966         * lib/uniconv/u32-strconv-from-locale.c: New file.
69967
69968         * modules/uniconv/u16-strconv-from-locale: New file.
69969         * lib/uniconv/u16-strconv-from-locale.c: New file.
69970
69971         * modules/uniconv/u8-strconv-from-locale: New file.
69972         * lib/uniconv/u8-strconv-from-locale.c: New file.
69973
69974         * modules/uniconv/u32-strconv-to-enc: New file.
69975         * lib/uniconv/u32-strconv-to-enc.c: New file.
69976         * modules/uniconv/u32-strconv-to-enc-tests: New file.
69977         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
69978
69979         * modules/uniconv/u16-strconv-to-enc: New file.
69980         * lib/uniconv/u16-strconv-to-enc.c: New file.
69981         * lib/uniconv/u-strconv-to-enc.h: New file.
69982         * modules/uniconv/u16-strconv-to-enc-tests: New file.
69983         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
69984
69985         * modules/uniconv/u8-strconv-to-enc: New file.
69986         * lib/uniconv/u8-strconv-to-enc.c: New file.
69987         * modules/uniconv/u8-strconv-to-enc-tests: New file.
69988         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
69989
69990         * modules/uniconv/u32-strconv-from-enc: New file.
69991         * lib/uniconv/u32-strconv-from-enc.c: New file.
69992         * modules/uniconv/u32-strconv-from-enc-tests: New file.
69993         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
69994
69995         * modules/uniconv/u16-strconv-from-enc: New file.
69996         * lib/uniconv/u16-strconv-from-enc.c: New file.
69997         * modules/uniconv/u16-strconv-from-enc-tests: New file.
69998         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
69999
70000         * modules/uniconv/u8-strconv-from-enc: New file.
70001         * lib/uniconv/u8-strconv-from-enc.c: New file.
70002         * lib/uniconv/u-strconv-from-enc.h: New file.
70003         * modules/uniconv/u8-strconv-from-enc-tests: New file.
70004         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
70005
70006         * modules/uniconv/u32-conv-from-enc: New file.
70007         * lib/uniconv/u32-conv-from-enc.c: New file.
70008         * modules/uniconv/u32-conv-from-enc-tests: New file.
70009         * tests/uniconv/test-u32-conv-from-enc.c: New file.
70010
70011         * modules/uniconv/u16-conv-from-enc: New file.
70012         * lib/uniconv/u16-conv-from-enc.c: New file.
70013         * lib/uniconv/u-conv-from-enc.h: New file.
70014         * modules/uniconv/u16-conv-from-enc-tests: New file.
70015         * tests/uniconv/test-u16-conv-from-enc.c: New file.
70016
70017         * modules/uniconv/u8-conv-from-enc: New file.
70018         * lib/uniconv/u8-conv-from-enc.c: New file.
70019         * modules/uniconv/u8-conv-from-enc-tests: New file.
70020         * tests/uniconv/test-u8-conv-from-enc.c: New file.
70021
70022         * modules/uniconv/base: New file.
70023         * lib/uniconv.h: New file.
70024
70025 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
70026
70027         * doc/gnulib-tool.texi (Initial import): Update to match current
70028         behavior with strdup module.
70029         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
70030         * lib/memmem.h: Remove; all uses removed.  This is now done
70031         by <string.h>.
70032         * lib/mempcpy.h: Likewise.
70033         * lib/memrchr.h: Likewise.
70034         * lib/stpcpy.h: Likewise.
70035         * lib/stpncpy.h: Likewise.
70036         * lib/strcase.h: Likewise.
70037         * lib/strchrnul.h: Likewise.
70038         * lib/strdup.h: Likewise.
70039         * lib/strndup.h: Likewise.
70040         * lib/strnlen.h: Likewise.
70041         * lib/strpbrk.h: Likewise.
70042         * lib/strsep.h: Likewise.
70043         * lib/strstr.h: Likewise.
70044         * lib/strtok_r.h: Likewise.
70045         * lib/string_.h: New file.
70046         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
70047         Rely on <string.h> instead.
70048         * lib/canon-host.c: Likewise.
70049         * lib/chdir-long.c: Likewise.
70050         * lib/concatpath.c: Likewise.
70051         * lib/exclude.c: Likewise.
70052         * lib/fchdir.c: Likewise.
70053         * lib/getaddrinfo.c: Likewise.
70054         * lib/getcwd.c: Likewise.
70055         * lib/getsubopt.c: Likewise.
70056         * lib/glob.c: Likewise.
70057         * lib/hard-locale.c: Likewise.
70058         * lib/iconvme.c: Likewise.
70059         * lib/javacomp.c: Likewise.
70060         * lib/mempcpy.c: Likewise.
70061         * lib/memrchr.c: Likewise.
70062         * lib/regex_internal.h: Likewise.
70063         * lib/stpncpy.c: Likewise.
70064         * lib/strcasecmp.c: Likewise.
70065         * lib/strchrnul.c: Likewise.
70066         * lib/strdup.c: Likewise.
70067         * lib/striconv.c: Likewise.
70068         * lib/striconveh.c: Likewise.
70069         * lib/striconveha.c: Likewise.
70070         * lib/strncasecmp.c: Likewise.
70071         * lib/strndup.c: Likewise.
70072         * lib/strnlen.c: Likewise.
70073         * lib/strsep.c: Likewise.
70074         * lib/strstr.c: Likewise.
70075         * lib/strtok_r.c: Likewise.
70076         * lib/userspec.c: Likewise.
70077         * lib/w32spawn.h: Likewise.
70078         * lib/xstrndup.c: Likewise.
70079         * lib/mountlist.c (strstr): Remove decl.
70080         * m4/string_h.m4: New file.
70081         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
70082         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
70083         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
70084         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
70085         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
70086         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
70087         Set REPLACE_STRCASECMP if necessary.
70088         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
70089         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
70090         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
70091         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
70092         HAVE_DECL_STRDUP if necessary.
70093         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
70094         since gl_FUNC_STRNDUP does that now.
70095         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
70096         Check for decl here...
70097         (gl_PREREQ_STRNLEN): ... not here.
70098         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
70099         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
70100         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
70101         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
70102         necessary.
70103         * modules/string: New file.
70104         * modules/memmem (Files): Remove special-purpose include file.
70105         (Depends-on): Add string.
70106         (Include): Include <string.h>, not the removed file.
70107         * modules/mempcpy: Likewise.
70108         * modules/memrchr: Likewise.
70109         * modules/stpcpy: Likewise.
70110         * modules/stpncpy: Likewise.
70111         * modules/strcase: Likewise.
70112         * modules/strchrnul: Likewise.
70113         * modules/strdup: Likewise.
70114         * modules/strndup: Likewise.
70115         * modules/strnlen: Likewise.
70116         * modules/strpbrk: Likewise.
70117         * modules/strsep: Likewise.
70118         * modules/strstr: Likewise.
70119         * modules/strtok_r: Likewise.
70120         * tests/test-dirname.c: Don't include "strdup.h", since
70121         <string.h> now suffices.
70122         * tests/test-memmem.c: Don't include "memmem.h", since
70123         <string.h> now suffices.
70124
70125 2007-01-25  Bruno Haible  <bruno@clisp.org>
70126
70127         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
70128         *resultp is 0.
70129
70130         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
70131         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
70132         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
70133         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
70134
70135         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
70136         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
70137         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
70138         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
70139         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
70140         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
70141
70142 2007-01-24  Bruno Haible  <bruno@clisp.org>
70143
70144         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
70145         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
70146         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
70147         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
70148         gl_FUNC_FTS_CORE.
70149         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
70150         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
70151         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
70152         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
70153         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
70154         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
70155         gl_FUNC_FCHOWNAT.
70156         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
70157         gl_FUNC_STRFTIME.
70158         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
70159         Reported by Ralf Wildenhues.
70160
70161 2007-01-24  Bruno Haible  <bruno@clisp.org>
70162
70163         Drop AC_REQUIRE calls that are redundant with the module dependencies.
70164         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
70165         gl_GETADDRINFO.
70166         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
70167         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
70168         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
70169
70170 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
70171
70172         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
70173         Don't use 'exit'; just return from 'main'.
70174         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
70175
70176         * lib/fnmatch_.h: Readjust white space and comments to match
70177         glibc, to avoid spurious diffs.
70178
70179 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
70180
70181         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
70182         2004-12-01 change by Jakub Jelinek, since this code won't compile
70183         if !LIBC.  Problem reported by Bob Proulx.
70184
70185 2007-01-23  Bruno Haible  <bruno@clisp.org>
70186
70187         * lib/striconveh.c: Include c-strcaseeq.h.
70188         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
70189         * modules/striconveh (Depends-on): Add c-strcaseeq.
70190
70191 2007-01-23  Bruno Haible  <bruno@clisp.org>
70192
70193         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
70194
70195         * modules/c-strcaseeq: New file.
70196         * lib/c-strcaseeq.h: New file.
70197
70198         * modules/streq: New file.
70199         * lib/streq.h: New file.
70200
70201 2007-01-23  Bruno Haible  <bruno@clisp.org>
70202
70203         * modules/striconveha-tests: New file.
70204         * tests/test-striconveha.c: New file.
70205
70206         * lib/striconveha.h: Include <stdbool.h>.
70207         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
70208         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
70209         (mem_iconveha_notranslit): Renamed from mem_iconveha.
70210         (mem_iconveha): New function.
70211         (str_iconveha_notranslit): Renamed from str_iconveha.
70212         (str_iconveha): New function.
70213         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
70214         c-strcase.
70215
70216 2007-01-23  Bruno Haible  <bruno@clisp.org>
70217
70218         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
70219         encodings without forgiving before trying any encoding with handler.
70220         (str_iconveha): Try all encodings without forgiving before trying any
70221         encoding with handler.
70222
70223 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
70224
70225         Import the following changes from libc.
70226
70227         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
70228
70229         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
70230
70231         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
70232
70233         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
70234         normal_bracket label.
70235
70236         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
70237
70238         [BZ #361]
70239         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
70240         to normal_bracket after fetching the next character.
70241
70242 2007-01-22  Bruno Haible  <bruno@clisp.org>
70243
70244         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
70245         argument.
70246         * lib/striconveh.c (iconv_carefully_1): New function.
70247         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
70248         argument.
70249         (str_cd_iconveh): Update.
70250         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
70251         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
70252         * tests/test-striconveh.c (MAGIC): New macro.
70253         (new_offsets): New function.
70254         (main): Test call with and without offsets.
70255
70256 2007-01-22  Bruno Haible  <bruno@clisp.org>
70257
70258         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
70259         * modules/sys_select (Makefile.am): Likewise.
70260         * modules/sys_socket (Makefile.am): Likewise.
70261         * modules/sys_time (Makefile.am): Likewise.
70262
70263 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
70264
70265         * modules/gettimeofday (License): Change from GPL to LGPL, since
70266         gettimeofday is a library function.
70267
70268 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70269
70270         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
70271
70272 2007-01-21  Bruno Haible  <bruno@clisp.org>
70273
70274         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
70275
70276 2007-01-21  Bruno Haible  <bruno@clisp.org>
70277
70278         * modules/striconveha: New file.
70279         * lib/striconveha.h: New file.
70280         * lib/striconveha.c: New file.
70281         * MODULES.html.sh (Internationalization functions): Add striconveha.
70282         * lib/striconv.c (str_iconv): Optimize the case of an empty input
70283         string.
70284         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
70285
70286 2007-01-21  Bruno Haible  <bruno@clisp.org>
70287
70288         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
70289         * lib/striconveh.c (str_iconveh): Likewise.
70290
70291 2007-01-21  Bruno Haible  <bruno@clisp.org>
70292
70293         * lib/striconveh.h (mem_iconveh): New declaration.
70294         * lib/striconveh.c (mem_iconveh): New function.
70295         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
70296
70297 2007-01-21  Bruno Haible  <bruno@clisp.org>
70298
70299         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
70300
70301         * lib/striconveh.h (mem_cd_iconveh): Change specification.
70302         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
70303         original result buffer.
70304         (str_cd_iconveh): Update.
70305         * tests/test-striconveh.c (main): Update.
70306
70307         * lib/striconv.h (mem_cd_iconv): Change specification.
70308         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
70309         result buffer.
70310         (str_cd_iconv): Update.
70311         * tests/test-striconv.c (main): Update.
70312
70313 2007-01-21  Bruno Haible  <bruno@clisp.org>
70314
70315         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
70316
70317 2007-01-20  Jim Meyering  <jim@meyering.net>
70318
70319         * lib/userspec.c (parse_with_separator): If a user or group string
70320         starts with "+", skip the corresponding name-to-ID look-up, since
70321         such a look-up must fail: user and group names may not include "+".
70322
70323 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
70324
70325         * lib/poll.c: Include sys/time.h and time.h unconditionally,
70326         since we now assume the sys_time module.
70327         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
70328         check for sys/time.h; no longer needed.
70329         * modules/poll (Depends-on): Depend on sys_time.
70330
70331 2007-01-18  Bruno Haible  <bruno@clisp.org>
70332
70333         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
70334         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
70335
70336         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
70337         gettimeofday.
70338
70339         * tests/test-gettimeofday.c: Include <time.h>.
70340         (dummy): Remove variable.
70341
70342         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
70343         gl_HEADER_SYS_TIME_H.
70344         (gl_HEADER_SYS_TIME_H): New macro.
70345
70346         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
70347         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70348         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
70349         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
70350         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70351         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
70352         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
70353         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70354         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
70355         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
70356         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70357
70358         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
70359         last change; it caused a compilation error when cross-compiling to
70360         Cygwin.
70361
70362 2007-01-18  Jim Meyering  <jim@meyering.net>
70363
70364         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
70365         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
70366         than the race-prone "test -d sys || mkdir sys".
70367         (configure.ac): Use AC_PROG_MKDIR_P.
70368         * modules/sys_select: Likewise.
70369         * modules/sys_socket: Likewise.
70370         * modules/sys_time: Likewise.
70371
70372 2007-01-18  Eric Blake  <ebb9@byu.net>
70373
70374         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
70375         replace gettimeofday.
70376         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
70377         name, to avoid infinite recursion.
70378
70379 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
70380
70381         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
70382         module sys_time.
70383         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
70384         assume timespec.h defines struct timeval.
70385         * lib/settime.c: Likewise.
70386         * lib/utimens.c: Likewise.
70387         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
70388         since we now assume the gettimeofday module.
70389         * lib/tempname.c (__gen_tempname): Likewise.
70390         * lib/gettimeofday.h: Remove.
70391         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
70392         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
70393         Include <time.h>, for 'time()'.
70394         (localtime_buffer_addr): Also use this workaround if
70395         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
70396         to simplify the uses.  All uses changed.
70397         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
70398         that #undef is inside {}, and 'const' follows type name consistently.
70399         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
70400         (gettimeofday): Do not use the maximum possible value for
70401         tv->tv_usec, since that might break usages other than ls.c.
70402         Instead, we'll leave ls.c alone.  This undoes today's patch
70403         by Bruno.  Add a compile-time warning for 1s-clock resolution;
70404         we've never observed the problem but might as well keep the
70405         canary.
70406         * lib/nanosleep.c: Include timespec.h first, for interface check.
70407         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
70408         now assume the sys_time module.
70409         * lib/tempname.c: Likewise.
70410         * lib/timespec.h: Likewise.
70411         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
70412         needed.
70413         * lib/strftime.c: Likewise.
70414         * lib/timespec.h: Likewise.
70415         * lib/posixtm.c: Include posixtm.h first, for interface check.
70416         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
70417         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
70418         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
70419         * lib/sys_time_.h: New file.
70420         * lib/timespec.h (struct timespec): Use long int, not long.
70421         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
70422         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
70423         Remove obsolescent call to AC_HEADER_TIME.
70424         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
70425         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
70426         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
70427         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
70428         Likewise.
70429         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
70430         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
70431         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
70432         into the sys_time module.  Check for gettimeofday just once.
70433         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
70434         for gettimeofday signature to just check the signature.  Merely
70435         compile it, since linking doesn't test signature.  Improve test for
70436         whether gettimeofday.o is actually needed.
70437         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
70438         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
70439         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
70440         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70441         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
70442         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
70443         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
70444         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
70445         than worrying about sys/time.h.
70446         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
70447         Don't bother worrying about TIME_WITH_SYS_TIME.
70448         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
70449         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
70450         * m4/sys_time_h.m4: New file.
70451         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
70452         Don't include sys/time.h.  Return from main rather than exiting.
70453         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
70454         all uses changed.
70455         * modules/gethrxtime (Depends-on): Add sys_time.
70456         * modules/gettime (Depends-on): Likewise.
70457         * modules/gettimeofday (Depends-on): Likewise.
70458         * modules/nanosleep (Depends-on): Likewise.
70459         * modules/settime (Depends-on): Likewise.
70460         * modules/tempname (Depends-on): Likewise.
70461         * modules/utimens (Depends-on): Likewise.
70462         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
70463         (Include): Change back to <sys/time.h>.
70464         (Maintainer): Add self.
70465         * modules/sys_time: New file.
70466         * modules/tempname (Depends-on): Add gettimeofday.
70467         * tests/test-gettimeofday.c: Include <sys/time.h>
70468         rather than gettimeofday.h.
70469
70470 2007-01-17  Bruno Haible  <bruno@clisp.org>
70471
70472         * gnulib-tool (func_get_license): Revert last patch. Instead, let
70473         the license default to GPL.
70474         (func_create_testdir): Don't complain if a module is LGPL and its
70475         tests module depends on GPLed modules.
70476
70477 2007-01-17  Bruno Haible  <bruno@clisp.org>
70478
70479         * lib/gettimeofday.c (gettimeofday): Add code for the case
70480         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
70481         maximum possible value for tv->tv_usec, rather than the minimum one.
70482
70483 2005-10-08  Martin Lambers  <marlam@marlam.de>
70484 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
70485 2007-01-16  Bruno Haible  <bruno@clisp.org>
70486
70487         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
70488         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
70489         gl_FUNC_GETTIMEOFDAY.
70490         (Include): Add gettimeofday.h.
70491         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
70492         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
70493         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
70494         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
70495         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
70496         * lib/gettimeofday.h: New file.
70497         * lib/gettimeofday.c: Include <sys/timeb.h>.
70498         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
70499         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70500         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
70501         fall back on time().
70502
70503         * tests/test-gettimeofday.c: New file.
70504         * modules/gettimeofday-tests: New file.
70505
70506 2007-01-16  Eric Blake  <ebb9@byu.net>
70507
70508         * modules/fnmatch (Depends-on): Depend on wchar.
70509         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
70510         * m4/fnmatch.m4: Likewise.
70511         * modules/mbchar (Makefile.am): Assume <wchar.h>.
70512         * m4/mbchar.m4: Likewise.
70513         * modules/mbswidth (Depends-on): Depend on wchar.
70514         * lib/mbswidth.c: Assume <wchar.h>.
70515         * m4/mbswidth.m4: Likewise.
70516         * modules/quotearg (Depends-on): Depend on wchar.
70517         * lib/quotearg.c: Assume <wchar.h>.
70518         * m4/quotearg.m4: Likewise.
70519         * modules/regex (Depends-on): Depend on wchar.
70520         * lib/regex_internal.h: Assume <wchar.h>.
70521         * m4/regex.m4: Likewise.
70522         * modules/stdint (Depends-on): Depend on wchar.
70523         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
70524         * m4/stdint.m4: Likewise.
70525         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
70526         * modules/strftime (Depends-on): Depend on wchar.
70527         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
70528         * modules/strtol (Depends-on): Depend on wchar.
70529         * lib/strtol.c: Assume <wchar.h>.
70530         * modules/wcwidth (Depends-on): Depend on wchar.
70531         * lib/wcwidth.h: Assume <wchar.h>.
70532         * m4/wcwidth.m4: Likewise.
70533
70534 2007-01-16  Bruno Haible  <bruno@clisp.org>
70535
70536         * modules/csharpexec-script: New, created from...
70537         * modules/csharpexec: ... this.
70538
70539 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
70540
70541         * modules/javaexec-script: New, created from...
70542         * modules/javaexec: ... this.
70543
70544 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70545
70546         * modules/poll (Dependencies): Add sys_select.
70547
70548 2007-01-15  Jim Meyering  <jim@meyering.net>
70549
70550         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
70551         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
70552         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
70553         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
70554
70555 2007-01-15  Bruno Haible  <bruno@clisp.org>
70556
70557         * modules/striconveh: New file.
70558         * lib/striconveh.h: New file.
70559         * lib/striconveh.c: New file.
70560         * MODULES.html.sh (Internationalization functions): Add striconveh.
70561
70562         * modules/striconveh-tests: New file.
70563         * tests/test-striconveh.c: New file.
70564
70565 2007-01-15  Bruno Haible  <bruno@clisp.org>
70566
70567         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
70568         not from GNU libiconv or GNU libc.
70569
70570 2007-01-15  Bruno Haible  <bruno@clisp.org>
70571
70572         * doc/gnulib-intro.texi (Copyright): Explain the different license
70573         terms for module descriptions, autoconf macros, tests, documentation.
70574
70575 2007-01-14  Bruno Haible  <bruno@clisp.org>
70576
70577         * modules/striconv-tests: New file.
70578         * tests/test-striconv.c: New file.
70579
70580 2007-01-14  Bruno Haible  <bruno@clisp.org>
70581
70582         * modules/iconv-tests: New file.
70583         * tests/test-iconv.c: New file.
70584
70585 2007-01-14  Bruno Haible  <bruno@clisp.org>
70586
70587         * gnulib-tool (func_get_license): For test modules, use the license of
70588         the main module.
70589
70590 2007-01-14  Bruno Haible  <bruno@clisp.org>
70591
70592         * modules/iconv (Include): Clarify that <iconv.h> can only be included
70593         if iconv is found to exist.
70594
70595 2007-01-14  Bruno Haible  <bruno@clisp.org>
70596
70597         * modules/c-ctype-tests: New file.
70598         * tests/test-c-ctype.c: New file.
70599
70600 2007-01-14  Bruno Haible  <bruno@clisp.org>
70601
70602         * modules/binary-io-tests: New file.
70603         * tests/test-binary-io.sh: New file.
70604         * tests/test-binary-io.c: New file.
70605
70606 2007-01-14  Bruno Haible  <bruno@clisp.org>
70607
70608         * modules/array-oset-tests: New file.
70609         * tests/test-array_oset.c: New file.
70610
70611 2007-01-14  Bruno Haible  <bruno@clisp.org>
70612
70613         * modules/array-list-tests: New file.
70614         * tests/test-array_list.c: New file.
70615
70616 2007-01-14  Bruno Haible  <bruno@clisp.org>
70617
70618         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
70619         and make.
70620         Reported by Simon Josefsson in
70621         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
70622
70623 2007-01-14  Bruno Haible  <bruno@clisp.org>
70624
70625         * modules/allocsa-tests: New file.
70626         * tests/test-allocsa.c: New file.
70627
70628 2007-01-14  Bruno Haible  <bruno@clisp.org>
70629
70630         * modules/fchdir (Depends-on): Add absolute-header.
70631         * modules/unistd (Depends-on): Likewise.
70632
70633 2006-12-30  Bruno Haible  <bruno@clisp.org>
70634
70635         * modules/fchdir: New file.
70636         * modules/unistd (Files): Add lib/unistd_.h.
70637         (Makefile.am): Generate unistd.h from unistd_.h.
70638         * lib/fchdir.c: New file.
70639         * lib/dirent_.h: New file.
70640         * lib/unistd_.h: New file.
70641         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
70642         * m4/fchdir.m4: New file.
70643         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
70644         (gl_HEADER_UNISTD): Invoke it.
70645         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
70646         function.
70647         * lib/backupfile.c (opendir, closedir): Undefine.
70648         * lib/chown.c (open, close): Undefine.
70649         * lib/clean-temp.c (open, close): Undefine.
70650         * lib/copy-file.c (open, close): Undefine.
70651         * lib/execute.c (open, close): Undefine.
70652         * lib/fsusage.c (open, close): Undefine.
70653         * lib/gc-gnulib.c (open, close): Undefine.
70654         * lib/getcwd.c (opendir, closedir): Undefine.
70655         * lib/glob.c (opendir, closedir): Undefine.
70656         * lib/javacomp.c (open, close): Undefine.
70657         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
70658         * lib/openat-proc.c (open, close): Undefine.
70659         * lib/pagealign_alloc.c (open, close): Undefine.
70660         * lib/pipe.c (open, close): Undefine.
70661         * lib/progreloc.c (open, close): Undefine.
70662         * lib/savedir.c (opendir, closedir): Undefine.
70663         * lib/utime.c (open, close): Undefine.
70664         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
70665
70666 2007-01-10  Bruno Haible  <bruno@clisp.org>
70667
70668         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
70669
70670 2007-01-12  Eric Blake  <ebb9@byu.net>
70671
70672         Provide a robust <wchar.h>.  Further simplifications are now
70673         possible in other modules, but not included here.
70674         * modules/wchar: New module.
70675         * m4/wchar.m4: New file.
70676         * lib/wchar_.h: Likewise.
70677         * modules/mbchar (Depends-on): Depend on wchar, as the first use
70678         of the new module.
70679         * MODULES.html.sh (Extended multibyte and wide character utilities):
70680         New section.
70681
70682 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
70683
70684         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
70685         to a reasonable default for memory allocation.
70686         (xreadlink): Don't allocate a huge buffer, to work around a buggy
70687         file system that reports garbage st_size values for symlinks.
70688         Problem reported by Liyang Hu.
70689
70690 2007-01-11  Simon Josefsson  <simon@josefsson.org>
70691
70692         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
70693         Emacs .#* auto-save files).
70694
70695 2007-01-11  Bruno Haible  <bruno@clisp.org>
70696
70697         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
70698         directory.
70699
70700 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
70701
70702         Use @...@ consistently in lib/wctype_.h.
70703         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
70704         on it being set to 1 or 0.
70705         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
70706         go back to AC_SUBSTing it.
70707         * modules/wctype (Makefile.am): Undo previous change.
70708
70709 2007-01-10  Eric Blake  <ebb9@byu.net>
70710
70711         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
70712         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
70713         * modules/wctype (Makefile.am): Likewise.
70714         Reported by Chris McGuire.
70715
70716 2007-01-10  Jim Meyering  <jim@meyering.net>
70717
70718         fts.c: a small readability/maintainability improvement
70719         * lib/fts.c (fts_read): Make this code slightly more readable and
70720         maintainable by hoisting the "sp->fts_cur = p" assignments to
70721         immediately follow the statements that set P.  Derived from
70722         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
70723
70724 2007-01-10  Eric Blake  <ebb9@byu.net>
70725
70726         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
70727         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
70728         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
70729         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
70730         Reported by Chris McGuire.
70731
70732 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70733
70734         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
70735         in sed script.
70736
70737 2007-01-09  Bruno Haible  <bruno@clisp.org>
70738
70739         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
70740         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
70741         variables.
70742         (func_module): Use them.
70743
70744 2007-01-09  Bruno Haible  <bruno@clisp.org>
70745
70746         * modules/unistr/base: New file.
70747         * lib/unistr.h: New file.
70748
70749         * modules/unistr/u8-to-u16: New file.
70750         * lib/unistr/u8-to-u16.c: New file.
70751
70752         * modules/unistr/u8-to-u32: New file.
70753         * lib/unistr/u8-to-u32.c: New file.
70754
70755         * modules/unistr/u16-to-u8: New file.
70756         * lib/unistr/u16-to-u8.c: New file.
70757
70758         * modules/unistr/u16-to-u32: New file.
70759         * lib/unistr/u16-to-u32.c: New file.
70760
70761         * modules/unistr/u32-to-u8: New file.
70762         * lib/unistr/u32-to-u8.c: New file.
70763
70764         * modules/unistr/u32-to-u16: New file.
70765         * lib/unistr/u32-to-u16.c: New file.
70766
70767         * modules/unistr/u8-check: New file.
70768         * modules/unistr/u16-check: New file.
70769         * modules/unistr/u32-check: New file.
70770         * lib/unistr/u8-check.c: New file.
70771         * lib/unistr/u16-check.c: New file.
70772         * lib/unistr/u32-check.c: New file.
70773
70774         * modules/unistr/u8-chr: New file.
70775         * modules/unistr/u16-chr: New file.
70776         * modules/unistr/u32-chr: New file.
70777         * lib/unistr/u8-chr.c: New file.
70778         * lib/unistr/u16-chr.c: New file.
70779         * lib/unistr/u32-chr.c: New file.
70780
70781         * modules/unistr/u8-cmp: New file.
70782         * modules/unistr/u16-cmp: New file.
70783         * modules/unistr/u32-cmp: New file.
70784         * lib/unistr/u8-cmp.c: New file.
70785         * lib/unistr/u16-cmp.c: New file.
70786         * lib/unistr/u32-cmp.c: New file.
70787
70788         * modules/unistr/u8-cpy: New file.
70789         * modules/unistr/u16-cpy: New file.
70790         * modules/unistr/u32-cpy: New file.
70791         * lib/unistr/u8-cpy.c: New file.
70792         * lib/unistr/u16-cpy.c: New file.
70793         * lib/unistr/u32-cpy.c: New file.
70794         * lib/unistr/u-cpy.h: New file.
70795
70796         * modules/unistr/u8-cpy-alloc: New file.
70797         * modules/unistr/u16-cpy-alloc: New file.
70798         * modules/unistr/u32-cpy-alloc: New file.
70799         * lib/unistr/u8-cpy-alloc.c: New file.
70800         * lib/unistr/u16-cpy-alloc.c: New file.
70801         * lib/unistr/u32-cpy-alloc.c: New file.
70802         * lib/unistr/u-cpy-alloc.h: New file.
70803
70804         * modules/unistr/u8-endswith: New file.
70805         * modules/unistr/u16-endswith: New file.
70806         * modules/unistr/u32-endswith: New file.
70807         * lib/unistr/u8-endswith.c: New file.
70808         * lib/unistr/u16-endswith.c: New file.
70809         * lib/unistr/u32-endswith.c: New file.
70810         * lib/unistr/u-endswith.h: New file.
70811
70812         * modules/unistr/u8-mblen: New file.
70813         * modules/unistr/u16-mblen: New file.
70814         * modules/unistr/u32-mblen: New file.
70815         * lib/unistr/u8-mblen.c: New file.
70816         * lib/unistr/u16-mblen.c: New file.
70817         * lib/unistr/u32-mblen.c: New file.
70818
70819         * modules/unistr/u8-mbtouc: New file.
70820         * modules/unistr/u16-mbtouc: New file.
70821         * modules/unistr/u32-mbtouc: New file.
70822         * lib/unistr/u8-mbtouc.c: New file.
70823         * lib/unistr/u16-mbtouc.c: New file.
70824         * lib/unistr/u32-mbtouc.c: New file.
70825
70826         * modules/unistr/u8-mbtouc-safe: New file.
70827         * modules/unistr/u16-mbtouc-safe: New file.
70828         * modules/unistr/u32-mbtouc-safe: New file.
70829         * lib/unistr/u8-mbtouc-safe.c: New file.
70830         * lib/unistr/u16-mbtouc-safe.c: New file.
70831         * lib/unistr/u32-mbtouc-safe.c: New file.
70832
70833         * modules/unistr/u8-move: New file.
70834         * modules/unistr/u16-move: New file.
70835         * modules/unistr/u32-move: New file.
70836         * lib/unistr/u8-move.c: New file.
70837         * lib/unistr/u16-move.c: New file.
70838         * lib/unistr/u32-move.c: New file.
70839         * lib/unistr/u-move.h: New file.
70840
70841         * modules/unistr/u8-next: New file.
70842         * modules/unistr/u16-next: New file.
70843         * modules/unistr/u32-next: New file.
70844         * lib/unistr/u8-next.c: New file.
70845         * lib/unistr/u16-next.c: New file.
70846         * lib/unistr/u32-next.c: New file.
70847
70848         * modules/unistr/u8-prev: New file.
70849         * modules/unistr/u16-prev: New file.
70850         * modules/unistr/u32-prev: New file.
70851         * lib/unistr/u8-prev.c: New file.
70852         * lib/unistr/u16-prev.c: New file.
70853         * lib/unistr/u32-prev.c: New file.
70854
70855         * modules/unistr/u8-set: New file.
70856         * modules/unistr/u16-set: New file.
70857         * modules/unistr/u32-set: New file.
70858         * lib/unistr/u8-set.c: New file.
70859         * lib/unistr/u16-set.c: New file.
70860         * lib/unistr/u32-set.c: New file.
70861         * lib/unistr/u-set.h: New file.
70862
70863         * modules/unistr/u8-startswith: New file.
70864         * modules/unistr/u16-startswith: New file.
70865         * modules/unistr/u32-startswith: New file.
70866         * lib/unistr/u8-startswith.c: New file.
70867         * lib/unistr/u16-startswith.c: New file.
70868         * lib/unistr/u32-startswith.c: New file.
70869         * lib/unistr/u-startswith.h: New file.
70870
70871         * modules/unistr/u8-stpcpy: New file.
70872         * modules/unistr/u16-stpcpy: New file.
70873         * modules/unistr/u32-stpcpy: New file.
70874         * lib/unistr/u8-stpcpy.c: New file.
70875         * lib/unistr/u16-stpcpy.c: New file.
70876         * lib/unistr/u32-stpcpy.c: New file.
70877         * lib/unistr/u-stpcpy.h: New file.
70878
70879         * modules/unistr/u8-stpncpy: New file.
70880         * modules/unistr/u16-stpncpy: New file.
70881         * modules/unistr/u32-stpncpy: New file.
70882         * lib/unistr/u8-stpncpy.c: New file.
70883         * lib/unistr/u16-stpncpy.c: New file.
70884         * lib/unistr/u32-stpncpy.c: New file.
70885         * lib/unistr/u-stpncpy.h: New file.
70886
70887         * modules/unistr/u8-strcat: New file.
70888         * modules/unistr/u16-strcat: New file.
70889         * modules/unistr/u32-strcat: New file.
70890         * lib/unistr/u8-strcat.c: New file.
70891         * lib/unistr/u16-strcat.c: New file.
70892         * lib/unistr/u32-strcat.c: New file.
70893         * lib/unistr/u-strcat.h: New file.
70894
70895         * modules/unistr/u8-strchr: New file.
70896         * modules/unistr/u16-strchr: New file.
70897         * modules/unistr/u32-strchr: New file.
70898         * lib/unistr/u8-strchr.c: New file.
70899         * lib/unistr/u16-strchr.c: New file.
70900         * lib/unistr/u32-strchr.c: New file.
70901
70902         * modules/unistr/u8-strcmp: New file.
70903         * modules/unistr/u16-strcmp: New file.
70904         * modules/unistr/u32-strcmp: New file.
70905         * lib/unistr/u8-strcmp.c: New file.
70906         * lib/unistr/u16-strcmp.c: New file.
70907         * lib/unistr/u32-strcmp.c: New file.
70908
70909         * modules/unistr/u8-strcpy: New file.
70910         * modules/unistr/u16-strcpy: New file.
70911         * modules/unistr/u32-strcpy: New file.
70912         * lib/unistr/u8-strcpy.c: New file.
70913         * lib/unistr/u16-strcpy.c: New file.
70914         * lib/unistr/u32-strcpy.c: New file.
70915         * lib/unistr/u-strcpy.h: New file.
70916
70917         * modules/unistr/u8-strcspn: New file.
70918         * modules/unistr/u16-strcspn: New file.
70919         * modules/unistr/u32-strcspn: New file.
70920         * lib/unistr/u8-strcspn.c: New file.
70921         * lib/unistr/u16-strcspn.c: New file.
70922         * lib/unistr/u32-strcspn.c: New file.
70923         * lib/unistr/u-strcspn.h: New file.
70924
70925         * modules/unistr/u8-strdup: New file.
70926         * modules/unistr/u16-strdup: New file.
70927         * modules/unistr/u32-strdup: New file.
70928         * lib/unistr/u8-strdup.c: New file.
70929         * lib/unistr/u16-strdup.c: New file.
70930         * lib/unistr/u32-strdup.c: New file.
70931         * lib/unistr/u-strdup.h: New file.
70932
70933         * modules/unistr/u8-strlen: New file.
70934         * modules/unistr/u16-strlen: New file.
70935         * modules/unistr/u32-strlen: New file.
70936         * lib/unistr/u8-strlen.c: New file.
70937         * lib/unistr/u16-strlen.c: New file.
70938         * lib/unistr/u32-strlen.c: New file.
70939         * lib/unistr/u-strlen.h: New file.
70940
70941         * modules/unistr/u8-strmblen: New file.
70942         * modules/unistr/u16-strmblen: New file.
70943         * modules/unistr/u32-strmblen: New file.
70944         * lib/unistr/u8-strmblen.c: New file.
70945         * lib/unistr/u16-strmblen.c: New file.
70946         * lib/unistr/u32-strmblen.c: New file.
70947
70948         * modules/unistr/u8-strmbtouc: New file.
70949         * modules/unistr/u16-strmbtouc: New file.
70950         * modules/unistr/u32-strmbtouc: New file.
70951         * lib/unistr/u8-strmbtouc.c: New file.
70952         * lib/unistr/u16-strmbtouc.c: New file.
70953         * lib/unistr/u32-strmbtouc.c: New file.
70954
70955         * modules/unistr/u8-strncat: New file.
70956         * modules/unistr/u16-strncat: New file.
70957         * modules/unistr/u32-strncat: New file.
70958         * lib/unistr/u8-strncat.c: New file.
70959         * lib/unistr/u16-strncat.c: New file.
70960         * lib/unistr/u32-strncat.c: New file.
70961         * lib/unistr/u-strncat.h: New file.
70962
70963         * modules/unistr/u8-strncmp: New file.
70964         * modules/unistr/u16-strncmp: New file.
70965         * modules/unistr/u32-strncmp: New file.
70966         * lib/unistr/u8-strncmp.c: New file.
70967         * lib/unistr/u16-strncmp.c: New file.
70968         * lib/unistr/u32-strncmp.c: New file.
70969
70970         * modules/unistr/u8-strncpy: New file.
70971         * modules/unistr/u16-strncpy: New file.
70972         * modules/unistr/u32-strncpy: New file.
70973         * lib/unistr/u8-strncpy.c: New file.
70974         * lib/unistr/u16-strncpy.c: New file.
70975         * lib/unistr/u32-strncpy.c: New file.
70976         * lib/unistr/u-strncpy.h: New file.
70977
70978         * modules/unistr/u8-strnlen: New file.
70979         * modules/unistr/u16-strnlen: New file.
70980         * modules/unistr/u32-strnlen: New file.
70981         * lib/unistr/u8-strnlen.c: New file.
70982         * lib/unistr/u16-strnlen.c: New file.
70983         * lib/unistr/u32-strnlen.c: New file.
70984         * lib/unistr/u-strnlen.h: New file.
70985
70986         * modules/unistr/u8-strpbrk: New file.
70987         * modules/unistr/u16-strpbrk: New file.
70988         * modules/unistr/u32-strpbrk: New file.
70989         * lib/unistr/u8-strpbrk.c: New file.
70990         * lib/unistr/u16-strpbrk.c: New file.
70991         * lib/unistr/u32-strpbrk.c: New file.
70992         * lib/unistr/u-strpbrk.h: New file.
70993
70994         * modules/unistr/u8-strrchr: New file.
70995         * modules/unistr/u16-strrchr: New file.
70996         * modules/unistr/u32-strrchr: New file.
70997         * lib/unistr/u8-strrchr.c: New file.
70998         * lib/unistr/u16-strrchr.c: New file.
70999         * lib/unistr/u32-strrchr.c: New file.
71000
71001         * modules/unistr/u8-strspn: New file.
71002         * modules/unistr/u16-strspn: New file.
71003         * modules/unistr/u32-strspn: New file.
71004         * lib/unistr/u8-strspn.c: New file.
71005         * lib/unistr/u16-strspn.c: New file.
71006         * lib/unistr/u32-strspn.c: New file.
71007         * lib/unistr/u-strspn.h: New file.
71008
71009         * modules/unistr/u8-strstr: New file.
71010         * modules/unistr/u16-strstr: New file.
71011         * modules/unistr/u32-strstr: New file.
71012         * lib/unistr/u8-strstr.c: New file.
71013         * lib/unistr/u16-strstr.c: New file.
71014         * lib/unistr/u32-strstr.c: New file.
71015         * lib/unistr/u-strstr.h: New file.
71016
71017         * modules/unistr/u8-strtok: New file.
71018         * modules/unistr/u16-strtok: New file.
71019         * modules/unistr/u32-strtok: New file.
71020         * lib/unistr/u8-strtok.c: New file.
71021         * lib/unistr/u16-strtok.c: New file.
71022         * lib/unistr/u32-strtok.c: New file.
71023         * lib/unistr/u-strtok.h: New file.
71024
71025         * modules/unistr/u8-uctomb: New file.
71026         * modules/unistr/u16-uctomb: New file.
71027         * modules/unistr/u32-uctomb: New file.
71028         * lib/unistr/u8-uctomb.c: New file.
71029         * lib/unistr/u16-uctomb.c: New file.
71030         * lib/unistr/u32-uctomb.c: New file.
71031
71032         * MODULES.html.sh (Unicode string functions): Add the new modules.
71033
71034 2007-01-08  Bruno Haible  <bruno@clisp.org>
71035
71036         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
71037         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
71038         subdirectories.
71039
71040 2007-01-08  Karl Berry  <karl@gnu.org>
71041
71042         * doc/error.texi: mention that main() fns must set program_name
71043         when progname is used.
71044
71045 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
71046
71047         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
71048         WCTYPE_H is empty, for the benefit of builds from non-distclean
71049         directories.  Problem reported by Eric Blake in
71050         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
71051
71052 2007-01-08  Bruno Haible  <bruno@clisp.org>
71053
71054         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
71055         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
71056         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
71057         PROVIDE_CANONICALIZE_FILENAME_MODE.
71058         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
71059
71060 2007-01-08  Bruno Haible  <bruno@clisp.org>
71061
71062         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
71063         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
71064         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
71065         * lib/fts.c: Likewise.
71066         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
71067
71068 2006-12-25  Bruno Haible  <bruno@clisp.org>
71069
71070         * modules/utf8-ucs4-safe: New file.
71071         * lib/utf8-ucs4-safe.h: New file.
71072         * lib/unistr/utf8-ucs4-safe.c: New file.
71073
71074         * modules/utf16-ucs4-safe: New file.
71075         * lib/utf16-ucs4-safe.h: New file.
71076         * lib/unistr/utf16-ucs4-safe.c: New file.
71077
71078         * MODULES.html.sh (Unicode string functions): Add the new modules.
71079
71080 2007-01-08  Bruno Haible  <bruno@clisp.org>
71081
71082         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
71083         (Depends-on): Add unitypes.
71084         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
71085         (u8_mbtouc_aux): Move out to separate file.
71086         (u8_mbtouc): Use ucs4_t, uint8_t types.
71087         * lib/unistr/utf8-ucs4.c: New file.
71088
71089         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
71090         (Depends-on): Add unitypes.
71091         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
71092         (u16_mbtouc_aux): Move out to separate file.
71093         (u16_mbtouc): Use ucs4_t, uint16_t types.
71094         * lib/unistr/utf16-ucs4.c: New file.
71095
71096         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
71097         (Depends-on): Add unitypes.
71098         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
71099         (u8_uctomb_aux): Move out to separate file.
71100         (u8_uctomb): Use ucs4_t, uint8_t types.
71101         * lib/unistr/ucs4-utf8.c: New file.
71102
71103         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
71104         (Depends-on): Add unitypes.
71105         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
71106         (u16_uctomb_aux): Move out to separate file.
71107         (u16_uctomb): Use ucs4_t, uint16_t types.
71108         * lib/unistr/ucs4-utf16.c: New file.
71109
71110 2006-12-25  Bruno Haible  <bruno@clisp.org>
71111
71112         * modules/unitypes: New file.
71113         * lib/unitypes.h: New file.
71114         * MODULES.html.sh (func_all_modules): New section "Unicode string
71115         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
71116         this section. Add unitypes.
71117
71118 2007-01-08  Bruno Haible  <bruno@clisp.org>
71119
71120         Avoid variable names that conflict with those from libtool.
71121         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
71122         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
71123         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
71124         library_names_spec to acl_library_names_spec, hardcode_* to
71125         acl_hardcode_*.
71126         Reported by Ralf Wildenhues.
71127
71128 2007-01-08  Bruno Haible  <bruno@clisp.org>
71129
71130         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
71131         definition.
71132         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
71133         definition.
71134         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
71135         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
71136         definition.
71137         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
71138         definition.
71139         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
71140         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
71141         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
71142         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
71143         definition.
71144         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
71145         definition.
71146         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
71147         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
71148         GC_USE_<algorithm>.
71149         * lib/gc-libgcrypt.c: Likewise.
71150         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
71151         * modules/gc-arctwo (configure.ac): Likewise.
71152         * modules/gc-des (configure.ac): Likewise.
71153         * modules/gc-hmac-md5 (configure.ac): Likewise.
71154         * modules/gc-hmac-sha1 (configure.ac): Likewise.
71155         * modules/gc-md2 (configure.ac): Likewise.
71156         * modules/gc-md4 (configure.ac): Likewise.
71157         * modules/gc-md5 (configure.ac): Likewise.
71158         * modules/gc-random (configure.ac): Likewise.
71159         * modules/gc-rijndael (configure.ac): Likewise.
71160         * modules/gc-sha1 (configure.ac): Likewise.
71161
71162 2007-01-08  Bruno Haible  <bruno@clisp.org>
71163
71164         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
71165         macro definition.
71166         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
71167         definition.
71168         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
71169         definition.
71170         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
71171         * modules/fcntl-safer (configure.ac): Likewise.
71172         * modules/fopen-safer (configure.ac): Likewise.
71173         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
71174         GNULIB_FWRITEERROR macro definition.
71175
71176 2007-01-08  Bruno Haible  <bruno@clisp.org>
71177
71178         * m4/gnulib-common.m4: New file.
71179         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
71180         (func_get_filelist): Add m4/gnulib-common.m4.
71181
71182 2007-01-08  Bruno Haible  <bruno@clisp.org>
71183
71184         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
71185         command.
71186
71187 2007-01-08  Jim Meyering  <jim@meyering.net>
71188
71189         Use a more robust test for a "can't happen" condition.
71190         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
71191         narrowed the st_size value.  Presuming the "can't happen" condition
71192         is true, that narrowing could conceivably convert an invalid st_size
71193         value into a valid one.  Instead, use a change based on Matthew
71194         Woehlke's original patch.
71195
71196         Slight readability improvement: use an assert-like macro
71197         in place of literal "abort ()" uses.
71198         * lib/fts.c (fts_assert): Define.
71199         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
71200         Use this macro instead of a bare 'abort'.
71201
71202 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
71203
71204         Don't worry about using IRIX 5.3's wctype.h broken definitions;
71205         simply work around them.
71206         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
71207         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
71208         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
71209         declaring.
71210         Don't bother to define as macros, since the standard doesn't require it.
71211         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
71212         longer worry about IRIX 5.3.
71213         (HAVE_WCTYPE_CTMP_BUG): Remove.
71214
71215 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
71216
71217         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
71218         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
71219         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
71220         Problems reported by Georg Schwarz for IRIX 5.3.
71221
71222         * gnulib-tool (autoconf_minversion): Take the maximum version number
71223         found, not the minimum.  Problem reported by James Youngman.
71224
71225 2007-01-03  Karl Berry  <karl@gnu.org>
71226
71227         * doc/error.texi: new file, explaining interaction with progname.
71228         * doc/gnulib.texi: include it.  Update copyright.
71229
71230 2007-01-03  Simon Josefsson  <simon@josefsson.org>
71231
71232         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
71233         AC_CANONICAL_HOST, to improve autobuild outputs.
71234
71235 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
71236             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
71237
71238         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
71239         sockets, server sockets, and other file descriptors.  Count errors
71240         to compute the return value.  Reorder the code a bit to be easier
71241         to follow.  Don't set event bits that were not requested (except
71242         POLLERR and POLLHUP).
71243
71244 2007-01-01  Bruno Haible  <bruno@clisp.org>
71245
71246         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
71247
71248 2007-01-03  Jim Meyering  <jim@meyering.net>
71249
71250         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
71251
71252 2007-01-02  Bruno Haible  <bruno@clisp.org>
71253
71254         * modules/settime (Include): Require timespec.h.
71255         * modules/nanosleep (Include): Likewise.
71256
71257 2007-01-01  Bruno Haible  <bruno@clisp.org>
71258
71259         * gnulib-tool (func_emit_copyright_notice): Bump year.
71260         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
71261
71262 2007-01-01  Bruno Haible  <bruno@clisp.org>
71263
71264         Improve support for OpenBSD.
71265         * build-aux/config.rpath (libname_spec): Export.
71266         (library_names_spec): New variable. Export.
71267         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
71268         library_names_spec from the config.rpath output. Locate shared library
71269         through the name pattern in library_names_spec.
71270
71271 2007-01-01  Eric Blake  <ebb9@byu.net>
71272
71273         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
71274
71275 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
71276
71277         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
71278         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
71279         assume the C locale, and avoid an "eval" that could cause trouble.
71280         Problem with SORT reported by Bob Proulx.
71281
71282         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
71283         Define.  Trivial patch from Henning Nielsen Lund, originally
71284         sent to bug-grep@gnu.org today.
71285
71286 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
71287
71288         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
71289         struct stat.  Problem reported by Henning Nielsen Lund.
71290         * lib/acl.c: Include acl.h first, to check interface.  Don't
71291         bother to include sys/types.h and sys/stat.h again.
71292
71293 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
71294
71295         Import the following change from libc; problem reported by
71296         Sven Verdoolaege.
71297
71298         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
71299
71300         [BZ #1373]
71301         * lib/argp.h: Remove __NTH for __argp_usage inline function.
71302
71303 2006-12-28  Jim Meyering  <jim@meyering.net>
71304
71305         * build-aux/announce-gen: Do not assume that the package
71306         builds any of tar.gz, tar.bz2, and .xdelta files.
71307         Suggestion from Simon Josefsson.
71308
71309 2006-12-28  Simon Josefsson  <simon@josefsson.org>
71310
71311         * modules/announce-gen: New file.
71312
71313 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
71314
71315         * lib/mbchar.h: Just include <wctype.h>; the wctype module
71316         handles its gotchas now.
71317         * lib/mbswidth.c: Likewise.
71318         * lib/wcwidth.h: Likewise.
71319         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
71320         and iswcntrl; the wctype module does this stuff now.
71321         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
71322         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
71323         * modules/mbchar (Depends-on): Add wctype.
71324         * modules/mbswidth (Depends-on): Likewise.
71325         * modules/wcwidth (Depends-on): Likewise.
71326
71327 2006-12-27  Eric Blake  <ebb9@byu.net>
71328
71329         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
71330         module uses more than what <wctype.h> is required to provide.
71331
71332 2006-12-26  Eric Blake  <ebb9@byu.net>
71333
71334         * gnulib-tool (sed_extract_prog): Avoid space-tab.
71335
71336 2006-12-26  Eric Blake  <ebb9@byu.net>
71337
71338         * modules/absolute-header: New module.
71339         * modules/fcntl (Depends-on): Depend on it.
71340         * modules/inttypes (Depends-on): Likewise.
71341         * modules/stdint (Depends-on): Likewise.
71342         * modules/sys_stat (Depends-on): Likewise.
71343         * modules/wctype (Depends-on): Likewise.
71344         * MODULES.html.sh (Support for building libraries and
71345         executables): Document it.
71346
71347 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
71348
71349         * gnulib-tool (SED): Remove, undoing previous change.
71350         The problem was that it broke coreutils on Solaris, because
71351         "sed --posix" leaked into a makefile.
71352         (sed): New alias, if 'alias' and GNU sed.
71353
71354 2006-12-24  Jim Meyering  <jim@meyering.net>
71355
71356         Work around an fchownat bug in glibc-2.4:
71357         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
71358         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
71359         in spite of the -P option.
71360         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
71361         New macros.
71362         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
71363         * modules/openat (Files): Add lib/fchownat.c.
71364         * lib/openat.c (fchownat): Don't define here.  Move to...
71365         * lib/fchownat.c: ...this new file.
71366
71367 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
71368
71369         Fix bug reported by Bruno Haible in
71370         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
71371         where quotearg.c didn't compile on Mac OS X 10.2 because it
71372         lacks <wchar.h> and wint_t.
71373         * lib/wctype_.h (__wctype_wint_t): New type.
71374         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
71375         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
71376         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
71377         Arg is now of type __wctype_wint_t, not wint_t.
71378         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
71379         substitute HAVE_WINT_T.
71380         * modules/wctype (Files): Add m4/wint_t.m4.
71381         (wctype.h): Substitute HAVE_WINT_T.
71382
71383 2006-12-23  Bruno Haible  <bruno@clisp.org>
71384
71385         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
71386
71387 2006-12-23  Bruno Haible  <bruno@clisp.org>
71388
71389         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
71390         S_ISLNK.
71391         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
71392         mingw.
71393
71394 2006-12-22  Bruno Haible  <bruno@clisp.org>
71395
71396         * lib/copy-file.c: Include acl.h.
71397         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
71398         Close the file descriptors only after being done with copy_acl.
71399         * modules/copy-file (Depends-on): Add acl.
71400
71401 2006-12-22  Bruno Haible  <bruno@clisp.org>
71402
71403         * gnulib-tool (SED): New variable.
71404         Use $SED instead of sed everywhere.
71405
71406 2006-12-22  Bruno Haible  <bruno@clisp.org>
71407
71408         * modules/no-c++: New file.
71409         * m4/no-c++.m4: New file.
71410         * MODULES.html.sh (Support for building libraries and executables):
71411         Add no-c++.
71412
71413 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
71414
71415         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
71416         Include <limits.h>, and use its INT_MAX to rewrite the
71417         j loop so that it does not overflow 'int'.  Problem reported by
71418         Ralf Wildenhues in
71419         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
71420         Play it safe by shifting left by 1 rather than multiplying by 2,
71421         as GCC is less likely to optimize this away when the value
71422         is signed (when it assumes overflow leads to undefined behavior).
71423         Also, don't assume time_t uses two's complement.
71424
71425 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
71426
71427         * MODULES.html.sh: New module wctype.
71428         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
71429         * lib/fnmatch.c: Don't bother to include <wchar.h> before
71430         <wctype.h>, since the new wctype module should fix this.
71431         * lib/quotearg.c: Include <wctype.h> unconditionally, since
71432         the wctype module should arrange for it.
71433         * lib/regex_internal.h: Likewise.
71434         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
71435         since the wctype module should handle this now.
71436         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
71437         * modules/fnmatch (Depends-on): Add wctype.
71438         * modules/quotearg (Depends-on): Likewise.
71439         * modules/regex (Depends-on): Likewise.
71440
71441 2006-12-19  Bruno Haible  <bruno@clisp.org>
71442
71443         * lib/strdup.h [C++]: Wrap definitions in extern "C".
71444         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
71445
71446 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71447
71448         * modules/savewd (Depends-on): Fix dependency on fcntl.
71449
71450 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
71451
71452         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
71453         conforms to C99, rather than relying on the user's environment
71454         setting of STDINT_H.
71455
71456 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
71457         and Eric Blake  <ebb9@byu.net>
71458
71459         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
71460         This is more consistent with the other defines here.
71461         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
71462         Port to z/OS.  Problem reported by Paul Gilmartin.
71463         Change local vars to use gl_ prefix rather than ac_.
71464         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
71465         with other defines.
71466         * modules/double-slash-root: New module.
71467         * modules/dirname (Files): Remove m4/double-slash-root.m4.
71468         (Depends-on): Add double-slash-root.
71469         * MODULES.html.sh (File system functions): Mention new module.
71470
71471 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
71472
71473         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
71474         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
71475         This is for the benefit of gzip, which doesn't do i18n.
71476
71477 2006-12-12  Jim Meyering  <jim@meyering.net>
71478
71479         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
71480         Reported by Andreas Schwab <schwab@suse.de>.
71481
71482 2006-12-12  Bruno Haible  <bruno@clisp.org>
71483
71484         Merge these changes.
71485         2006-09-05  Bruno Haible  <bruno@clisp.org>
71486         * lib/iconvme.c (iconv_string): No need to save and restore errno when
71487         iconv_alloc succeeded.
71488         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
71489         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
71490         test for " && dest " at the end - dest is always != NULL there. Call
71491         iconv with 4xNULL arguments initially, to reset the state. Call iconv
71492         with 2xNULL arguments, also to flush the state storage. Handle the
71493         IRIX iconv behaviour. Realloc the final result, to throw away unused
71494         memory.
71495
71496 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
71497
71498         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
71499         and fchmodat unconditionally, since glibc 2.4 has them.
71500         Problem reported by Arkadiusz Miskiewicz.
71501
71502 2006-12-10  Bruno Haible  <bruno@clisp.org>
71503
71504         * gnulib-tool (func_import): Show the include files only for those
71505         modules that are copied and specified.
71506         Reported by Karl Berry.
71507
71508 2006-12-08  Jim Meyering  <jim@meyering.net>
71509
71510         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
71511         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
71512
71513         * build-aux/announce-gen: Add two new options, both optional:
71514         --bootstrap-tools=TOOL_LIST
71515               a comma-separated list of tools, e.g.,
71516               autoconf,automake,bison,gnulib
71517         --gnulib-snapshot-date=DATE
71518               if gnulib is in the bootstrap tool list,
71519               then report this as the snapshot date.
71520               If not specified, use the current date/time.
71521               If you specify a date here, be sure it's UTC.
71522
71523 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71524
71525         * tests/test-argp-2.sh: Fix test to match actual output.
71526         (func_compare): Fix sed script to be portable.
71527
71528 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
71529
71530         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
71531         workaround for this case.  It is not autoconfigured now; offhand
71532         it's hard to see how to autoconfigure it.
71533
71534 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
71535
71536         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
71537         a directory that is about to be chowned.  Such a directory's
71538         initial file permissions should permit the owner only and this
71539         should not be changed until after the chown, since the group and
71540         other bits would be incorrect if they granted permission before
71541         the chown.
71542
71543         Fix porting problem for iswctype reported by Georg Schwarz in:
71544         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
71545         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
71546         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
71547         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
71548         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
71549
71550 2006-12-03  Jim Meyering  <jim@meyering.net>
71551
71552         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
71553         p->fts_statp may not yet be defined.
71554         (fts_read): Instead, set it in the caller, once p->fts_statp is
71555         sure to be defined, and corresponds to a top-level directory.
71556         This bug made du -x fail.  Here's the coreutils test case:
71557         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
71558         Reported by Mike Frysinger.
71559
71560 2006-12-01  Jim Meyering  <jim@meyering.net>
71561
71562         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
71563         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
71564         Reported by Simon Josefsson.
71565
71566 2006-11-30  Jim Meyering  <jim@meyering.net>
71567
71568         * m4/warning.m4: Use the all-permissive copyright notice
71569         recommended by RMS (rather than LGPL).
71570         * m4/vararrays.m4: Likewise.
71571         * m4/flexmember.m4: Likewise.
71572
71573 2006-11-29  Bruno Haible  <bruno@clisp.org>
71574
71575         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
71576         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
71577         using +=.
71578         Reported by Simon Josefsson <simon@josefsson.org>.
71579
71580 2006-11-28  James Youngman <jay@gnu.org>
71581
71582         * README: Advise users that they might find the bug-gnulib@gnu.org
71583         and autotools-announce@gnu.org mailing lists useful.
71584
71585 2006-11-28  Bruno Haible  <bruno@clisp.org>
71586
71587         * m4/ptrdiff_max.m4: Remove file.
71588
71589 2006-11-21  Bruno Haible  <bruno@clisp.org>
71590
71591         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
71592         _AC_COMPUTE_INT.
71593         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
71594         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
71595         _AC_COMPUTE_INT.
71596         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
71597         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
71598         _AC_COMPUTE_INT.
71599         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
71600
71601 2006-11-28  Jim Meyering  <jim@meyering.net>
71602
71603         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
71604         warning from "gcc -Wshadow" about shadowing the builtin.
71605
71606 2006-11-27  Bruno Haible  <bruno@clisp.org>
71607
71608         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
71609         _AC_COMPUTE_INT.
71610         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
71611
71612 2006-11-27  Bruno Haible  <bruno@clisp.org>
71613             Paul Eggert  <eggert@cs.ucla.edu>
71614
71615         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
71616
71617 2006-11-26  Bruno Haible  <bruno@clisp.org>
71618
71619         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
71620         noinst_LTLIBRARIES.
71621
71622 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
71623             Bruno Haible  <bruno@clisp.org>
71624
71625         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
71626         if compiling with "gcc -ansi".
71627
71628 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
71629
71630         Fix some incompatibilities with gcc -ansi -pedantic.
71631         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
71632         if compiling pedantically with GCC, unless it's C99 or later.
71633         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
71634         it mishandles gcc -ansi -pedantic as well.
71635         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
71636         if gcc -pedantic.
71637         * lib/regexec.c (check_node_accept_bytes): Don't use auto
71638         initializers for struct if -pedantic, unless it's C99 or later.
71639
71640 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
71641
71642         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
71643         Don't close an fd more than once. Identical atimes indicate
71644         success, not failure.
71645
71646 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
71647
71648         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
71649
71650 2006-11-23  Jim Meyering  <jim@meyering.net>
71651
71652         * build-aux/announce-gen: New file.  From coreutils.
71653
71654 2006-11-22  Jim Meyering  <jim@meyering.net>
71655
71656         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
71657         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
71658         (fts_read): Use a temporary to narrow the overused st_size member
71659         before using it in a switch statement.  Reported by Matthew Woehlke.
71660
71661         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
71662         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
71663
71664 2006-11-20  Bruno Haible  <bruno@clisp.org>
71665
71666         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
71667         changequote instead of pairs of brackets.
71668         Reported by Andreas Schwab <schwab@suse.de>.
71669
71670 2006-11-21  Jim Meyering  <jim@meyering.net>
71671
71672         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
71673         so as to remain compatible with older compilers.
71674         Patch from Michael Deutschmann.
71675
71676 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
71677
71678         * MODULES.html.sh (File system functions): Add openat.
71679
71680         * lib/openat.h (rpl_fstatat): New macro, if
71681         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
71682         (fstatat): Define to rpl_fstatat under the same conditions,
71683         unless COMPILING_FSTATAT.
71684         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
71685         seems to have the bug.
71686         * lib/fstatat.c: New file.
71687         * modules/openat (Files): Add it.
71688
71689 2006-11-20  Bruno Haible  <bruno@clisp.org>
71690
71691         * Makefile: New file.
71692
71693 2006-11-20  Jim Meyering  <jim@meyering.net>
71694
71695         The beginnings of syntax-related checks for gnulib.
71696         * lib/Makefile: New file.
71697         * lib/t-idcache: New script.  Ensure that the two halves of
71698         idcache.c stay in sync.
71699
71700         * lib/idcache.c: Adjust comments in user- and group- portions to
71701         be more accurate, and to be consistent with one another.
71702
71703 2006-11-20  Jim Meyering  <jim@meyering.net>
71704
71705         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
71706         continue using the flexible array member (thus, this module performs
71707         half as many malloc calls), with the addition that...
71708         (getgroup, getuser): Consistently record a non-match via an empty
71709         "name" string, and map an empty string match to a NULL return value.
71710         * modules/idcache (Depends-on): Re-add flexmember.
71711
71712         * lib/idcache.c (getuser): Remove all uses of the register keyword.
71713         (getuidbyname, getgroup, getgidbyname): Likewise.
71714
71715         Use cleaner syntax: NULL rather than 0.
71716         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
71717
71718 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
71719
71720         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
71721         It mishandled the case where the group was missing.
71722         Problem reported by Greg Schafer.
71723         * modules/idcache: Likewise.
71724
71725 2006-11-18  Jim Meyering  <jim@meyering.net>
71726
71727         * check-module (%exempt_header): Add exception for some
71728         conditionally-included headers.
71729
71730         * modules/i-ring (Depends-on): Add verify.
71731         (License): Change to LGPL.
71732
71733 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
71734
71735         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
71736         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
71737         and inttostr.h.  Use snprintf rather than uinttostr, so that
71738         LGPLed code doesn't depend on GPLed.
71739
71740 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
71741
71742         * modules/inline (License): Change from GPL to LGPL.
71743
71744 2006-11-17  Jim Meyering  <jim@meyering.net>
71745
71746         * modules/d-type (License): Switch to LGPL.
71747
71748 2006-11-15  Bruno Haible  <bruno@clisp.org>
71749
71750         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
71751
71752 2006-11-15  Eric Blake  <ebb9@byu.net>
71753
71754         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
71755         the module dependency.
71756
71757 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71758             Bruno Haible  <bruno@clisp.org>
71759
71760         * gnulib-tool (func_create_testdir): Add license consistency check.
71761
71762 2006-11-15  Eric Blake  <ebb9@byu.net>
71763
71764         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
71765         random "(cached)" in configure output.
71766
71767 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71768
71769         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
71770         test for conforming inttypes.h is both announced and cached.
71771
71772         * MODULES.html.sh (seen_modules, seen_files): New variables.
71773         (func_module): Rewrite to use a few less gnulib-tool and sed
71774         invocations.  Avoid a couple of quadratic algorithms for ...
71775         (missed_modules, missed_files): ... these, with ...
71776         (func_append, func_tmpdir): ... these new functions, from
71777         gnulib-tool.  Analogously, install traps for cleanup.
71778
71779         * tests/test-gc.c (main): Remove unused variables.
71780         * tests/test-read-file.c: Include stdlib.h, for 'free'.
71781
71782 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
71783
71784         * modules/inttostr (License): Change to LGPL.
71785
71786 2006-11-14  Eric Blake  <ebb9@byu.net>
71787
71788         * modules/tempname (License): Change to LGPL.
71789
71790 2006-11-14  Eric Blake  <ebb9@byu.net>
71791
71792         * doc/functions.texi (Function Portability): *printf functions on
71793         Cygwin now understand all POSIX size specifiers.
71794
71795 2006-11-14  Bruno Haible  <bruno@clisp.org>
71796
71797         * modules/c-ctype (License): Change to LGPL.
71798
71799 2006-11-12  Bruno Haible  <bruno@clisp.org>
71800
71801         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
71802         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
71803         for GNOME libraries, for which the include files are installed in
71804         subdirectories of $prefix/include.
71805
71806 2006-11-12  Bruno Haible  <bruno@clisp.org>
71807
71808         * m4/lib-link.m4: Require at least autoconf-2.54.
71809         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
71810         name to underscores for the --with option.
71811
71812 2006-11-13  Bruno Haible  <bruno@clisp.org>
71813
71814         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
71815         the tests directory.
71816         Reported by Ralf Wildenhues.
71817
71818 2006-11-13  Bruno Haible  <bruno@clisp.org>
71819
71820         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
71821         (func_emit_initmacro_end): Undo the override here.
71822         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
71823         Works around the famous automake error in coreutils.
71824
71825 2006-11-13  Eric Blake  <ebb9@byu.net>
71826
71827         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
71828         element, not its node.
71829
71830 2006-11-12  Bruno Haible  <bruno@clisp.org>
71831
71832         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
71833         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
71834
71835 2006-11-12  Bruno Haible  <bruno@clisp.org>
71836
71837         * gnulib-tool: New option --local-symlink.
71838         (func_usage): Document it.
71839         (lsymbolic): New variable.
71840         (func_import, func_create_testdir): If --symlink was not specified,
71841         test whether --local-symlink was specified and the file comes from
71842         the local_gnulib_dir.
71843
71844 2006-11-12  Bruno Haible  <bruno@clisp.org>
71845
71846         * gnulib-tool (func_ln): New function.
71847         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
71848
71849 2006-11-12  Bruno Haible  <bruno@clisp.org>
71850
71851         Finish support for source files in subdirectories.
71852         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
71853         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
71854         AUTOMAKE_OPTIONS.
71855         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
71856
71857 2006-11-12  Bruno Haible  <bruno@clisp.org>
71858
71859         * gnulib-tool (func_get_automake_snippet): Synthesize also an
71860         EXTRA_lib_SOURCES augmentation.
71861         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
71862
71863 2006-11-12  Jim Meyering  <jim@meyering.net>
71864
71865         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
71866         file descriptors.  This also averts a failure on systems with
71867         native openat support when a traversed directory lacks "x" access.
71868         * lib/fts_.h: Include "i-ring.h"
71869         (struct FTS) [fts_fd_ring]: New member.
71870         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
71871         (FCHDIR): Add parentheses.
71872         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
71873         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
71874         When descending, rather than simply closing the previous
71875         fts_cwd_fd value, push that file descriptor onto the ring.
71876         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
71877         (fts_open): Initialize the new fd_ring member.
71878         (fts_close): Clear the ring.
71879         (fts_safe_changedir): When possible, use our new fd_ring to skip
71880         the diropen and fstat and dev/ino comparison that would normally
71881         accompany a virtual `chdir ("..")'.
71882
71883         * modules/fts (Depends-on): Add i-ring.
71884         * modules/i-ring: New module.
71885         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
71886         * m4/i-ring.m4: New file.
71887
71888 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71889
71890         * gnulib-tool (func_create_testdir): Fix replacement of
71891         `build-aux' in configure.ac.  Run autotools in gltests
71892         subdirectory.
71893         (func_create_testdir, func_create_megatestdir, test): There is
71894         no need for '--force' in most autotool invocations in a new
71895         tree.  Actually fail the whole test if any of the tools, or the
71896         configure or make stages fail.
71897
71898         Sync from Automake.
71899         * build-aux/gnupload: Revert last change.  Add pointer to upload
71900         instructions of the GNU Maintenance Instructions.
71901         Suggestion by Karl Berry.
71902
71903 2006-11-10  Jim Meyering  <jim@meyering.net>
71904
71905         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
71906
71907 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
71908
71909         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
71910         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
71911         (bind_textdomain_codeset) [! ENABLE_NLS]:
71912         Evaluate all the arguments.  That way, callers get compatible behavior
71913         if the arguments have side effects.  Also, it avoids some GCC
71914         diagnostics in some cases; Joel E. Denny reported problems when Bison
71915         was configured with --enable-gcc-warnigs.
71916
71917 2006-11-10  Jim Meyering  <jim@meyering.net>
71918
71919         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
71920         relevant options in CFLAGS (like -O, -fno-inline) are taken into
71921         account.
71922
71923 2006-11-10  Jim Meyering  <jim@meyering.net>
71924
71925         * modules/inline: New file/module.
71926         * modules/xalloc (Files): Remove m4/inline.m4.
71927         (Depends-on): Add inline, instead.
71928         * modules/oset: Likewise.
71929         * modules/list: Likewise.
71930
71931 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
71932
71933         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
71934         Problem reported by Matthew Woehlke.
71935
71936 2006-11-09  Bruno Haible  <bruno@clisp.org>
71937
71938         * lib/tempname.c (gen_tempname): Remove variant that invokes
71939         __gen_tempname.
71940         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
71941         __gen_tempname.
71942
71943 2006-11-08  Bruno Haible  <bruno@clisp.org>
71944
71945         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
71946         to 'yes' instead of 'cross-compiling'.
71947
71948 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
71949
71950         * lib/quotearg.h (quotearg_free): New decl.
71951         * lib/quotearg.c (quotearg_free): New function.
71952         (slot0, nslots, slotvec0, slotvec):
71953         Now file-scope so that quotearg_free can get at them.
71954
71955 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71956
71957         Sync from Automake.
71958         * build-aux/gnupload: Add missing 'gnu' to example URL.
71959         Report by Karl Berry.
71960
71961 2006-11-08  Bruno Haible  <bruno@clisp.org>
71962
71963         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
71964         Suggested by Paul Eggert.
71965
71966 2006-11-08  Jim Meyering  <jim@meyering.net>
71967
71968         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
71969         It's already included if !_LIBC.
71970         (fts_safe_changedir): Add a comment.
71971
71972 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
71973
71974         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
71975         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
71976         Matthew Woehlke.
71977
71978         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
71979         definitions up, to avoid colliding with change below.
71980         (static_inline) [HAVE_INLINE]: New macro.
71981         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
71982         Provide extern decls when !HAVE_INLINE.  Do not define unless
71983         static_inline is defined, either by us or by xmalloc.c.  Use
71984         static_inline rather than static inline.
71985         (XCALLOC): Optimize sizeof(T) = 1 case.
71986         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
71987
71988 2006-11-07  Bruno Haible  <bruno@clisp.org>
71989
71990         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
71991         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
71992         AC_C_INLINE.
71993         * modules/xalloc (Files): Add m4/inline.m4.
71994
71995 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71996
71997         * README: Fix typo.
71998         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
71999         (Miscellanous Notes): ...from this.
72000
72001 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
72002
72003         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
72004         Mention that offsetof should be used instead of sizeof.
72005         From Bruno Haible.
72006
72007 2006-11-07  Bruno Haible  <bruno@clisp.org>
72008
72009         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
72010
72011 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
72012
72013         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
72014         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
72015         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
72016         (gl_tree_add_before, gl_tree_add_after):
72017         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
72018         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
72019         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
72020         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
72021         (gl_linked_add_after, gl_linked_add_at): Likewise.
72022         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
72023         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
72024         (gl_tree_add_before, gl_tree_add_after): Likewise.
72025         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
72026         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
72027         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
72028
72029 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72030
72031         * lib/gl_oset.h: Use C comment style, not C++ comment style.
72032
72033 2006-11-06  Bruno Haible  <bruno@clisp.org>
72034
72035         * m4/inline.m4: New file.
72036         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
72037         * modules/list (Files): Add m4/inline.m4.
72038         * modules/oset (Files): Likewise.
72039
72040 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
72041
72042         * lib/idcache.c: Include <stddef.h>, for offsetof.
72043         (struct userid.name): Change from char * to a flexible array member.
72044         All uses changed.
72045         * modules/idcache (Depends-on): Add flexmember.
72046
72047         * MODULES.html.sh (Core language properties): New module flexmember.
72048         * modules/flexmember, m4/flexmember.m4: New files.
72049
72050         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
72051         inline functions that are identical with the old xnmalloc_inline,
72052         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
72053         that we can avoid some unnecessary integer multiplications and
72054         divisions in the common case where the element size is known at
72055         compile time.
72056         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
72057         needed.
72058         (xnboundedmalloc): Remove.
72059         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
72060         arguments, for consistency with rest of this header.
72061         (xcharalloc): Rewrite using XNMALLOC.
72062         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
72063         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
72064         versions have been moved to lib/xalloc.h and renamed to be the
72065         non-*_inline versions.
72066         (xmalloc, xrealloc): Implement without reference to the xnmalloc
72067         and xnrealloc functions, since those functions are now inline and
72068         now call us.
72069         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
72070         renaming described above.
72071         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
72072         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
72073         captures the dependency in AC_C_INLINE.
72074
72075         New module canonicalize-lgpl, proposed by Charles Wilson in
72076         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
72077         with a few small changes afterwards.
72078         * MODULES.html.sh (File system functions): New module
72079         canonicalize-lgpl.
72080         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
72081         and canonicalize_file_name.
72082         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
72083         * modules/canonicalize-lgpl: New files.
72084
72085 2006-11-05  Bruno Haible  <bruno@clisp.org>
72086
72087         * gnulib-tool (func_import, func_create_testdir): Create directories
72088         also for files in subdirectories of lib/.
72089
72090 2006-11-05  Bruno Haible  <bruno@clisp.org>
72091
72092         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
72093         ANSI C compliant.
72094
72095 2006-11-03  Bruno Haible  <bruno@clisp.org>
72096
72097         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
72098         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
72099         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
72100         (xnboundedmalloc): New inline function.
72101         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
72102         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
72103         xmalloc.
72104         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
72105         xmalloc.
72106         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
72107         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
72108         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
72109         xmalloc.
72110         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
72111         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
72112         xmalloc.
72113         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
72114         gl_tree_add_after): Use XMALLOC instead of xmalloc.
72115         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
72116         xmalloc.
72117         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
72118         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
72119         gl_tree_add_after): Use XMALLOC instead of xmalloc.
72120         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
72121         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
72122         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
72123         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
72124
72125 2006-11-03  Bruno Haible  <bruno@clisp.org>
72126
72127         * lib/c-ctype.h [C++]: Define functions without name mangling.
72128         * lib/fwriteerror.h [C++]: Likewise.
72129         * lib/gcd.h [C++]: Likewise.
72130         * lib/linebreak.h [C++]: Likewise.
72131
72132 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
72133
72134         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
72135         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
72136         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
72137         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
72138         Check for functions and headers just once.
72139         Check for declaration of canonicalize_file_name.
72140         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
72141
72142 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
72143
72144         * gnulib-tool (func_import): Fix typo in actioncmd.
72145
72146 2006-11-02  Bruno Haible  <bruno@clisp.org>
72147
72148         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
72149         newline sequence in the Makefile.am snippet as a space, like "make"
72150         does.
72151         Reported by Roger Persson <perrog@gmail.com>.
72152
72153 2006-11-01  Bruno Haible  <bruno@clisp.org>
72154
72155         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
72156         already declared in <string.h>.
72157         * lib/strcase.h (strncasecmp): Don't declare it if yes.
72158
72159 2006-11-01  Bruno Haible  <bruno@clisp.org>
72160
72161         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
72162         * lib/strcase.h: Include <string.h>.
72163         (strcasecmp): Define to rpl_strcasecmp here.
72164
72165 2006-11-01  Bruno Haible  <bruno@clisp.org>
72166
72167         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
72168
72169 2006-11-01  Eric Blake  <ebb9@byu.net>
72170
72171         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
72172
72173         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
72174
72175 2006-10-29  Bruno Haible  <bruno@clisp.org>
72176
72177         Make it compile in C++ mode.
72178         * lib/full-write.c (full_rw): Add a cast.
72179
72180 2006-11-01  Bruno Haible  <bruno@clisp.org>
72181
72182         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
72183         be POSIX compliant.
72184         Reported by Roger Persson <perrog@gmail.com>.
72185
72186 2006-11-01  Eric Blake  <ebb9@byu.net>
72187
72188         * lib/getopt_.h: Fix comments.
72189
72190 2006-10-31  Eric Blake  <ebb9@byu.net>
72191
72192         * modules/tmpdir (Depends-on): Add sys_stat.
72193         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
72194         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
72195         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
72196         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
72197         tempname.
72198
72199 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
72200
72201         Avoid some C++ diagnostics reported by Bruno Haible.
72202         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
72203         xmalloc.
72204         (quotearg_alloc): Use xcharalloc rather than xmalloc.
72205         (struct slotvec): Move to top level.
72206         (quotearg_n_options): Rewrite to avoid xmalloc.
72207         * lib/xalloc.h (xcharalloc): New function.
72208         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
72209         [defined __cplusplus]: Add function template that provides result
72210         type propagation.  This part of the change is from Bruno Haible.
72211
72212 2006-10-29  Bruno Haible  <bruno@clisp.org>
72213
72214         Make it compile in C++ mode.
72215         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
72216         * lib/strnlen1.c (strnlen1): Cast memchr result.
72217         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
72218         * lib/clean-temp.c (string_equals, string_hash): Add casts.
72219         (create_temp_dir): Rename local variable 'template'.
72220         (compile_csharp_using_sscli): Add cast.
72221         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
72222         * lib/findprog.c (find_in_path): Likewise.
72223         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
72224         * lib/wait-process.c (register_slave_subprocess): Likewise.
72225
72226 2006-10-22  Bruno Haible  <bruno@clisp.org>
72227
72228         * modules/tsearch: New file.
72229         * lib/tsearch.h: New file.
72230         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
72231         * m4/tsearch.m4: New file.
72232         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
72233
72234 2006-10-29  Eric Blake  <ebb9@byu.net>
72235
72236         * lib/arcfour.c: Assume config.h.
72237         * lib/arctwo.c: Likewise.
72238         * lib/base64.c: Likewise.
72239         * lib/check-version.c: Likewise.
72240         * lib/crc.c: Likewise.
72241         * lib/des.c: Likewise.
72242         * lib/gc-gnulib.c: Likewise.
72243         * lib/gc-libgcrypt.c: Likewise.
72244         * lib/gc-pbkdf2-sha1.c: Likewise.
72245         * lib/getaddrinfo.c: Likewise.
72246         * lib/getdelim.c: Likewise.
72247         * lib/getline.c: Likewise.
72248         * lib/hmac-md5.c: Likewise.
72249         * lib/hmac-sha1.c: Likewise.
72250         * lib/iconvme.c: Likewise.
72251         * lib/md2.c: Likewise.
72252         * lib/md4.c: Likewise.
72253         * lib/memxor.c: Likewise.
72254         * lib/read-file.c: Likewise.
72255         * lib/readline.c: Likewise.
72256         * lib/rijndael-alg-fst.c: Likewise.
72257         * lib/rijndael-api-fst.c: Likewise.
72258         * lib/xgetdomainname.c: Likewise.
72259
72260 2006-10-28  Eric Blake  <ebb9@byu.net>
72261
72262         * lib/xstrndup.c: Assume config.h.
72263
72264 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
72265
72266         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
72267         stat-macros.h is now for our own macros, whereas stat_h is for
72268         macros in the <sys/stat.h> name space.
72269         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
72270         (STAT_MACROS_H): Remove.
72271         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
72272         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
72273         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
72274         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
72275         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
72276         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
72277         Move these macros to ...
72278         * lib/stat_.h: here.  Don't include stat-macros.h.
72279         * lib/canonicalize.c: Don't include stat-macros.h.
72280         * lib/chown.c: Likewise.
72281         * lib/euidaccess.c: Likewise.
72282         * lib/file-type.c: Likewise.
72283         * lib/filemode.c: Likewise.
72284         * lib/glob.c: Likewise.
72285         * lib/isapipe.c: Likewise.
72286         * lib/lchown.c: Likewise.
72287         * lib/lstat.c: Likewise.
72288         * lib/mkdir-p.c: Likewise.
72289         * lib/rmdir.c: Likewise.
72290         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
72291         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
72292         unless mkdir isn't declared, to speed up 'configure'.
72293         Always create sys/stat.h, since it's unlikely any real sys/stat.h
72294         would define all the S_* symbols.
72295         * modules/canonicalize (Depends-on):
72296         Depend on sys_stat, not stat-macros.
72297         * modules/chown: Likewise.
72298         * modules/euidaccess: Likewise.
72299         * modules/filemode: Likewise.
72300         * modules/file-type: Likewise.
72301         * modules/glob: Likewise.
72302         * modules/isapipe: Likewise.
72303         * modules/lchown: Likewise.
72304         * modules/lstat: Likewise.
72305         * modules/mkancesdirs: Likewise.
72306         * modules/rmdir: Likewise.
72307         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
72308         * modules/modechange: Likewise.
72309         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
72310         (configure.ac): Remove gl_STAT_MACROS.
72311         * modules/sys_stat (Depends-on): Remove stat-macros.
72312
72313 2006-10-27  Bruno Haible  <bruno@clisp.org>
72314
72315         * m4/signed.m4: Remove file.
72316         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
72317         invocation.
72318         * modules/vasnprintf (Files): Remove m4/signed.m4.
72319
72320 2006-10-27  Bruno Haible  <bruno@clisp.org>
72321
72322         Update to GNU gettext 0.16.
72323         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
72324         m4/inttypes-h.m4, m4/signed.m4.
72325         * m4/gettext.m4: Update to GNU gettext 0.16.
72326         * m4/intl.m4: New file, from GNU gettext.
72327         * m4/intldir.m4: New file, from GNU gettext.
72328         * config/srclist.txt: Update
72329
72330 2006-10-27  Eric Blake  <ebb9@byu.net>
72331
72332         * MODULES.html.sh: Document tempname.
72333         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
72334         dependencies.
72335         (Files): Move lib/tempname.c...
72336         * modules/tempname: ...to this new module.
72337         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
72338         (gl_PREREQ_TEMPNAME): Move...
72339         * m4/tempname.m4: ...to this new file.
72340         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
72341         * modules/sys_stat (Depends-on): Add stat-macros.
72342         * lib/stat_.h (includes): Pick up stat macros.
72343         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
72344         if stat macros are broken.
72345         * lib/tempname.c (includes): No need to include "stat-macros.h".
72346         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
72347         (direxists, __path_search) [!_LIBC]: Don't compile these in
72348         gnulib; the tmpdir module covers that.
72349         * lib/tempname.h: New file.
72350
72351 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
72352
72353         * COPYING: Explain how gnulib-tool converts licence headers.
72354         Almost all wording by Eric Blake.
72355
72356 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
72357
72358         * lib/mbchar.h (is_basic_table): Make read-only.
72359         * lib/mbchar.c (is_basic_table): Likewise.
72360         Reported by John Darrington.
72361
72362 2006-10-25  Bruno Haible  <bruno@clisp.org>
72363
72364         * lib/progname.h (set_program_name): Undefine before defining.
72365
72366 2006-10-25  Bruno Haible  <bruno@clisp.org>
72367
72368         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
72369         false for non-gcc C++ compilers.
72370         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
72371
72372 2006-10-24  Bruno Haible  <bruno@clisp.org>
72373
72374         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
72375         iconv implementations like Irix iconv.
72376
72377 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
72378
72379         * modules/vararrays: New file.
72380         * m4/vararrays.m4: New file, taken from diffutils.
72381         * MODULES.html.sh: New module vararrays.
72382
72383 2006-10-24  Karl Berry  <karl@gnu.org>
72384
72385         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
72386         Don't call GNU Unix.
72387
72388 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72389
72390         * users.txt: Add Libtool.
72391
72392         Sync from Libtool:
72393
72394         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
72395
72396         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
72397         to gnulib's policy of including config.h unconditionally.
72398
72399 2006-10-24  Bruno Haible  <bruno@clisp.org>
72400
72401         * modules/wcwidth (Files): Add m4/wint_t.m4.
72402         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
72403         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
72404
72405 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
72406
72407         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
72408         to pacify GCC with some -W flags enabled.  Problem reported by
72409         Bruno Haible.
72410
72411 2006-10-24  Jim Meyering  <jim@meyering.net>
72412
72413         * MODULES.html.sh: Remove uinttostr.  It's not a module.
72414         Reported by Karl Berry.
72415
72416 2006-10-23  Bruno Haible  <bruno@clisp.org>
72417
72418         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
72419
72420 2006-10-24  Bruno Haible  <bruno@clisp.org>
72421
72422         * lib/gl_list.h: Use C comment style, not C++ comment style.
72423
72424 2006-10-23  Eric Blake  <ebb9@byu.net>
72425
72426         * lib/getaddrinfo.c (includes): Add missing include.
72427
72428 2006-10-23  Bruno Haible  <bruno@clisp.org>
72429             Paul Eggert  <eggert@cs.ucla.edu>
72430
72431         Ability to rename obstack_free.
72432         * lib/obstack.h (__obstack_free): New macro. Declare instead of
72433         obstack_free.
72434         (obstack_free): Invoke the __obstack_free macro.
72435         * lib/obstack.c (obstack_free): Use __obstack_free macro.
72436
72437 2006-10-23  Bruno Haible  <bruno@clisp.org>
72438             Paul Eggert  <eggert@cs.ucla.edu>
72439
72440         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
72441         __argc, __argv from the declaration. (They are defined as macros on
72442         mingw.)
72443
72444 2006-10-22  Bruno Haible  <bruno@clisp.org>
72445
72446         * doc/gnulib-intro.texi: New file.
72447         * doc/gnulib.texi: Include it.
72448
72449 2006-10-21  Bruno Haible  <bruno@clisp.org>
72450
72451         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
72452         "Introduction", "Miscellanous Notes", "Particular Modules".
72453
72454 2006-10-21  Bruno Haible  <bruno@clisp.org>
72455
72456         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72457         Change mostlyclean-local rule to avoid sh syntax error from bash
72458         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
72459
72460 2006-10-23  Jim Meyering  <jim@meyering.net>
72461
72462         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
72463         in place of snprintf.
72464
72465         * modules/inttostr (Files): Add lib/uinttostr.c.
72466         * lib/uinttostr.c (inttostr): New file/function.
72467         * lib/inttostr.h (uinttostr): Declare.
72468         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
72469         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
72470         Add uinttostr.
72471         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
72472
72473 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
72474
72475         * lib/canonicalize.c (ELOOP): Define if not already defined.
72476         Problem reported by Bruno Haible in
72477         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
72478
72479 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
72480
72481         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
72482         Problem reported by Perry Smith and Ville Laurikari.
72483
72484         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
72485         uses.
72486
72487 2006-10-19  Bruno Haible  <bruno@clisp.org>
72488
72489         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
72490         for mingw.
72491
72492 2006-10-19  Bruno Haible  <bruno@clisp.org>
72493
72494         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
72495         Needed for mingw.
72496
72497 2006-10-19  Bruno Haible  <bruno@clisp.org>
72498
72499         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
72500
72501 2006-10-19  Bruno Haible  <bruno@clisp.org>
72502
72503         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
72504         it.
72505
72506 2006-10-19  Bruno Haible  <bruno@clisp.org>
72507
72508         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
72509         invocation.
72510
72511 2006-10-19  Bruno Haible  <bruno@clisp.org>
72512
72513         * gnulib-tool (func_create_testdir): Don't include ftruncate and
72514         mountlist by default.
72515
72516 2006-10-16  Bruno Haible  <bruno@clisp.org>
72517
72518         * lib/c-strstr.c: Include c-strstr.h.
72519
72520 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
72521
72522         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
72523         in a slash.
72524
72525 2006-10-18  Bruno Haible  <bruno@clisp.org>
72526
72527         * lib/lock.h [C++]: Wrap definitions in extern "C".
72528
72529 2006-10-18  Bruno Haible  <bruno@clisp.org>
72530
72531         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
72532         gl_LIBOBJS list.
72533
72534 2006-10-18  Bruno Haible  <bruno@clisp.org>
72535
72536         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
72537
72538 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
72539
72540         * lib/xstrtol.h: Include gettext.h.
72541         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
72542         Problem reported by Eric Blake.
72543         * modules/xstrtol (Depends-on): Add gettext-h.
72544
72545 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
72546
72547         * lib/strftime.c (advance): New macro.
72548         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
72549         incomplete type, so you can't add 0 to it.  Problem and patch
72550         reported by Eelco Dolstra for dietlibc.
72551
72552 2006-10-18  Jim Meyering  <jim@meyering.net>
72553
72554         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
72555         type for a local, and rename it: s/up/user_proc/.
72556
72557 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
72558
72559         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
72560         READ_UTMP_USER_PROCESS.
72561         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
72562
72563 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
72564
72565         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
72566         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
72567
72568 2006-10-17  Eric Blake  <ebb9@byu.net>
72569
72570         * lib/sigprocmask.c (sigprocmask): Fix typo.
72571
72572         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
72573
72574         * modules/clean-temp (Makefile.am): Don't add to make output...
72575         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
72576         config.h.
72577
72578 2006-10-17  Bruno Haible  <bruno@clisp.org>
72579
72580         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
72581         differently if DEFAULT_TEXT_DOMAIN is set.
72582
72583 2006-10-16  Bruno Haible  <bruno@clisp.org>
72584
72585         * lib/clean-temp.c: Include fwriteerror.h.
72586
72587 2006-10-16  Bruno Haible  <bruno@clisp.org>
72588
72589         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
72590
72591 2006-10-16  Bruno Haible  <bruno@clisp.org>
72592
72593         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
72594         * lib/sigprocmask.h: Include <sys/types.h>.
72595         (sigset_t): Use the system's definition if present.
72596
72597 2006-10-17  Eric Blake  <ebb9@byu.net>
72598
72599         * lib/xvasprintf.c (includes): Assume config.h.
72600         * lib/xasprintf.c (includes): Likewise.
72601
72602 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
72603
72604         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
72605         at least as wide as intmax_t.
72606
72607 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
72608
72609         (Imported from Automake.)
72610         * build-aux/gnupload: Update to version 1.1 of directive file.
72611
72612 2006-10-16  Eric Blake  <ebb9@byu.net>
72613
72614         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
72615         match Automake 1.10a.
72616
72617 2006-10-14  Bruno Haible  <bruno@clisp.org>
72618
72619         * modules/sigprocmask: New file.
72620         * lib/sigprocmask.h: New file.
72621         * lib/sigprocmask.c: New file.
72622         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
72623         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
72624         request sigprocmask.o.
72625         (gl_PREREQ_SIGPROCMASK): New macro.
72626         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
72627         (Depends-on): Add sigprocmask.
72628         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
72629         gt_SIGNALBLOCKING. Test for 'raise' only once.
72630         * lib/fatal-signal.c: Include sigprocmask.h.
72631         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
72632         unblock_fatal_signals): Define always.
72633         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
72634         sigprocmask.
72635
72636 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
72637
72638         Sync from Automake.
72639         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
72640         which incorrectly sets the mode of an existing destination
72641         directory.  In some cases the unpatched install-sh could do the
72642         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
72643         system.  We hope this is rare in practice, but it's clearly worth
72644         fixing.  Problem reported by Alex Unleashed in
72645         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
72646         Also, don't bother to check for -m bugs unless we're using -m;
72647         suggested by Stepan Kasal.
72648
72649 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72650
72651         Sync from Automake.
72652         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
72653         `-c' flag, so they appear at the same position as in %FASTDEP%
72654         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
72655         which ignores unknown options only after the first non-option.
72656         Bug report against M4 by Nelson H. F. Beebe.
72657
72658 2006-10-13  Jim Meyering  <jim@meyering.net>
72659
72660         Fix a bug in yesterday's change.
72661         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
72662         p->fts_statp->st_dev would be used uninitialized.
72663         Ensures that we always call fts_stat on the very first entry.
72664         Miklos Szeredi reported that find -xdev stopped working.
72665
72666 2006-10-12  Bruno Haible  <bruno@clisp.org>
72667
72668         * gnulib-tool (func_get_automake_snippet): Append an automatically
72669         computed EXTRA_DIST augmentation.
72670         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
72671         * modules/alloca-opt (Makefile.am): Likewise.
72672         * modules/allocsa (Makefile.am): Likewise.
72673         * modules/arcfour (Makefile.am): Likewise.
72674         * modules/arctwo (Makefile.am): Likewise.
72675         * modules/argmatch (Makefile.am): Likewise.
72676         * modules/argz (Makefile.am): Likewise.
72677         * modules/atexit (Makefile.am): Likewise.
72678         * modules/backupfile (Makefile.am): Likewise.
72679         * modules/byteswap (Makefile.am): Likewise.
72680         * modules/c-strtod (Makefile.am): Likewise.
72681         * modules/c-strtold (Makefile.am): Likewise.
72682         * modules/calloc (Makefile.am): Likewise.
72683         * modules/canon-host (Makefile.am): Likewise.
72684         * modules/canonicalize (Makefile.am): Likewise.
72685         * modules/chdir-long (Makefile.am): Likewise.
72686         * modules/chdir-safer (Makefile.am): Likewise.
72687         * modules/check-version (Makefile.am): Likewise.
72688         * modules/chown (Makefile.am): Likewise.
72689         * modules/cloexec (Makefile.am): Likewise.
72690         * modules/close-stream (Makefile.am): Likewise.
72691         * modules/closeout (Makefile.am): Likewise.
72692         * modules/crc (Makefile.am): Likewise.
72693         * modules/csharpexec (Makefile.am): Likewise.
72694         * modules/cycle-check (Makefile.am): Likewise.
72695         * modules/des (Makefile.am): Likewise.
72696         * modules/dev-ino (Makefile.am): Likewise.
72697         * modules/dirfd (Makefile.am): Likewise.
72698         * modules/dirname (Makefile.am): Likewise.
72699         * modules/dup2 (Makefile.am): Likewise.
72700         * modules/eealloc (Makefile.am): Likewise.
72701         * modules/error (Makefile.am): Likewise.
72702         * modules/euidaccess (Makefile.am): Likewise.
72703         * modules/exclude (Makefile.am): Likewise.
72704         * modules/exitfail (Makefile.am): Likewise.
72705         * modules/fcntl-safer (Makefile.am): Likewise.
72706         * modules/fcntl (Makefile.am): Likewise.
72707         * modules/file-type (Makefile.am): Likewise.
72708         * modules/fileblocks (Makefile.am): Likewise.
72709         * modules/filemode (Makefile.am): Likewise.
72710         * modules/filenamecat (Makefile.am): Likewise.
72711         * modules/fnmatch (Makefile.am): Likewise.
72712         * modules/fopen-safer (Makefile.am): Likewise.
72713         * modules/fpending (Makefile.am): Likewise.
72714         * modules/fprintftime (Makefile.am): Likewise.
72715         * modules/free (Makefile.am): Likewise.
72716         * modules/fsusage (Makefile.am): Likewise.
72717         * modules/ftruncate (Makefile.am): Likewise.
72718         * modules/fts (Makefile.am): Likewise.
72719         * modules/gc-arcfour (Makefile.am): Likewise.
72720         * modules/gc-des (Makefile.am): Likewise.
72721         * modules/gc-hmac-md5 (Makefile.am): Likewise.
72722         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
72723         * modules/gc-md4 (Makefile.am): Likewise.
72724         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
72725         * modules/gc-sha1 (Makefile.am): Likewise.
72726         * modules/gc (Makefile.am): Likewise.
72727         * modules/getaddrinfo (Makefile.am): Likewise.
72728         * modules/getcwd (Makefile.am): Likewise.
72729         * modules/getdelim (Makefile.am): Likewise.
72730         * modules/getdomainname (Makefile.am): Likewise.
72731         * modules/getgroups (Makefile.am): Likewise.
72732         * modules/gethostname (Makefile.am): Likewise.
72733         * modules/gethrxtime (Makefile.am): Likewise.
72734         * modules/getline (Makefile.am): Likewise.
72735         * modules/getloadavg (Makefile.am): Likewise.
72736         * modules/getlogin_r (Makefile.am): Likewise.
72737         * modules/getndelim2 (Makefile.am): Likewise.
72738         * modules/getopt (Makefile.am): Likewise.
72739         * modules/getpagesize (Makefile.am): Likewise.
72740         * modules/getpass-gnu (Makefile.am): Likewise.
72741         * modules/getpass (Makefile.am): Likewise.
72742         * modules/getsubopt (Makefile.am): Likewise.
72743         * modules/gettime (Makefile.am): Likewise.
72744         * modules/gettimeofday (Makefile.am): Likewise.
72745         * modules/getugroups (Makefile.am): Likewise.
72746         * modules/getusershell (Makefile.am): Likewise.
72747         * modules/glob (Makefile.am): Likewise.
72748         * modules/group-member (Makefile.am): Likewise.
72749         * modules/hard-locale (Makefile.am): Likewise.
72750         * modules/hash (Makefile.am): Likewise.
72751         * modules/hmac-md5 (Makefile.am): Likewise.
72752         * modules/hmac-sha1 (Makefile.am): Likewise.
72753         * modules/human (Makefile.am): Likewise.
72754         * modules/idcache (Makefile.am): Likewise.
72755         * modules/imaxabs (Makefile.am): Likewise.
72756         * modules/imaxdiv (Makefile.am): Likewise.
72757         * modules/inet_ntop (Makefile.am): Likewise.
72758         * modules/inet_pton (Makefile.am): Likewise.
72759         * modules/intprops (Makefile.am): Likewise.
72760         * modules/inttostr (Makefile.am): Likewise.
72761         * modules/inttypes (Makefile.am): Likewise.
72762         * modules/isapipe (Makefile.am): Likewise.
72763         * modules/javaversion (Makefile.am): Likewise.
72764         * modules/lchmod (Makefile.am): Likewise.
72765         * modules/lchown (Makefile.am): Likewise.
72766         * modules/localcharset (Makefile.am): Likewise.
72767         * modules/long-options (Makefile.am): Likewise.
72768         * modules/lstat (Makefile.am): Likewise.
72769         * modules/malloc (Makefile.am): Likewise.
72770         * modules/mathl (Makefile.am): Likewise.
72771         * modules/mbchar (Makefile.am): Likewise.
72772         * modules/md2 (Makefile.am): Likewise.
72773         * modules/md4 (Makefile.am): Likewise.
72774         * modules/md5 (Makefile.am): Likewise.
72775         * modules/memcasecmp (Makefile.am): Likewise.
72776         * modules/memchr (Makefile.am): Likewise.
72777         * modules/memcmp (Makefile.am): Likewise.
72778         * modules/memcoll (Makefile.am): Likewise.
72779         * modules/memcpy (Makefile.am): Likewise.
72780         * modules/memmem (Makefile.am): Likewise.
72781         * modules/memmove (Makefile.am): Likewise.
72782         * modules/mempcpy (Makefile.am): Likewise.
72783         * modules/memrchr (Makefile.am): Likewise.
72784         * modules/memset (Makefile.am): Likewise.
72785         * modules/memxor (Makefile.am): Likewise.
72786         * modules/mkancesdirs (Makefile.am): Likewise.
72787         * modules/mkdir-p (Makefile.am): Likewise.
72788         * modules/mkdir (Makefile.am): Likewise.
72789         * modules/mkdtemp (Makefile.am): Likewise.
72790         * modules/mkstemp (Makefile.am): Likewise.
72791         * modules/mktime (Makefile.am): Likewise.
72792         * modules/modechange (Makefile.am): Likewise.
72793         * modules/mountlist (Makefile.am): Likewise.
72794         * modules/nanosleep (Makefile.am): Likewise.
72795         * modules/obstack (Makefile.am): Likewise.
72796         * modules/openat (Makefile.am): Likewise.
72797         * modules/pagealign_alloc (Makefile.am): Likewise.
72798         * modules/pathmax (Makefile.am): Likewise.
72799         * modules/physmem (Makefile.am): Likewise.
72800         * modules/poll (Makefile.am): Likewise.
72801         * modules/posixtm (Makefile.am): Likewise.
72802         * modules/posixver (Makefile.am): Likewise.
72803         * modules/putenv (Makefile.am): Likewise.
72804         * modules/quote (Makefile.am): Likewise.
72805         * modules/quotearg (Makefile.am): Likewise.
72806         * modules/raise (Makefile.am): Likewise.
72807         * modules/read-file (Makefile.am): Likewise.
72808         * modules/readline (Makefile.am): Likewise.
72809         * modules/readlink (Makefile.am): Likewise.
72810         * modules/readtokens (Makefile.am): Likewise.
72811         * modules/readutmp (Makefile.am): Likewise.
72812         * modules/realloc (Makefile.am): Likewise.
72813         * modules/regex (Makefile.am): Likewise.
72814         * modules/rename-dest-slash (Makefile.am): Likewise.
72815         * modules/rename (Makefile.am): Likewise.
72816         * modules/rijndael (Makefile.am): Likewise.
72817         * modules/rmdir (Makefile.am): Likewise.
72818         * modules/rpmatch (Makefile.am): Likewise.
72819         * modules/safe-read (Makefile.am): Likewise.
72820         * modules/safe-write (Makefile.am): Likewise.
72821         * modules/same-inode (Makefile.am): Likewise.
72822         * modules/same (Makefile.am): Likewise.
72823         * modules/save-cwd (Makefile.am): Likewise.
72824         * modules/savedir (Makefile.am): Likewise.
72825         * modules/setenv (Makefile.am): Likewise.
72826         * modules/settime (Makefile.am): Likewise.
72827         * modules/sha1 (Makefile.am): Likewise.
72828         * modules/sig2str (Makefile.am): Likewise.
72829         * modules/snprintf (Makefile.am): Likewise.
72830         * modules/stat-macros (Makefile.am): Likewise.
72831         * modules/stat-time (Makefile.am): Likewise.
72832         * modules/stdbool (Makefile.am): Likewise.
72833         * modules/stdint (Makefile.am): Likewise.
72834         * modules/stdlib-safer (Makefile.am): Likewise.
72835         * modules/stpcpy (Makefile.am): Likewise.
72836         * modules/stpncpy (Makefile.am): Likewise.
72837         * modules/strcase (Makefile.am): Likewise.
72838         * modules/strcasestr (Makefile.am): Likewise.
72839         * modules/strchrnul (Makefile.am): Likewise.
72840         * modules/strcspn (Makefile.am): Likewise.
72841         * modules/strdup (Makefile.am): Likewise.
72842         * modules/strerror (Makefile.am): Likewise.
72843         * modules/strftime (Makefile.am): Likewise.
72844         * modules/strndup (Makefile.am): Likewise.
72845         * modules/strnlen (Makefile.am): Likewise.
72846         * modules/strpbrk (Makefile.am): Likewise.
72847         * modules/strsep (Makefile.am): Likewise.
72848         * modules/strstr (Makefile.am): Likewise.
72849         * modules/strtod (Makefile.am): Likewise.
72850         * modules/strtoimax (Makefile.am): Likewise.
72851         * modules/strtok_r (Makefile.am): Likewise.
72852         * modules/strtol (Makefile.am): Likewise.
72853         * modules/strtoll (Makefile.am): Likewise.
72854         * modules/strtoul (Makefile.am): Likewise.
72855         * modules/strtoull (Makefile.am): Likewise.
72856         * modules/strtoumax (Makefile.am): Likewise.
72857         * modules/strverscmp (Makefile.am): Likewise.
72858         * modules/sys_socket (Makefile.am): Likewise.
72859         * modules/sys_stat (Makefile.am): Likewise.
72860         * modules/sysexits (Makefile.am): Likewise.
72861         * modules/time_r (Makefile.am): Likewise.
72862         * modules/timegm (Makefile.am): Likewise.
72863         * modules/timespec (Makefile.am): Likewise.
72864         * modules/tmpfile-safer (Makefile.am): Likewise.
72865         * modules/trim (Makefile.am): Likewise.
72866         * modules/unistd-safer (Makefile.am): Likewise.
72867         * modules/unlinkdir (Makefile.am): Likewise.
72868         * modules/unlocked-io (Makefile.am): Likewise.
72869         * modules/userspec (Makefile.am): Likewise.
72870         * modules/utime (Makefile.am): Likewise.
72871         * modules/utimecmp (Makefile.am): Likewise.
72872         * modules/utimens (Makefile.am): Likewise.
72873         * modules/vasnprintf (Makefile.am): Likewise.
72874         * modules/vasprintf (Makefile.am): Likewise.
72875         * modules/vsnprintf (Makefile.am): Likewise.
72876         * modules/xalloc (Makefile.am): Likewise.
72877         * modules/xgetcwd (Makefile.am): Likewise.
72878         * modules/xnanosleep (Makefile.am): Likewise.
72879         * modules/xreadlink (Makefile.am): Likewise.
72880         * modules/xstrtod (Makefile.am): Likewise.
72881         * modules/xstrtol (Makefile.am): Likewise.
72882         * modules/xstrtold (Makefile.am): Likewise.
72883         * modules/yesno (Makefile.am): Likewise.
72884         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
72885
72886 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
72887
72888         * modules/error (Makefile.am): Distribute files through
72889         EXTRA_DIST, not lib_SOURCES.
72890
72891 2006-10-12  Eric Blake  <ebb9@byu.net>
72892
72893         * modules/error (Makefile.am): Distribute files in /lib.
72894         * modules/obstack (Makefile.am): Likewise.
72895
72896 2006-10-12  Bruno Haible  <bruno@clisp.org>
72897
72898         * modules/acl (Makefile.am): Distribute all files in lib/ through
72899         EXTRA_DIST.
72900         * modules/arcfour (Makefile.am): Likewise.
72901         * modules/arctwo (Makefile.am): Likewise.
72902         * modules/argmatch (Makefile.am): Likewise.
72903         * modules/argz (Makefile.am): Likewise.
72904         * modules/atexit (Makefile.am): Likewise.
72905         * modules/backupfile (Makefile.am): Likewise.
72906         * modules/c-strtod (Makefile.am): Likewise.
72907         * modules/c-strtold (Makefile.am): Likewise.
72908         * modules/calloc (Makefile.am): Likewise.
72909         * modules/canon-host (Makefile.am): Likewise.
72910         * modules/canonicalize (Makefile.am): Likewise.
72911         * modules/chdir-long (Makefile.am): Likewise.
72912         * modules/chdir-safer (Makefile.am): Likewise.
72913         * modules/check-version (Makefile.am): Likewise.
72914         * modules/chown (Makefile.am): Likewise.
72915         * modules/cloexec (Makefile.am): Likewise.
72916         * modules/close-stream (Makefile.am): Likewise.
72917         * modules/closeout (Makefile.am): Likewise.
72918         * modules/crc (Makefile.am): Likewise.
72919         * modules/cycle-check (Makefile.am): Likewise.
72920         * modules/des (Makefile.am): Likewise.
72921         * modules/dirfd (Makefile.am): Likewise.
72922         * modules/dirname (Makefile.am): Likewise.
72923         * modules/dup2 (Makefile.am): Likewise.
72924         * modules/euidaccess (Makefile.am): Likewise.
72925         * modules/exclude (Makefile.am): Likewise.
72926         * modules/exitfail (Makefile.am): Likewise.
72927         * modules/fcntl-safer (Makefile.am): Likewise.
72928         * modules/file-type (Makefile.am): Likewise.
72929         * modules/fileblocks (Makefile.am): Likewise.
72930         * modules/filemode (Makefile.am): Likewise.
72931         * modules/filenamecat (Makefile.am): Likewise.
72932         * modules/fnmatch (Makefile.am): Likewise.
72933         * modules/fopen-safer (Makefile.am): Likewise.
72934         * modules/fpending (Makefile.am): Likewise.
72935         * modules/fprintftime (Makefile.am): Likewise.
72936         * modules/free (Makefile.am): Likewise.
72937         * modules/fsusage (Makefile.am): Likewise.
72938         * modules/ftruncate (Makefile.am): Likewise.
72939         * modules/fts (Makefile.am): Likewise.
72940         * modules/gc (Makefile.am): Likewise.
72941         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
72942         * modules/getaddrinfo (Makefile.am): Likewise.
72943         * modules/getcwd (Makefile.am): Likewise.
72944         * modules/getdelim (Makefile.am): Likewise.
72945         * modules/getdomainname (Makefile.am): Likewise.
72946         * modules/getgroups (Makefile.am): Likewise.
72947         * modules/gethostname (Makefile.am): Likewise.
72948         * modules/gethrxtime (Makefile.am): Likewise.
72949         * modules/getline (Makefile.am): Likewise.
72950         * modules/getloadavg (Makefile.am): Likewise.
72951         * modules/getlogin_r (Makefile.am): Likewise.
72952         * modules/getopt (Makefile.am): Likewise.
72953         * modules/getpass (Makefile.am): Likewise.
72954         * modules/getpass-gnu (Makefile.am): Likewise.
72955         * modules/getsubopt (Makefile.am): Likewise.
72956         * modules/gettime (Makefile.am): Likewise.
72957         * modules/gettimeofday (Makefile.am): Likewise.
72958         * modules/getugroups (Makefile.am): Likewise.
72959         * modules/getusershell (Makefile.am): Likewise.
72960         * modules/glob (Makefile.am): Likewise.
72961         * modules/group-member (Makefile.am): Likewise.
72962         * modules/hard-locale (Makefile.am): Likewise.
72963         * modules/hash (Makefile.am): Likewise.
72964         * modules/hmac-md5 (Makefile.am): Likewise.
72965         * modules/hmac-sha1 (Makefile.am): Likewise.
72966         * modules/human (Makefile.am): Likewise.
72967         * modules/idcache (Makefile.am): Likewise.
72968         * modules/imaxabs (Makefile.am): Likewise.
72969         * modules/imaxdiv (Makefile.am): Likewise.
72970         * modules/inet_ntop (Makefile.am): Likewise.
72971         * modules/inet_pton (Makefile.am): Likewise.
72972         * modules/inttostr (Makefile.am): Likewise.
72973         * modules/isapipe (Makefile.am): Likewise.
72974         * modules/lchown (Makefile.am): Likewise.
72975         * modules/long-options (Makefile.am): Likewise.
72976         * modules/lstat (Makefile.am): Likewise.
72977         * modules/malloc (Makefile.am): Likewise.
72978         * modules/mathl (Makefile.am): Likewise.
72979         * modules/mbchar (Makefile.am): Likewise.
72980         * modules/md2 (Makefile.am): Likewise.
72981         * modules/md4 (Makefile.am): Likewise.
72982         * modules/md5 (Makefile.am): Likewise.
72983         * modules/memcasecmp (Makefile.am): Likewise.
72984         * modules/memchr (Makefile.am): Likewise.
72985         * modules/memcmp (Makefile.am): Likewise.
72986         * modules/memcoll (Makefile.am): Likewise.
72987         * modules/memcpy (Makefile.am): Likewise.
72988         * modules/memmem (Makefile.am): Likewise.
72989         * modules/memmove (Makefile.am): Likewise.
72990         * modules/mempcpy (Makefile.am): Likewise.
72991         * modules/memrchr (Makefile.am): Likewise.
72992         * modules/memset (Makefile.am): Likewise.
72993         * modules/memxor (Makefile.am): Likewise.
72994         * modules/mkancesdirs (Makefile.am): Likewise.
72995         * modules/mkdir (Makefile.am): Likewise.
72996         * modules/mkdir-p (Makefile.am): Likewise.
72997         * modules/mkdtemp (Makefile.am): Likewise.
72998         * modules/mkstemp (Makefile.am): Likewise.
72999         * modules/mktime (Makefile.am): Likewise.
73000         * modules/modechange (Makefile.am): Likewise.
73001         * modules/mountlist (Makefile.am): Likewise.
73002         * modules/nanosleep (Makefile.am): Likewise.
73003         * modules/openat (Makefile.am): Likewise.
73004         * modules/pagealign_alloc (Makefile.am): Likewise.
73005         * modules/physmem (Makefile.am): Likewise.
73006         * modules/poll (Makefile.am): Likewise.
73007         * modules/posixtm (Makefile.am): Likewise.
73008         * modules/posixver (Makefile.am): Likewise.
73009         * modules/putenv (Makefile.am): Likewise.
73010         * modules/quote (Makefile.am): Likewise.
73011         * modules/quotearg (Makefile.am): Likewise.
73012         * modules/raise (Makefile.am): Likewise.
73013         * modules/read-file (Makefile.am): Likewise.
73014         * modules/readline (Makefile.am): Likewise.
73015         * modules/readlink (Makefile.am): Likewise.
73016         * modules/readtokens (Makefile.am): Likewise.
73017         * modules/readutmp (Makefile.am): Likewise.
73018         * modules/realloc (Makefile.am): Likewise.
73019         * modules/regex (Makefile.am): Likewise.
73020         * modules/rename (Makefile.am): Likewise.
73021         * modules/rename-dest-slash (Makefile.am): Likewise.
73022         * modules/rijndael (Makefile.am): Likewise.
73023         * modules/rmdir (Makefile.am): Likewise.
73024         * modules/rpmatch (Makefile.am): Likewise.
73025         * modules/safe-read (Makefile.am): Likewise.
73026         * modules/safe-write (Makefile.am): Likewise.
73027         * modules/same (Makefile.am): Likewise.
73028         * modules/save-cwd (Makefile.am): Likewise.
73029         * modules/savedir (Makefile.am): Likewise.
73030         * modules/setenv (Makefile.am): Likewise.
73031         * modules/settime (Makefile.am): Likewise.
73032         * modules/sha1 (Makefile.am): Likewise.
73033         * modules/sig2str (Makefile.am): Likewise.
73034         * modules/snprintf (Makefile.am): Likewise.
73035         * modules/stdlib-safer (Makefile.am): Likewise.
73036         * modules/stpcpy (Makefile.am): Likewise.
73037         * modules/stpncpy (Makefile.am): Likewise.
73038         * modules/strcase (Makefile.am): Likewise.
73039         * modules/strcasestr (Makefile.am): Likewise.
73040         * modules/strchrnul (Makefile.am): Likewise.
73041         * modules/strcspn (Makefile.am): Likewise.
73042         * modules/strdup (Makefile.am): Likewise.
73043         * modules/strerror (Makefile.am): Likewise.
73044         * modules/strftime (Makefile.am): Likewise.
73045         * modules/strndup (Makefile.am): Likewise.
73046         * modules/strnlen (Makefile.am): Likewise.
73047         * modules/strpbrk (Makefile.am): Likewise.
73048         * modules/strsep (Makefile.am): Likewise.
73049         * modules/strstr (Makefile.am): Likewise.
73050         * modules/strtod (Makefile.am): Likewise.
73051         * modules/strtoimax (Makefile.am): Likewise.
73052         * modules/strtok_r (Makefile.am): Likewise.
73053         * modules/strtol (Makefile.am): Likewise.
73054         * modules/strtoll (Makefile.am): Likewise.
73055         * modules/strtoul (Makefile.am): Likewise.
73056         * modules/strtoull (Makefile.am): Likewise.
73057         * modules/strtoumax (Makefile.am): Likewise.
73058         * modules/strverscmp (Makefile.am): Likewise.
73059         * modules/time_r (Makefile.am): Likewise.
73060         * modules/timegm (Makefile.am): Likewise.
73061         * modules/tmpfile-safer (Makefile.am): Likewise.
73062         * modules/unistd-safer (Makefile.am): Likewise.
73063         * modules/unlinkdir (Makefile.am): Likewise.
73064         * modules/userspec (Makefile.am): Likewise.
73065         * modules/utime (Makefile.am): Likewise.
73066         * modules/utimecmp (Makefile.am): Likewise.
73067         * modules/utimens (Makefile.am): Likewise.
73068         * modules/vasnprintf (Makefile.am): Likewise.
73069         * modules/vasprintf (Makefile.am): Likewise.
73070         * modules/vsnprintf (Makefile.am): Likewise.
73071         * modules/xalloc (Makefile.am): Likewise.
73072         * modules/xgetcwd (Makefile.am): Likewise.
73073         * modules/xnanosleep (Makefile.am): Likewise.
73074         * modules/xreadlink (Makefile.am): Likewise.
73075         * modules/xstrtod (Makefile.am): Likewise.
73076         * modules/xstrtol (Makefile.am): Likewise.
73077         * modules/xstrtold (Makefile.am): Likewise.
73078         * modules/yesno (Makefile.am): Likewise.
73079
73080 2006-10-12  Jim Meyering  <jim@meyering.net>
73081
73082         * m4/getloadavg.m4: Revert the change below.
73083
73084         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
73085         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
73086         fail with a symlink, which is what coreutils' ./bootstrap now
73087         creates by default.
73088
73089 2006-10-12  Bruno Haible  <bruno@clisp.org>
73090
73091         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
73092         mingw.
73093         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
73094         MSVC and mingw explicitly.
73095
73096 2006-10-11  Simon Josefsson  <jas@extundo.com>
73097             Bruno Haible  <bruno@clisp.org>
73098
73099         Add support for multiple gnulib-tool invocations in the scope of a
73100         single configure.ac file.
73101         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
73102         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
73103         with the same contents as the _LIBADD variable.
73104         (func_emit_initmacro_start, func_emit_initmacro_end,
73105         func_emit_initmacro_done): New functions.
73106         (func_import, func_create_testdir): Invoke them. Allow the identifiers
73107         gl_LIBOBJS and gl_LTLIBOBJS.
73108
73109 2006-10-11  Bruno Haible  <bruno@clisp.org>
73110
73111         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
73112         (func_create_testdir): Don't create po/Makefile.am, don't invoke
73113         autoreconf. Instead, invoke autopoint explicitly but move back the
73114         *.m4 files from gnulib.
73115
73116 2006-10-11  Bruno Haible  <bruno@clisp.org>
73117
73118         * gnulib-tool (func_usage): Make module names after --create-testdir
73119         optional.
73120         (func_create_testdir): If no module was specified, use nearly all
73121         modules.
73122
73123 2006-10-12  Jim Meyering  <jim@meyering.net>
73124
73125         Big performance improvement for fts-based tools that use FTS_NOSTAT.
73126         Avoid spurious inode-mismatch problems on non-POSIX file systems.
73127         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
73128         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
73129         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
73130         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
73131         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
73132         (fts_set_stat_required): New function.
73133         (fts_open): Defer the calls to fts_stat, if possible or requested.
73134         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
73135         into fts_stat itself.
73136         (fts_read): Perform any required (deferred) fts_stat call.
73137         (fts_build): Likewise, for the directory we're about to open and read.
73138         In the readdir loop, carefully decide whether each entry will require
73139         an eventual call to fts_stat, using dirent.d_type info if available.
73140         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
73141         a command line argument into this function.  Update all callers.
73142         Map a return value of FTS_DOT to FTS_D for a command line argument.
73143         * modules/fts (Depends-on): Add d-type.  Alphabetize.
73144         Thanks to Miklos Szeredi for his tenacity and for the initial
73145         bug report about "find" failing on a FUSE-based file system.
73146
73147         * lib/fts.c (fts_open): Use consistent indentation.
73148
73149 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
73150
73151         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
73152         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
73153         reported by Jim Meyering.  All uses of cache variables renamed
73154         to match Autoconf's.
73155         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
73156         the other one.
73157
73158         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
73159         Fix misspelling in diagnostic.
73160
73161 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
73162
73163         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
73164         defined.  Problem reported by Matthew Woehlke.
73165
73166         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
73167         Add support for Tandem NonStop R series.
73168         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
73169         Use new macro.
73170
73171         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
73172         (has_trailing_slash): Omit size arg; all callers changed.
73173         Omit 'inline', since it doesn't help performance and we'd
73174         need to configure it.
73175         Don't count //, ///, etc. as having a trailing slash.
73176         As a side effect, this removes a C99ism reported by Matthew Woehlke.
73177         (rpl_rename_dest_slash): On failure, use rename's errno rather
73178         than (in some cases) an incorrect or junk errno.
73179         Simplify code by removing need to compute length; this does
73180         cause it to make two passes instead of one over the file name,
73181         but it's worth it.
73182
73183         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
73184         change, since Autoconf's version may no longer be appropriate now
73185         that we are using CVS Autoconf's version.  Add support for Tandem.
73186
73187 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
73188             Bruno Haible  <bruno@clisp.org>
73189
73190         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
73191         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
73192         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
73193         gl_AC_TYPE_LONG_LONG.
73194
73195         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
73196         instead of HAVE_LONG_LONG.
73197         * lib/printf-args.c (printf_fetchargs): Likewise.
73198         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
73199         * lib/vasnprintf.c (VASNPRINTF): Likewise.
73200         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
73201         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
73202         gl_AC_TYPE_LONG_LONG.
73203
73204 2006-10-11  Bruno Haible  <bruno@clisp.org>
73205
73206         * m4/longlong.m4: Add comments.
73207         * m4/ulonglong.m4: Likewise.
73208
73209 2006-10-10  Bruno Haible  <bruno@clisp.org>
73210
73211         Make it possible to #define stpcpy, strdup to aliases.
73212         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
73213         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
73214
73215 2006-10-10  Bruno Haible  <bruno@clisp.org>
73216
73217         Make it possible to #define gcd to an alias.
73218         * lib/gcd.c: Include config.h.
73219
73220 2006-10-10  Bruno Haible  <bruno@clisp.org>
73221
73222         Make it possible to #define c_isascii to an alias.
73223         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
73224         defined. Undefine the macros before defining them, to avoid gcc
73225         warnings.
73226         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
73227         define NO_C_CTYPE_MACROS early.
73228
73229 2006-10-10  Bruno Haible  <bruno@clisp.org>
73230
73231         Make it possible to #define set_program_name to an alias.
73232         * lib/progname.c: Don't undefine set_program_name; instead, undefine
73233         ENABLE_RELOCATABLE early.
73234
73235 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
73236
73237         Port to Tandem NSK OSS, which has 64-bit signed int but at most
73238         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
73239         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
73240         More generally, don't assume that 64-bit signed int is available
73241         if unsigned int is, and vice versa.
73242         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
73243         unsigned symbols, not on their signed counterparts.
73244         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
73245         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
73246         (UINT64_C, UINTMAX_C):
73247         Likewise.
73248         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
73249         unsigned counterparts.
73250         (Have_long_long, Unsigned): New macros.
73251         (Int): Renamed from INT.
73252         (strtoimax): Use the new macros.
73253         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
73254         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
73255         * modules/inttypes (inttypes.h): Substitute
73256         HAVE_UNSIGNED_LONG_LONG_INT.
73257         * modules/stdint (stdint.h): Likewise.
73258         (Files): Add m4/ulonglong.m4.
73259
73260 2006-10-10  Bruno Haible  <bruno@clisp.org>
73261
73262         Fix a gcc -Wshadow warning.
73263         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
73264         to 'bucket'.
73265         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
73266         gl_linked_indexof_from_to): Likewise.
73267         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
73268         Likewise.
73269         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
73270         Likewise.
73271         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
73272         Reported by Eric Blake.
73273
73274 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
73275
73276         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
73277         for NetBSD.  Problem reported by Bruno Haible.
73278
73279 2006-10-09  Jim Meyering  <jim@meyering.net>
73280
73281         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
73282         Patch from Bruno Haible.
73283
73284 2006-10-09  Jim Meyering  <jim@meyering.net>
73285
73286         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
73287         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
73288         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
73289
73290 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
73291
73292         Don't include <config.h> twice; this doesn't work in some cases,
73293         e.g., when config.h has "#define intmax_t long long int" and
73294         we include <config.h>, <inttypes.h>, <config.h> in that order.
73295         Problem reported by Matthew Woehlke in:
73296         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
73297         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
73298         * lib/fts-cycle.c: Don't include config.h.
73299         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
73300         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
73301         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
73302         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
73303         inttypes.h.
73304         * lib/xstrtoumax.c: Likewise.
73305         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
73306         __strtol and the like, so that this module is more like its siblings.
73307         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
73308         Remove; no longer needed now that we assume gnulib inttypes.h.
73309
73310 2006-10-08  Bruno Haible  <bruno@clisp.org>
73311
73312         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
73313         option.
73314
73315 2006-10-07  Jim Meyering  <jim@meyering.net>
73316
73317         * modules/inttypes (inttypes.h): Revert what seems to have been
73318         an inadvertent part of today's change: use "|", not "/" in the
73319         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
73320
73321 2006-10-07  Bruno Haible  <bruno@clisp.org>
73322
73323         * modules/sublist: New file.
73324
73325 2006-10-07  Bruno Haible  <bruno@clisp.org>
73326
73327         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
73328         * modules/argz (argz.h): Likewise.
73329         * modules/arpa_inet (arpa/inet.h): Likewise.
73330         * modules/byteswap (byteswap.h): Likewise.
73331         * modules/configmake (configmake.h): Likewise.
73332         * modules/fcntl (fcntl.h): Likewise.
73333         * modules/fnmatch (fnmatch.h): Likewise.
73334         * modules/getopt (getopt.h): Likewise.
73335         * modules/glob (glob.h): Likewise.
73336         * modules/inttypes (inttypes.h): Likewise.
73337         * modules/netinet_in (netinet/in.h): Likewise.
73338         * modules/poll (poll.h): Likewise.
73339         * modules/stdbool (stdbool.h): Likewise.
73340         * modules/stdint (stdint.h): Likewise.
73341         * modules/sys_select (sys/select.h): Likewise.
73342         * modules/sys_socket (sys/socket.h): Likewise.
73343         * modules/sys_stat (sys/stat.h): Likewise.
73344         * modules/sysexits (sysexits.h): Likewise.
73345         * modules/unistd (unistd.h): Likewise.
73346         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73347         Add a "DO NOT EDIT" comment to the generated file.
73348         (func_import): Likewise for gnulib-comp.m4.
73349
73350 2006-10-07  Bruno Haible  <bruno@clisp.org>
73351
73352         * lib/gl_sublist.h: New file.
73353         * lib/gl_sublist.c: New file.
73354
73355 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
73356
73357         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
73358         name (relative to the original working directory) and the file
73359         name component (relative to the temporary working directory).  All
73360         callers changed.
73361         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
73362         * lib/mkdir-p.c (make_dir_parents): Likewise.
73363         * lib/mkdir-p.h (make_dir_parents): Likewise.
73364
73365 2006-10-06  Eric Blake  <ebb9@byu.net>
73366
73367         Define several macros for use by the clean-temp module.
73368         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
73369         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
73370         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
73371
73372         * lib/clean-temp.h (close_stream_temp): New declaration.
73373         * lib/clean-temp.c (includes): Pull in headers according to what
73374         other modules are in use.
73375         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
73376
73377 2006-10-06  Bruno Haible  <bruno@clisp.org>
73378
73379         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
73380         instead of fopen, fwriteerror.
73381
73382 2006-10-06  Bruno Haible  <bruno@clisp.org>
73383
73384         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
73385         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
73386         int.
73387         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
73388         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
73389         Return an error indicator.
73390         Suggested by Eric Blake.
73391
73392 2006-10-06  Bruno Haible  <bruno@clisp.org>
73393
73394         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
73395         Reported by Eric Blake.
73396
73397 2006-10-06  Bruno Haible  <bruno@clisp.org>
73398
73399         * modules/closeout (Description): Mention stderr too.
73400
73401 2006-10-06  Bruno Haible  <bruno@clisp.org>
73402         and Paul Eggert  <eggert@cs.ucla.edu>
73403
73404         * lib/closeout.c (close_stdout): Also close stderr.
73405         * lib/closeout.h: Update comment.
73406
73407 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
73408
73409         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
73410         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
73411         * lib/dirchownmod.c: Include lchown.h.
73412         * lib/lchown.c: Don't include files that lchown.h now includes.
73413         Don't declare chown, since lchown.h now does that.
73414         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
73415         (lchown): Define to rpl_chown if lchown is declared but
73416         does not exist.  Declare using a prototype if lchown is not
73417         declared.  Add a copyright notice.
73418         * lib/mkstemp.h: Include <unistd.h>.
73419         * lib/openat.c: Include lchown.h.
73420
73421         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
73422         we now test for that separately.
73423         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
73424         rather than O_NOFOLLOW, when testing whether it's possible to
73425         avoid a race condition reliably.
73426         * lib/savewd.c (savewd_chdir): Likewise.
73427
73428         Remove macros that are no longer needed now that stdint.h is
73429         reliable.
73430         * lib/fsusage.c (UINTMAX_MAX): Remove.
73431         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
73432         * lib/utimecmp.c (SIZE_MAX): Remove.
73433
73434         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
73435
73436         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
73437         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
73438         O_NOATIME works.
73439
73440 2006-10-05  Bruno Haible  <bruno@clisp.org>
73441
73442         * lib/gl_list.h (gl_sortedlist_search_from_to,
73443         gl_sortedlist_indexof_from_to): New declarations.
73444         (gl_list_implementation): New fields sortedlist_search_from_to,
73445         sortedlist_indexof_from_to.
73446         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
73447         inline functions.
73448         * lib/gl_list.c (gl_sortedlist_search_from_to,
73449         gl_sortedlist_indexof_from_to): New functions.
73450         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
73451         function.
73452         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
73453         (gl_array_sortedlist_search_from_to): New function.
73454         (gl_array_list_implementation): Update.
73455         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
73456         function.
73457         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
73458         (gl_carray_sortedlist_search_from_to): New function.
73459         (gl_carray_list_implementation): Update.
73460         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
73461         gl_linked_sortedlist_indexof_from_to): New functions.
73462         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
73463         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
73464         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
73465         gl_tree_sortedlist_indexof_from_to): New functions.
73466         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
73467         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
73468         Update.
73469         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
73470         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
73471         Update.
73472
73473 2006-10-05  Bruno Haible  <bruno@clisp.org>
73474
73475         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
73476         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
73477         (struct gl_list_implementation): Add fields search_from_to,
73478         indexof_from_to. Remove fields search, indexof.
73479         (gl_list_search): Use the search_from_to method.
73480         (gl_list_search_from, gl_list_search_from_to): New functions.
73481         (gl_list_indexof): Use the indexof_from_to method.
73482         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
73483         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
73484         (gl_list_search_from, gl_list_search_from_to): New functions.
73485         (gl_list_indexof): Use the indexof_from_to method.
73486         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
73487         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
73488         gl_array_indexof. Add start_index, end_index arguments.
73489         (gl_array_search_from_to): Renamed from gl_array_search. Add
73490         start_index, end_index arguments.
73491         (gl_array_remove, gl_array_list_implementation): Update.
73492         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
73493         gl_carray_indexof. Add start_index, end_index arguments.
73494         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
73495         start_index, end_index arguments.
73496         (gl_carray_remove, gl_carray_list_implementation): Update.
73497         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
73498         gl_linked_search. Add start_index, end_index arguments.
73499         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
73500         start_index, end_index arguments.
73501         (gl_linked_remove): Update.
73502         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
73503         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
73504         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
73505         field to 'size_t'.
73506         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
73507         gl_tree_search. Add start_index, end_index arguments.
73508         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
73509         start_index, end_index arguments.
73510         (gl_tree_remove): Update.
73511         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
73512         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
73513         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
73514         function.
73515         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
73516         gl_tree_search. Add start_index, end_index arguments.
73517         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
73518         start_index, end_index arguments.
73519         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
73520         Update.
73521         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
73522
73523 2006-10-05  Bruno Haible  <bruno@clisp.org>
73524
73525         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
73526
73527         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
73528         fwriteerror_temp): New declarations.
73529         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
73530         (descriptors): New variable.
73531         (cleanup): First, close the descriptors.
73532         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
73533         fclose_temp, fwriteerror_temp): New functions.
73534
73535 2006-10-04  Jim Meyering  <jim@meyering.net>
73536
73537         * lib/fts.c (fts_open): Tiny comment change.
73538
73539 2006-10-04  Bruno Haible  <bruno@clisp.org>
73540
73541         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
73542         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
73543         gl_LOCK_BODY.
73544         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
73545         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
73546         gl_LOCK_EARLY_BODY.
73547         (gl_LOCK): Require gl_LOCK_BODY.
73548
73549 2006-10-04  Bruno Haible  <bruno@clisp.org>
73550
73551         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
73552         (gl_oset_search_atleast): New declaration.
73553         (struct gl_oset_implementation): Add field 'search_atleast'.
73554         (gl_oset_search_atleast): New inline function.
73555         * lib/gl_oset.c (gl_oset_search_atleast): New function.
73556         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
73557         (gl_array_oset_implementation): Update.
73558         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
73559         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
73560         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
73561
73562 2006-10-04  Bruno Haible  <bruno@clisp.org>
73563
73564         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
73565
73566 2006-10-03  Bruno Haible  <bruno@clisp.org>
73567
73568         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
73569         from gl_avltreehash_list_implementation.
73570
73571 2006-10-03  Bruno Haible  <bruno@clisp.org>
73572
73573         * lib/gl_oset.c (gl_oset_add): Fix return type.
73574
73575 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
73576
73577         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
73578
73579 2006-10-02  Eric Blake  <ebb9@byu.net>
73580
73581         * modules/strnlen (Depends-on): Add extensions.
73582
73583 2006-10-02  Eric Blake  <ebb9@byu.net>
73584
73585         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
73586         definition in 2.60+.
73587
73588 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
73589
73590         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
73591         checks.
73592
73593 2006-10-02  Bruno Haible  <bruno@clisp.org>
73594
73595         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
73596         to the AUTOMAKE_OPTIONS.
73597         Reported by Jim Meyering.
73598
73599 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
73600
73601         Work around bug in Solaris 10 /proc file system:
73602         /proc/self/fd/NNN/.. isn't the parent directory of
73603         the directory whose file descriptor is NNN.  This needs to
73604         be worked around at run time, not compile time, since a
73605         program might be built on Solaris 8, where things work, and
73606         run on Solaris 10.
73607         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
73608         to use the following interface instead:
73609         (OPENAT_BUFFER_SIZE): New macro.
73610         (openat_proc_name): New function.
73611         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
73612         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
73613         Likewise.
73614         * lib/openat-proc.c: New file.
73615         * modules/openat (Files): Add lib/openat-proc.c.
73616         (Depends-on): Add same-inode, stdbool.
73617         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
73618
73619 2006-09-29  Bruno Haible  <bruno@clisp.org>
73620
73621         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
73622         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
73623         argument. Set stdout_closed before testing for ferror, not after.
73624         (fwriteerror, fwriteerror_no_ebadf): New functions.
73625
73626 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73627
73628         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
73629
73630 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
73631
73632         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
73633         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
73634
73635 2006-09-28  Jim Meyering  <jim@meyering.net>
73636
73637         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
73638         Include <unistd.h>.
73639
73640 2006-09-28  Bruno Haible  <bruno@clisp.org>
73641
73642         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
73643         * modules/linkedhash-list (Depends-on): Likewise.
73644         * modules/rbtreehash-list (Depends-on): Likewise.
73645
73646 2006-09-28  Bruno Haible  <bruno@clisp.org>
73647
73648         * lib/strndup.h: Simplify the redefinition of strndup.
73649         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
73650         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
73651
73652 2006-09-28  Bruno Haible  <bruno@clisp.org>
73653
73654         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
73655         * lib/gl_linkedhash_list.c: Likewise.
73656         * lib/gl_rbtreehash_list.c: Likewise.
73657
73658 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
73659
73660         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
73661         getaddrinfo.
73662
73663         * lib/__fpending.h: Don't include <stdio_ext.h> unless
73664         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
73665         it causes <stdio_ext.h> to cause a compile-time error.
73666         Problem reported by Nelson H. F. Beebe.
73667         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
73668         of HAVE_DECL___PENDING.
73669
73670         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
73671         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
73672         declaration.
73673
73674 2006-09-27  Jim Meyering  <jim@meyering.net>
73675
73676         This file could end up with a definition for a function
73677         named __strndup, rather than rpl_strndup on a system with
73678         incomplete weak_alias support.
73679         * lib/strndup.c (strndup): Rename from __strndup.
73680         Remove #defines that used to map __strndup to strndup.
73681         Don't use K&R prototypes.
73682         Remove LIBC-related code, since this file is not sync'd with glibc.
73683         * lib/strndup.h: Revamp, accordingly.
73684         * m4/strndup.m4: Modernize.
73685
73686 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
73687
73688         * modules/savewd (Depends-on): Add 'raise'.
73689         * lib/savewd.c: Include <signal.h>, for 'raise'.
73690
73691 2006-09-26  Jim Meyering  <jim@meyering.net>
73692
73693         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
73694         when we detect Darwin 8.7.0's acl_get_file bug.
73695         Rearrange to perform the new (below) run-test while $LIBS
73696         contains any acl-related library.  Set USE_ACL at the end.
73697         (gl_ACL_GET_FILE): New function.
73698
73699 2006-09-26  Eric Blake  <ebb9@byu.net>
73700
73701         * lib/verror.c: Include <config.h> unconditionally.
73702
73703 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
73704
73705         * modules/clock-time (Maintainer): Add self.
73706         * modules/getlogin_r (Depends-on): Add extensions.
73707
73708 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73709
73710         * modules/clock-time: New module.
73711         * modules/nanosleep (Depends-on): Add clock-time.
73712         * modules/gethrxtime (Depends-on): Likewise.
73713         * modules/gettime (Depends-on): Likewise.
73714         * modules/settime (Depends-on): Likewise.
73715
73716         * modules/fts-lgpl: Depend on openat.
73717         * modules/mkancesdirs: Depend on savewd.
73718         * modules/mkdir-p: Likewise.
73719
73720 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73721
73722         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
73723
73724         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
73725         `gl_have_arbitrary_file_name_length_limit' to
73726         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
73727         actually works between configure runs.
73728
73729 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73730             Bruno Haible  <bruno@clisp.org>
73731
73732         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
73733
73734 2006-09-25  Jim Meyering  <jim@meyering.net>
73735
73736         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
73737         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
73738
73739 2006-09-25  Eric Blake  <ebb9@byu.net>
73740
73741         * gnulib-tool (func_import, func_create_testdir): Fix typos in
73742         exec's in 2006-09-18 patch when shuffling fds.
73743
73744 2006-09-25  Bruno Haible  <bruno@clisp.org>
73745
73746         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
73747         Reported by Jim Meyering.
73748
73749 2006-09-24  Jim Meyering  <jim@meyering.net>
73750
73751         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
73752         compare a pointer against a literal "0".  That caused failures with
73753         at least HP-UX's hpcc.
73754
73755 2006-09-22  Simon Josefsson  <jas@extundo.com>
73756
73757         * modules/gc-sha1:
73758         * modules/gc-md4:
73759         * modules/gc-hmac-sha1:
73760         * modules/gc-hmac-md5:
73761         * modules/gc-des:
73762         * modules/gc-arcfour: Distribute more files.
73763
73764 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73765
73766         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
73767         (gl_linked_iterator_from_to): Initialize struct completely.
73768         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
73769         (gl_tree_iterator_from_to): Likewise
73770         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
73771         * lib/gl_array_list.c [lint] (gl_array_iterator)
73772         (gl_array_iterator_from_to): Likewise.
73773         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
73774         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
73775         (gl_carray_iterator_from_to): Likewise.
73776
73777         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
73778         * lib/md4.c (md4_process_block): Remove unused variable.
73779         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
73780         parentheses for clarity.
73781
73782 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73783
73784         * modules/bison-i18n (Depends-on): Add gettext.
73785
73786 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73787
73788         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
73789         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
73790         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
73791         also add missing comma that caused broken test.
73792         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
73793         stdlib.h, for `abort'.
73794         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
73795         variables.
73796         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
73797         include unistd.h if present, for `rmdir'.
73798         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
73799         variables.
73800         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
73801         in the process include standard headers for prototypes.
73802         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
73803         gets declared on GNU/Linux.
73804         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
73805         unistd.h, for `rmdir'.
73806         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
73807
73808         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
73809         always true.
73810         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
73811
73812         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
73813
73814 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73815
73816         * gnulib-tool (func_version): Create output all at once.  This
73817         may help avoid triggering unnecessary SIGPIPEs, and at any
73818         rate it doesn't hurt.
73819
73820 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73821             Bruno Haible  <bruno@clisp.org>
73822
73823         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
73824         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
73825         * m4/signed.m4 (bh_C_SIGNED): Likewise.
73826
73827         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
73828         (gl_FUNC_VASPRINTF): Invoke it.
73829
73830 2006-09-22  Bruno Haible  <bruno@clisp.org>
73831
73832         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
73833         getloadavg.c as first argument.
73834
73835 2006-09-22  Bruno Haible  <bruno@clisp.org>
73836
73837         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
73838         at the beginning of the gl_INIT macro.
73839         * modules/getloadavg (configure.ac): Pass $gl_source_base to
73840         gl_GETLOADAVG.
73841
73842 2006-09-22  Bruno Haible  <bruno@clisp.org>
73843
73844         * gnulib-tool (func_create_megatestdir): Don't include the config-h
73845         module.
73846         Suggested by Ralf Wildenhues.
73847
73848 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
73849
73850         Import this patch from libc:
73851
73852         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
73853
73854         * lib/regex_internal.c (re_string_reconstruct): Handle
73855         offset < pstr->valid_raw_len && pstr->offsets_needed case.
73856         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
73857         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
73858         re_string_context_at.
73859
73860         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
73861         now requires it.
73862         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
73863         gl_REGEX now does it for us.
73864         (gl_REGEX): Add test taken from
73865         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
73866
73867         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
73868         Check that large offsets work.  Modernize Autoconf usages.
73869         Prefer "yes" to mean a good thing rather than a bad.
73870         Don't put "#define mkstemp" in config.h, as this might interfere
73871         with standard system headers that "#define mkstemp mkstemp64".
73872
73873         * modules/mkstemp (Depends-on): Add extensions, so that
73874         mkstemp is visible on some platforms.
73875         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
73876         (Include): Change to "mkstemp.h" from <stdlib.h>.
73877         (Files): Add mkstemp.h.
73878
73879         * lib/mkstemp.h: New file, since some standard headers
73880         #define mkstemp.
73881         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
73882         Include "mkstemp.h".
73883         Make the _LIBC code resemble glibc original more,
73884         e.g., use K&R style.
73885         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
73886         (mkstemp): Remove, since mkstemp.h does this for us.
73887         * lib/stdlib--.h: Include mkstemp.h.
73888
73889         Import this patch from libc:
73890
73891         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
73892
73893         * lib/tempname.c (__gen_tempname): Change attempts_min
73894         into a macro.  Use preprocessor to decide how to initialize
73895         attempts [Coverity CID 67].
73896
73897 2006-09-20  Bruno Haible  <bruno@clisp.org>
73898
73899         * lib/mkdtemp.c: Import from libc.
73900         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
73901                 * sysdeps/posix/tempname.c (__gen_tempname): Change
73902                 attempts_min into a macro.  Use preprocessor to decide how to
73903                 initialize attempts [Coverity CID 67].
73904         2001-11-27  Paul Eggert  <eggert@twinsun.com>
73905                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
73906                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
73907
73908 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73909
73910         * gnulib-tool (func_exit): New function, to allow to pass the
73911         exit status portably through the trap.  Use everywhere.
73912         (--help, --version): Signal a write error.
73913         (trap): catch SIGPIPE, for write errors.
73914         Exit at the end of the trap, with the correct exit status.
73915
73916 2006-09-19  Karl Berry  <karl@gnu.org>
73917
73918         * doc/gnulib.texi: note about the license texinfo files.
73919
73920 2006-09-19  Eric Blake  <ebb9@byu.net>
73921
73922         * gnulib-tool: Avoid space-tab.
73923
73924 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
73925
73926         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
73927         that prevented coreutils 6.1 from building.  Problem reported
73928         by Petter Reinholdtsen.
73929
73930 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
73931
73932         * gnulib-tool (avoidlist): Fix typo that broke options like
73933         --avoid=lock that are used by coreutils bootstrap.
73934
73935 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
73936
73937         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
73938         more systematically.
73939
73940 2006-09-18  Jim Meyering  <jim@meyering.net>
73941
73942         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
73943
73944 2006-09-18  Bruno Haible  <bruno@clisp.org>
73945
73946         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
73947
73948 2006-09-18  Bruno Haible  <bruno@clisp.org>
73949
73950         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
73951         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
73952         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
73953         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
73954         * m4/gettext.m4: Require autoconf >= 2.52.
73955         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
73956         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
73957         of gl_cv_header_inttypes_h.
73958
73959 2006-09-18  Bruno Haible  <bruno@clisp.org>
73960
73961         * lib/javaversion.c: Include configmake.h.
73962
73963 2006-09-18  Bruno Haible  <bruno@clisp.org>
73964
73965         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
73966         avoid that the while loops be executed in a subshell.
73967
73968 2006-09-18  Bruno Haible  <bruno@clisp.org>
73969
73970         * MODULES.html.sh (func_module): Break long lines.
73971         Suggested by Bruce Korb <bkorb@gnu.org>.
73972
73973 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73974
73975         Speed up by a factor of 1.12.
73976         * gnulib-tool (nl): New variable.
73977         (func_import): Rewrite include directive extraction to only read each
73978         directive once.
73979
73980 2006-09-17  Bruno Haible  <bruno@clisp.org>
73981
73982         * modules/javaversion (Makefile.am): Remove DEFS setting.
73983         (Depends-on): Add configmake, for PKGDATADIR definition.
73984
73985 2006-09-17  Bruno Haible  <bruno@clisp.org>
73986
73987         * gnulib-tool (func_create_testdir): Rewrite all files at once.
73988
73989 2006-09-17  Bruno Haible  <bruno@clisp.org>
73990
73991         * gnulib-tool (func_append): New function, stolen from libtool.m4.
73992         (func_modules_transitive_closure, func_modules_add_dummy,
73993         func_modules_to_filelist, func_import, func_create_testdir,
73994         func_create_megatestdir, ...): Use it wherever possible.
73995         Suggested by Ralf Wildenhues.
73996
73997 2006-09-16  Karl Berry  <karl@gnu.org>
73998
73999         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
74000         to avoid sectioning errors.
74001         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
74002         [ifinfo]: blank line after @center-ed titles.
74003         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
74004         Spell FSF address consistently with others.
74005         (These changes approved by rms.)
74006
74007 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74008
74009         Speed up by a factor of 1.61.
74010         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
74011         already checked module names again.
74012
74013 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74014
74015         Speed up by a factor of 1.13.
74016         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
74017         for new_files, and the input to func_add_or_update.
74018
74019 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74020
74021         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
74022         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
74023
74024 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
74025
74026         * modules/mkancesdirs (Depends-on): Add fcntl.
74027         * modules/savewd: New file.
74028         * MODULES.html.sh (File system functions): Add savewd.
74029
74030         * modules/configmake (Makefile.am): Add support for the
74031         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
74032
74033 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
74034
74035         * m4/savewd.m4: New file.
74036
74037 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
74038
74039         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
74040         (dirchownmod): New arg FD.  All callers changed.
74041         Use FD rather than opening the directory ourself, as opening is
74042         now the caller's responsibility.
74043         * lib/dirchownmod.h: Likewise.
74044         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
74045         hosts that require <sys/types.h> before <sys/stat.h>.  Include
74046         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
74047         (test_dir): Remove.
74048         (mkancesdirs): Return length of prefix of FILE that has already
74049         been made, or -2 if there is a child doing the work.  Redo
74050         algorithm so that it is O(N) rather than O(N**2).  Optimize away
74051         ".", and treat ".." specially since it might stray back into
74052         already-created areas.  Use a subprocess if necessary.  New arg
74053         WD; all users changed.  MAKE_DIR function should now return 1
74054         if it creates a directory that is not readable.  Return -2 if
74055         a child process is spun off.
74056         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
74057         Adjust signature to match code.
74058         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
74059         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
74060         all users changed.
74061         * lib/savewd.c, lib/savewd.h: New files.
74062
74063 2006-09-15  Jim Meyering  <jim@meyering.net>
74064
74065         * modules/rename-dest-slash: New module.
74066         * MODULES.html.sh (posix_compat): Add it here.
74067
74068         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
74069
74070 2006-09-15  Jim Meyering  <jim@meyering.net>
74071
74072         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
74073         file.
74074
74075         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
74076
74077 2006-09-15  Jim Meyering  <jim@meyering.net>
74078
74079         * lib/rename-dest-slash.c (has_trailing_slash): Use
74080         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
74081         (rpl_rename_dest_slash): Perform the cheaper trailing slash
74082         test before testing whether SRC is a directory.
74083         Suggestions from Bruno Haible.
74084
74085         Avoid a warning about an unused variable.
74086         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
74087         into the #ifdef block where it's used.
74088
74089         * lib/rename-dest-slash.c: New file.
74090
74091 2006-09-14  Bruno Haible  <bruno@clisp.org>
74092
74093         * lib/allocsa.c: Include <config.h> unconditionally.
74094         * lib/asnprintf.c: Likewise.
74095         * lib/asprintf.c: Likewise.
74096         * lib/c-strcasecmp.c: Likewise.
74097         * lib/c-strcasestr.c: Likewise.
74098         * lib/c-strncasecmp.c: Likewise.
74099         * lib/c-strstr.c: Likewise.
74100         * lib/classpath.c: Likewise.
74101         * lib/clean-temp.c: Likewise.
74102         * lib/concatpath.c: Likewise.
74103         * lib/copy-file.c: Likewise.
74104         * lib/csharpcomp.c: Likewise.
74105         * lib/csharpexec.c: Likewise.
74106         * lib/execute.c: Likewise.
74107         * lib/fatal-signal.c: Likewise.
74108         * lib/findprog.c: Likewise.
74109         * lib/fwriteerror.c: Likewise.
74110         * lib/gl_array_list.c: Likewise.
74111         * lib/gl_array_oset.c: Likewise.
74112         * lib/gl_avltree_list.c: Likewise.
74113         * lib/gl_avltree_oset.c: Likewise.
74114         * lib/gl_avltreehash_list.c: Likewise.
74115         * lib/gl_carray_list.c: Likewise.
74116         * lib/gl_linked_list.c: Likewise.
74117         * lib/gl_linkedhash_list.c: Likewise.
74118         * lib/gl_list.c: Likewise.
74119         * lib/gl_oset.c: Likewise.
74120         * lib/gl_rbtree_list.c: Likewise.
74121         * lib/gl_rbtree_oset.c: Likewise.
74122         * lib/gl_rbtreehash_list.c: Likewise.
74123         * lib/imaxabs.c: Likewise.
74124         * lib/imaxdiv.c: Likewise.
74125         * lib/javacomp.c: Likewise.
74126         * lib/javaexec.c: Likewise.
74127         * lib/javaversion.c: Likewise.
74128         * lib/linebreak.c: Likewise.
74129         * lib/localcharset.c: Likewise.
74130         * lib/lock.c: Likewise.
74131         * lib/mbchar.c: Likewise.
74132         * lib/mbswidth.c: Likewise.
74133         * lib/mkdtemp.c: Likewise.
74134         * lib/pipe.c: Likewise.
74135         * lib/printf-args.c: Likewise.
74136         * lib/printf-parse.c: Likewise.
74137         * lib/progname.c: Likewise.
74138         * lib/progreloc.c: Likewise.
74139         * lib/readlink.c: Likewise.
74140         * lib/sh-quote.c: Likewise.
74141         * lib/stpcpy.c: Likewise.
74142         * lib/stpncpy.c: Likewise.
74143         * lib/strcasecmp.c: Likewise.
74144         * lib/strcasestr.c: Likewise.
74145         * lib/strcspn.c: Likewise.
74146         * lib/striconv.c: Likewise.
74147         * lib/strncasecmp.c: Likewise.
74148         * lib/strnlen1.c: Likewise.
74149         * lib/strstr.c: Likewise.
74150         * lib/strtok_r.c: Likewise.
74151         * lib/tls.c: Likewise.
74152         * lib/tmpdir.c: Likewise.
74153         * lib/unicodeio.c: Likewise.
74154         * lib/unsetenv.c: Likewise.
74155         * lib/vasnprintf.c: Likewise.
74156         * lib/vasprintf.c: Likewise.
74157         * lib/wait-process.c: Likewise.
74158         * lib/xallocsa.c: Likewise.
74159         * lib/xsetenv.c: Likewise.
74160         * lib/xstriconv.c: Likewise.
74161
74162 2006-09-13  Simon Josefsson  <jas@extundo.com>
74163
74164         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
74165         that internally, suggested by Ralf Wildenhues
74166         <Ralf.Wildenhues@gmx.de>.
74167
74168 2006-09-13  Simon Josefsson  <jas@extundo.com>
74169
74170         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
74171         @LIBOBJS@.
74172         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74173
74174 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
74175
74176         * lib/_fpending.c: Include <config.h> unconditionally, since we no
74177         longer worry about uses that don't define HAVE_CONFIG_H.
74178         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
74179         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
74180         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
74181         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
74182         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
74183         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
74184         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
74185         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
74186         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
74187         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
74188         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
74189         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
74190         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
74191         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
74192         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
74193         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
74194         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
74195         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
74196         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
74197         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
74198         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
74199         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
74200         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
74201         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
74202         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
74203         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
74204         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
74205         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
74206         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
74207         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
74208         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
74209         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
74210         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
74211         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
74212         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
74213         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
74214         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
74215         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
74216         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
74217         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
74218         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
74219         Likewise.
74220
74221 2006-09-13  Eric Blake  <ebb9@byu.net>
74222
74223         * lib/getopt.c: Fix typo in last commit.
74224
74225 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
74226
74227         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
74228         dgettext.
74229
74230 2006-09-12  Jim Meyering  <jim@meyering.net>
74231
74232         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
74233         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
74234         Reported by Nelson H. F. Beebe.
74235
74236 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
74237
74238         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
74239         program_invocation_name and program_invocation_short_name are
74240         initialized.
74241         * lib/argp-namefrob.h: Move declarations of program_invocation_name
74242         and program_invocation_short_name to argp.h, so they are visible
74243         to user programs.
74244         * lib/argp.h: Likewise
74245
74246 2006-09-10  Bruno Haible  <bruno@clisp.org>
74247
74248         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
74249         m4/inttypes_h.m4, m4/uintmax_t.m4.
74250
74251 2006-09-10  Bruno Haible  <bruno@clisp.org>
74252
74253         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
74254         gl_AC_TYPE_UINTMAX_T.
74255
74256 2006-09-10  Bruno Haible  <bruno@clisp.org>
74257
74258         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
74259
74260 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
74261
74262         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
74263         convention.  Text proposed by Bruno Haible.
74264         (struct argp_option): Document the use of N_() wrappers.
74265
74266         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
74267         '\v', and translate the two parts separately, instead of feeding
74268         the whole string to gettext.  This allows to exclude
74269         '\v' from the strings visible to the translator by writing doc
74270         strings as N_("..") "\v" N_("..").
74271
74272 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
74273
74274         * config/srclist.txt: Undo latest change; the bug was fixed.
74275
74276 2006-09-09  Bruno Haible  <bruno@clisp.org>
74277
74278         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
74279         assignments if building a library without libtool.
74280         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
74281         in func_emit_lib_Makefile_am.
74282         (func_import): When building a static library libfoo.a, arrange to
74283         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
74284         (func_create_testdir): Likewise.
74285         * modules/gc (configure.ac, Makefile.am): If building statically,
74286         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
74287         * modules/iconvme (configure.ac, Makefile.am): Likewise.
74288         * modules/striconv (configure.ac, Makefile.am): Likewise.
74289         Based on a suggestion by Ralf Wildenhues.
74290
74291 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74292
74293         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
74294         Check for unistd.h too, since Autoconf doesn't assume POSIX.
74295         Also:
74296
74297         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74298         Add year_2050_test to catch glibc bug 2821
74299         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
74300
74301         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
74302         Prefer #ifdef to #if.
74303
74304         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
74305         Return from 'main' instead of calling 'exit'.
74306
74307 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74308
74309         * lib/mktime.c (guess_time_tm): Fix bug where mktime
74310         returned the maximum time_t value rather than (time_t) -1.
74311         Problem originally reported by William Bardwell
74312         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
74313
74314         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
74315         Moved to here ...
74316         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
74317         ... from here.
74318
74319 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74320
74321         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
74322         2821 is fixed.
74323
74324 2006-09-08  Jim Meyering  <jim@meyering.net>
74325
74326         Don't make generated files read-only.  That would bother too many
74327         people.  However, do retain the ability to work when targets are
74328         read-only: remove the destination and temporary files before writing
74329         them (when generated via sed or echo), or by using the -f option for
74330         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
74331         * modules/alloca-opt, modules/argz, modules/arpa_inet:
74332         * modules/byteswap, modules/configmake, modules/fcntl:
74333         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
74334         * modules/localcharset, modules/netinet_in, modules/poll:
74335         * modules/stdbool, modules/stdint, modules/sys_select:
74336         * modules/sys_socket, modules/sys_stat, modules/sysexits:
74337
74338 2006-09-08  Jim Meyering  <jim@meyering.net>
74339
74340         Avoid new build failure on FreeBSD 6.0.
74341         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
74342         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
74343         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
74344
74345 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74346
74347         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
74348
74349 2006-09-07  Jim Meyering  <jim@meyering.net>
74350
74351         Fix global typo in last change: use chmod u-w, not chmod u-x.
74352         Spotted by Paul Eggert and Bruce Korb.
74353         * modules/alloca-opt, modules/argz, modules/arpa_inet:
74354         * modules/byteswap, modules/configmake, modules/fcntl:
74355         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
74356         * modules/localcharset, modules/netinet_in, modules/poll:
74357         * modules/stdbool, modules/stdint, modules/sys_select:
74358         * modules/sys_socket, modules/sys_stat, modules/sysexits:
74359
74360 2006-09-06  Jim Meyering  <jim@meyering.net>
74361
74362         Make generated files be read-only.
74363         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
74364         Ensure that each generated file is now read-only.
74365         * modules/argz: Likewise.
74366         * modules/arpa_inet: Likewise.
74367         * modules/byteswap: Likewise.
74368         * modules/configmake: Likewise.
74369         * modules/fcntl: Likewise.
74370         * modules/fnmatch: Likewise.
74371         * modules/getopt: Likewise.
74372         * modules/glob: Likewise.
74373         * modules/inttypes: Likewise.
74374         * modules/netinet_in: Likewise.
74375         * modules/poll: Likewise.
74376         * modules/stdbool: Likewise.
74377         * modules/stdint: Likewise.
74378         * modules/sys_select: Likewise.
74379         * modules/sys_socket: Likewise.
74380         * modules/sys_stat: Likewise.
74381         * modules/sysexits: Likewise.
74382         * modules/localcharset: Same as above, but continue using temporary
74383         file named "t-$@" (why different?) rather than the "$@-t" used
74384         everywhere else.
74385
74386         * modules/sysexits (Makefile.am): Replace literal occurrences
74387         of "sysexit.h" more readable, and more consistent, "$@".
74388
74389 2006-09-06  Bruno Haible  <bruno@clisp.org>
74390
74391         * modules/striconv: New file.
74392         * modules/xstriconv: New file.
74393         * MODULES.html.sh (Internationalization functions): Add striconv,
74394         xstriconv.
74395
74396 2006-09-06  Bruno Haible  <bruno@clisp.org>
74397
74398         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
74399         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
74400         not using libtool correctly.
74401
74402 2006-09-06  Bruno Haible  <bruno@clisp.org>
74403
74404         * lib/striconv.h: New file.
74405         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
74406         iconvstring.c.
74407         * lib/xstriconv.h: New file.
74408         * lib/xstriconv.c: New file.
74409
74410 2006-09-06  Bruno Haible  <bruno@clisp.org>
74411
74412         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
74413         lib_..._LDFLAGS.
74414
74415 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74416
74417         * lib/argz_.h: Sync from Libtool.
74418
74419         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
74420                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
74421
74422         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
74423
74424 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
74425
74426         * modules/trim: New file.
74427
74428 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
74429
74430         * lib/trim.h: New file.
74431         * lib/trim.c: New file.
74432
74433 2006-09-05  Bruno Haible  <bruno@clisp.org>
74434
74435         * MODULES.html.sh (String handling): Add trim.
74436
74437 2006-09-04  Karl Berry  <karl@gnu.org>
74438
74439         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
74440         until next release.
74441
74442 2006-09-03  Bruno Haible  <bruno@clisp.org>
74443
74444         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
74445         correctly.
74446
74447 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74448
74449         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
74450         not gl_GETLOADAVG.  Omit unneeded semicolons.
74451         Problems reported by Ralf Wildenhues in
74452         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
74453         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
74454         at the end, which is the usual gnulib style.
74455
74456         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
74457         of doing all the work ourselves.
74458         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
74459         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
74460
74461 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74462
74463         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
74464         Problem reported by Ralf Wildenhues in
74465         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
74466
74467         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
74468         HAVE_STRUCT_STATFS_F_FSTYPENAME.
74469
74470 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74471
74472         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
74473         yesterday's patch by changing test -n to test -z.
74474
74475 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74476
74477         * modules/getloadavg (Files): Add m4/getloadavg.m4.
74478         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
74479         the former is now obsolescent.
74480
74481         * modules/chdir-long (Depends-on): Add fcntl.
74482
74483 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74484
74485         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
74486         obsolescent, and programs should use gnulib instead.
74487         * m4/getloadavg.m4: New file, with contents taken from Autoconf
74488         but with prefixes changed.
74489
74490 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74491
74492         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
74493         or stdbool.h, because they might not exist while configuring.
74494
74495         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
74496         Don't include unistd.h or limits.h; not needed, since chdir-long.h
74497         does that for us.
74498         (O_DIRECTORY): Remove.
74499
74500 2006-08-31  Eric Blake  <ebb9@byu.net>
74501
74502         * gnulib-tool: Don't let emacs change spaces to TAB.
74503
74504 2006-08-31  Bruno Haible  <bruno@clisp.org>
74505
74506         * gnulib-tool: When calling func_import more than once, do it in a
74507         subshell.
74508         Reported by Eric Blake <ebb9@byu.net>.
74509
74510 2006-08-31  Bruno Haible  <bruno@clisp.org>
74511
74512         * gnulib-tool (nl): Remove variable.
74513         (sed_transform_lib_file): Use more robust test for config-h module.
74514         (func_import): Fix typo in 2006-08-25 patch.
74515
74516 2006-08-31  Bruno Haible  <bruno@clisp.org>
74517
74518         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
74519         specified, augment Makefile.am variables instead of assigning them.
74520
74521 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
74522
74523         Work around a bug in both the Linux and SunOS 64-bit kernels:
74524         nanosleep mishandles sleeps for longer than 2**31 seconds.
74525         Problem reported by Frank v Waveren in
74526         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
74527         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
74528         Check for nanosleep bug.
74529         (LIB_NANOSLEEP): Append clock_gettime library if needed.
74530
74531 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
74532
74533         Work around a bug in both the Linux and SunOS 64-bit kernels:
74534         nanosleep mishandles sleeps for longer than 2**31 seconds.
74535         Problem reported by Frank v Waveren in
74536         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
74537         * lib/nanosleep.c (BILLION): New constant.
74538         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
74539         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
74540         implementation.
74541
74542 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
74543
74544         * modules/nanosleep (Depends-on): Add gettime.
74545
74546 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
74547         and Simon Josefsson  <jas@extundo.com>
74548         and Oskar Liljeblad  <oskar@osk.mine.nu>
74549
74550         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
74551         * gnulib-tool (func_import): New license type 'unmodifiable license
74552         text'.
74553         * modules/fdl: Use it.  Longer description.
74554         * module/gpl, module/lgpl: New files.
74555
74556 2006-08-30  Jim Meyering  <jim@meyering.net>
74557
74558         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
74559         shadowing the parameter.
74560
74561 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74562
74563         Sync from Libtool:
74564
74565         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74566
74567         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
74568         sharing with gnulib.  Report by Eric Blake.
74569
74570 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
74571
74572         * modules/isapipe: New file.
74573         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
74574
74575 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
74576
74577         * modules/configmake (Makefile.am): Add a comment, and omit
74578         the CONFIGMAKE_ prefix from generated macro names.  Suggested
74579         by Bruno Haible.
74580
74581 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
74582
74583         * m4/isapipe.m4: New file.
74584
74585 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
74586
74587         * lib/isapipe.c, lib/isapipe.h: New files.
74588
74589 2006-08-29  Jim Meyering  <jim@meyering.net>
74590
74591         * modules/configmake (Makefile.am): Make configmake.h depend on
74592         Makefile.  Otherwise, a stale configmake.h could hang around.
74593
74594 2006-08-29  Eric Blake  <ebb9@byu.net>
74595
74596         * lib/error.c (error_at_line, print_errno_message): Match libc, after
74597         resolution of upstream bug 3044.
74598
74599 2006-08-29  Bruno Haible  <bruno@clisp.org>
74600
74601         * modules/localcharset (Depends-on): Add configmake.
74602         (Makefile.am): Remove setting of LIBDIR through DEFS.
74603
74604 2006-08-29  Bruno Haible  <bruno@clisp.org>
74605
74606         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
74607         defined.
74608
74609 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
74610
74611         * modules/fcntl: New file.
74612         * modules/chdir-safer (Depends-on): Add fcntl.
74613         * modules/fts: Likewise.
74614         * modules/mkdir-p: Likewise.
74615
74616         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
74617         This undoes the most recent change, since we're now addressing the
74618         problem in a different way.
74619
74620         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
74621         into output, since the output might be called Makefile.am even
74622         if $makefile_name is something different.
74623         (func_import): Use $makefile_am rather than
74624         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
74625         empty.
74626
74627         * modules/inttypes (Files): Add m4/inttypes-h.m4.
74628
74629 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
74630
74631         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
74632         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
74633         recent change to stdint.m4, since we're now addressing the problem in a
74634         different way.
74635
74636 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
74637
74638         * m4/fcntl_h.m4: New file.
74639
74640 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
74641
74642         * lib/fcntl_.h: New file.
74643         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
74644         the fcntl module.
74645         * lib/dirchownmod.c: Likewise.
74646         * lib/fts.c: Likewise.
74647
74648         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
74649         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
74650         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
74651         just before including <inttypes.h>, to avoid circular inclusion.
74652
74653 2006-08-28  Jim Meyering  <jim@meyering.net>
74654
74655         * doc/visibility.texi: Actually read and correct the grammar of the
74656         sentence affected by yesterday's change.
74657
74658 2006-08-28  Eric Blake  <ebb9@byu.net>
74659
74660         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
74661         needs wrapper.
74662
74663 2006-08-28  Eric Blake  <ebb9@byu.net>
74664
74665         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
74666
74667 2006-08-28  Eric Blake  <ebb9@byu.net>
74668
74669         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
74670
74671 2006-08-28  Bruno Haible  <bruno@clisp.org>
74672
74673         * modules/c-strstr: New file, from GNU gettext.
74674         * MODULES.html.sh (String handling): Add c-strstr.
74675
74676 2006-08-28  Bruno Haible  <bruno@clisp.org>
74677
74678         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
74679         macros.
74680         Reported by Eric Blake.
74681
74682 2006-08-28  Bruno Haible  <bruno@clisp.org>
74683
74684         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
74685         (VASNPRINTF): Return a string of length > INT_MAX without failing.
74686         * lib/vasprintf.c: Include errno.h, limits.h.
74687         (EOVERFLOW): New fallback definition.
74688         (vasprintf): Test here whether the string length is > INT_MAX.
74689         * lib/vsnprintf.c: Include errno.h, limits.h.
74690         (EOVERFLOW): New fallback definition.
74691         (vsnprintf): Fix bug when generated string was too long for the buffer.
74692         Test here whether the string length is > INT_MAX.
74693
74694 2006-08-28  Bruno Haible  <bruno@clisp.org>
74695
74696         * lib/inttypes_.h (SCNX*): Remove definitions.
74697         Reported by Eric Blake.
74698
74699 2006-08-28  Bruno Haible  <bruno@clisp.org>
74700
74701         * lib/c-strstr.h: New file, from GNU gettext.
74702         * lib/c-strstr.c: New file, from GNU gettext.
74703
74704 2006-08-28  Bruno Haible  <bruno@clisp.org>
74705
74706         * gnulib-tool: Reorder some statements.
74707
74708 2006-08-28  Bruno Haible  <bruno@clisp.org>
74709
74710         * gnulib-tool: New option --makefile-name.
74711         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
74712         $makefile_name.
74713         (func_import): Write $makefile_name to the cache file, and read it from
74714         there unless explicitly specified. Use $makefile_name as file name
74715         instead of Makefile.am. Adjust the recommendations accordingly.
74716
74717 2006-08-28  Bruno Haible  <bruno@clisp.org>
74718
74719         * gnulib-tool (func_verify_module): Check against misapplying patch.
74720
74721 2006-08-28  Bruno Haible  <bruno@clisp.org>
74722
74723         * gnulib-tool (func_relativize, func_relconcat): New functions.
74724         Give an error if --local-dir is given with --update.
74725         Remove trailing slashes from $local_gnulib_dir.
74726         (func_import): Store the relativized $local_gnulib_dir in
74727         gnulib-cache.m4, and read it from there if not specified explicitly.
74728
74729 2006-08-28  Bruno Haible  <bruno@clisp.org>
74730
74731         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
74732         is the current directory. Respect also $local_gnulib_dir.
74733
74734 2006-08-28  Bruno Haible  <bruno@clisp.org>
74735             Simon Josefsson  <jas@extundo.com>
74736
74737         BeOS portability.
74738         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
74739
74740 2006-08-27  Jim Meyering  <jim@meyering.net>
74741
74742         * doc/visibility.texi: Remove duplicate word: "pointer".
74743
74744 2006-08-26  Bruno Haible  <bruno@clisp.org>
74745
74746         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
74747         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
74748         (Makefile.am): Create inttypes.h from inttypes_.h.
74749         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
74750
74751         * modules/imaxabs: New file.
74752
74753         * modules/imaxdiv: New file.
74754
74755 2006-08-26  Bruno Haible  <bruno@clisp.org>
74756
74757         * m4/inttypes.m4: New file.
74758         * m4/_inttypes_h.m4: Remove file.
74759         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
74760         PRI_MACROS_BROKEN.
74761         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
74762
74763         * m4/imaxabs.m4: New file.
74764
74765         * m4/imaxdiv.m4: New file.
74766
74767 2006-08-26  Bruno Haible  <bruno@clisp.org>
74768
74769         * lib/inttypes_.h: New file.
74770         * lib/inttypes.h: Remove file.
74771         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
74772
74773         * lib/imaxabs.c: New file.
74774
74775         * lib/imaxdiv.c: New file.
74776
74777 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
74778
74779         New config-h module, so that "make" output needn't be cluttered
74780         by -DHAVE_CONFIG_H.
74781         * MODULES.html.sh (Support for building libraries and executables):
74782         Add config-h.
74783         * modules/config-h: New file.
74784         * gnulib-tool (nl, sed_transform_lib_file): New vars.
74785         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
74786         the config-h module is used.
74787
74788         New configmake module, so that "make" output needn't be cluttered
74789         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
74790         * MODULES.html.sh (Support for building libraries and executables):
74791         Add configmake.
74792         * modules/configmake: New file.
74793
74794 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
74795
74796         * m4/config-h.m4: New file.
74797
74798 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
74799
74800         * config/srclist.txt: Add elisp-comp.
74801
74802 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
74803
74804         * MODULES.html.sh (Support for building libraries and executables):
74805         Add elisp-comp.
74806         * build-aux/elisp-comp: New file.
74807         * modules/elisp-comp: New file.
74808
74809 2006-08-24  Bruno Haible  <bruno@clisp.org>
74810
74811         * gnulib-tool (func_create_testdir): Use non-default values of
74812         sourcebase and m4base.
74813
74814 2006-08-24  Bruno Haible  <bruno@clisp.org>
74815
74816         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
74817         HTML structure.
74818
74819 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
74820
74821         * modules/openat (Depends-on): Add lchown.
74822
74823 2006-08-23  Bruno Haible  <bruno@clisp.org>
74824
74825         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
74826         of gl_LOCK_EARLY instead of gl_LOCK.
74827
74828 2006-08-23  Bruno Haible  <bruno@clisp.org>
74829
74830         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
74831         on OSF/1 to no.
74832         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
74833
74834 2006-08-23  Bruno Haible  <bruno@clisp.org>
74835
74836         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
74837         as unusable.
74838
74839         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
74840         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
74841         (gl_LOCK): New macro.
74842
74843 2006-08-22  Simon Josefsson  <jas@extundo.com>
74844
74845         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
74846         to md5 module.
74847
74848 2006-08-22  Simon Josefsson  <jas@extundo.com>
74849
74850         * MODULES.html.sh: Add "Support for maintaining and release
74851         projects".
74852
74853         * build-aux/gnupload: New file, from coreutils.
74854
74855 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
74856
74857         Avoid the need for AC_LIBSOURCES in m4 macros.
74858         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
74859         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
74860         * modules/check-version (EXTRA_DIST): Add check-version.h.
74861         * modules/crc (EXTRA_DIST): Add crc.h.
74862         * modules/des (EXTRA_DIST): Add des.h.
74863         * modules/gc (EXTRA_DIST): Add gc.h.
74864         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
74865         * modules/getline (EXTRA_DIST): Add getline.h.
74866         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
74867         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
74868         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
74869         * modules/md2 (EXTRA_DIST): Add md2.h.
74870         * modules/md4 (EXTRA_DIST): Add md4.h.
74871         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
74872         * modules/read-file (EXTRA_DIST): Add read-file.h.
74873         * modules/readline (EXTRA_DIST): Add readline.h.
74874         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
74875         rijndael-api-fst.h.
74876
74877 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
74878
74879         * m4/rijndael.m4 (gl_ARCFOUR):
74880         * m4/arctwo.m4 (gl_ARCTWO):
74881         * m4/check-version.m4 (gl_CHECK_VERSION):
74882         * m4/crc.m4 (gl_CRC):
74883         * m4/des.m4 (gl_DES):
74884         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
74885         * m4/gc.m4 (gl_GC):
74886         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
74887         * m4/getline.m4 (gl_FUNC_GETLINE):
74888         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
74889         * m4/hmac-md5.m4 (gl_HMAC_MD5):
74890         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
74891         * m4/md2.m4 (gl_MD2):
74892         * m4/md4.m4 (gl_MD4):
74893         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
74894         * m4/read-file.m4 (gl_FUNC_READ_FILE):
74895         * m4/readline.m4 (gl_FUNC_READLINE):
74896         * m4/rijndael.m4 (gl_RIJNDAEL):
74897         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
74898         to get the necessary .h files and whatnot.
74899
74900 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
74901
74902         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
74903         gnulib rather than the other way around.
74904         * config/srclistvars.sh (COREUTILS): Remove.
74905
74906 2006-08-22  Jim Meyering  <jim@meyering.net>
74907
74908         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
74909
74910         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
74911
74912 2006-08-22  Eric Blake  <ebb9@byu.net>
74913
74914         * modules/regexprops-generic: New file.
74915         * MODULES.html.sh (Support for building documentation): List it.
74916
74917 2006-08-22  Eric Blake  <ebb9@byu.net>
74918
74919         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
74920         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
74921         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
74922         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
74923
74924 2006-08-22  Bruno Haible  <bruno@clisp.org>
74925
74926         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
74927         and lib_LTLIBRARIES like the other lib_* variables.
74928
74929 2006-08-22  Bruno Haible  <bruno@clisp.org>
74930
74931         * build-aux/x-to-1.in: New file, from GNU gettext.
74932
74933 2006-08-22  Bruno Haible  <bruno@clisp.org>
74934
74935         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
74936         <utmpx.h> exists.
74937
74938 2006-08-22  Bruno Haible  <bruno@clisp.org>
74939
74940         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
74941         <utmpx.h> exists.
74942
74943 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
74944
74945         BeOS portability.
74946         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
74947         exist.
74948         Problem reported by Bruno Haible.
74949
74950 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
74951
74952         Avoid the need for AC_LIBSOURCES in m4 macros.
74953         * modules/acl (EXTRA_DIST): Add acl.h.
74954         * modules/argmatch (Files): Add m4/argmatch.m4.
74955         (configure.ac): Add gl_ARGMATCH.
74956         (EXTRA_DIST): Renamed from lib_SOURCES, for
74957         consistency with the other modules.  Remove argmatch.c.
74958         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
74959         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
74960         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
74961         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
74962         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
74963         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
74964         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
74965         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
74966         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
74967         * modules/closeout (EXTRA_DIST): Add closeout.h.
74968         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
74969         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
74970         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
74971         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
74972         dirname.h; remove basename.c and stripslash.c.
74973         * modules/exclude (EXTRA_DIST): Add exclude.h.
74974         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
74975         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
74976         * modules/file-type (EXTRA_DIST): Add file-type.h.
74977         * modules/filemode (EXTRA_DIST): Add filemode.h.
74978         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
74979         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
74980         * modules/fpending (EXTRA_DIST): Add __fpending.h.
74981         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
74982         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
74983         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
74984         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
74985         * modules/getdate (EXTRA_DIST): Add getdate.c.
74986         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
74987         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
74988         * modules/getpass (EXTRA_DIST): Add getpass.h.
74989         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
74990         * modules/group-member (EXTRA_DIST): Add group-member.h.
74991         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
74992         * modules/hash (EXTRA_DIST): Add hash.h.
74993         * modules/human (EXTRA_DIST): Add human.h.
74994         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
74995         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
74996         * modules/lchown (EXTRA_DIST): Add lchown.h.
74997         * modules/long-options (EXTRA_DIST): Add long-options.h.
74998         * modules/lstat (EXTRA_DIST): Add lstat.h.
74999         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
75000         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
75001         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
75002         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
75003         * modules/memxor (EXTRA_DIST): Add memxor.h.
75004         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
75005         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
75006         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
75007         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
75008         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
75009         * modules/physmem (EXTRA_DIST): Add physmem.h.
75010         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
75011         * modules/posixver (EXTRA_DIST): Add posixver.h.
75012         * modules/quote (EXTRA_DIST): Add quote.h.
75013         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
75014         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
75015         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
75016         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
75017         regex_internal.h regexec.c.
75018         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
75019         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
75020         * modules/same (EXTRA_DIST): Add same.h.
75021         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
75022         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
75023         * modules/savedir (EXTRA_DIST): Add savedir.h.
75024         * modules/sha1 (EXTRA_DIST): Add sha1.h.
75025         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
75026         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
75027         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
75028         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
75029         * modules/strdup (EXTRA_DIST): Add strdup.h.
75030         * modules/strftime (EXTRA_DIST): Add strftime.h.
75031         * modules/strndup (EXTRA_DIST): Add strndup.h.
75032         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
75033         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
75034         * modules/time_r (EXTRA_DIST): Add time_r.h.
75035         * modules/timespec (EXTRA_DIST): Add timespec.h.
75036         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
75037         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
75038         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
75039         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
75040         * modules/userspec (EXTRA_DIST): Add userspec.h.
75041         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
75042         * modules/utimens (EXTRA_DIST): Add utimens.h.
75043         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
75044         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
75045         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
75046         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
75047         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
75048         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
75049         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
75050         * modules/yesno (EXTRA_DIST): Add yesno.h.
75051
75052 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
75053
75054         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
75055
75056         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
75057         * m4/dev-ino.m4, same-inode.m4: Remove.
75058
75059         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
75060         * m4/acl.m4 (AC_FUNC_ACL):
75061         * m4/backupfile.m4 (gl_BACKUPFILE):
75062         * m4/c-strtod.m4 (gl_C99_STRTOLD):
75063         * m4/canon-host.m4 (gl_CANON_HOST):
75064         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
75065         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
75066         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
75067         * m4/cloexec.m4 (gl_CLOEXEC):
75068         * m4/close-stream.m4 (gl_CLOSE_STREAM):
75069         * m4/closeout.m4 (gl_CLOSEOUT):
75070         * m4/dirfd.m4 (gl_FUNC_DIRFD):
75071         * m4/dirname.m4 (gl_DIRNAME):
75072         * m4/exclude.m4 (gl_EXCLUDE):
75073         * m4/exitfail.m4 (gl_EXITFAIL):
75074         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
75075         * m4/file-type.m4 (gl_FILE_TYPE):
75076         * m4/filemode.m4 (gl_FILEMODE):
75077         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
75078         * m4/fpending.m4 (gl_FUNC_FPENDING):
75079         * m4/fprintftime.m4 (gl_FPRINTFTIME):
75080         * m4/fts.m4 (gl_FUNC_FTS):
75081         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
75082         * m4/getdate.m4 (gl_GETDATE):
75083         * m4/gethrxtime.m4 (gl_GETHRXTIME):
75084         * m4/getpagesize.m4 (gl_GETPAGESIZE):
75085         * m4/getpass.m4 (gl_FUNC_GETPASS):
75086         * m4/gettime.m4 (gl_GETTIME):
75087         * m4/getugroups.m4 (gl_GETUGROUPS):
75088         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
75089         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
75090         * m4/hard-locale.m4 (gl_HARD_LOCALE):
75091         * m4/hash.m4 (gl_HASH):
75092         * m4/idcache.m4 (gl_IDCACHE):
75093         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
75094         * m4/lchown.m4 (gl_FUNC_LCHOWN):
75095         * m4/long-options.m4 (gl_LONG_OPTIONS):
75096         * m4/lstat.m4 (gl_FUNC_LSTAT):
75097         * m4/md5.m4 (gl_MD5):
75098         * m4/memcasecmp.m4 (gl_MEMCASECMP):
75099         * m4/memcoll.m4 (gl_MEMCOLL):
75100         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
75101         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
75102         * m4/memxor.m4 (gl_MEMXOR):
75103         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
75104         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
75105         * m4/modechange.m4 (gl_MODECHANGE):
75106         * m4/mountlist.m4 (gl_MOUNTLIST):
75107         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
75108         * m4/openat.m4 (gl_FUNC_OPENAT):
75109         * m4/pathmax.m4 (gl_PATHMAX):
75110         * m4/physmem.m4 (gl_PHYSMEM):
75111         * m4/posixtm.m4 (gl_POSIXTM):
75112         * m4/posixver.m4 (gl_POSIXVER):
75113         * m4/quote.m4 (gl_QUOTE):
75114         * m4/quotearg.m4 (gl_QUOTEARG):
75115         * m4/readtokens.m4 (gl_READTOKENS):
75116         * m4/readutmp.m4 (gl_READUTMP):
75117         * m4/regex.m4 (gl_REGEX):
75118         * m4/safe-read.m4 (gl_SAFE_READ):
75119         * m4/safe-write.m4 (gl_SAFE_WRITE):
75120         * m4/same.m4 (gl_SAME):
75121         * m4/save-cwd.m4 (gl_SAVE_CWD):
75122         * m4/savedir.m4 (gl_SAVEDIR):
75123         * m4/settime.m4 (gl_SETTIME):
75124         * m4/sha1.m4 (gl_SHA1):
75125         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
75126         * m4/stat-macros.m4 (gl_STAT_MACROS):
75127         * m4/stat-time.m4 (gl_STAT_TIME):
75128         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
75129         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
75130         * m4/strdup.m4 (gl_FUNC_STRDUP):
75131         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
75132         * m4/strndup.m4 (gl_FUNC_STRNDUP):
75133         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
75134         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
75135         * m4/time_r.m4 (gl_TIME_R):
75136         * m4/timespec.m4 (gl_TIMESPEC):
75137         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
75138         * m4/unlinkdir.m4 (gl_UNLINKDIR):
75139         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
75140         * m4/userspec.m4 (gl_USERSPEC):
75141         * m4/utimecmp.m4 (gl_UTIMECMP):
75142         * m4/utimens.m4 (gl_UTIMENS):
75143         * m4/xalloc.m4 (gl_XALLOC):
75144         * m4/xgetcwd.m4 (gl_XGETCWD):
75145         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
75146         * m4/xreadlink.m4 (gl_XREADLINK):
75147         * m4/xstrtod.m4 (gl_XSTRTOD):
75148         * m4/yesno.m4 (gl_YESNO):
75149         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
75150         to get the necessary .h files and whatnot.
75151
75152 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
75153             Bruno Haible  <bruno@clisp.org>
75154
75155         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
75156         /bin/sh understanding of '!' conditional negation.
75157
75158 2006-08-21  Jim Meyering  <jim@meyering.net>
75159
75160         * modules/openat (Depends-on): Really alphabetize.
75161
75162         * modules/acl (Depends-on): Add error and quote.
75163
75164         * check-module (find_included_lib_files): Add at-func.c to the
75165         ok-to-include-more-than-once white list.
75166
75167         * modules/openat (Depends-on): Add lstat.  Alphabetize.
75168
75169 2006-08-21  Bruno Haible  <bruno@clisp.org>
75170
75171         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75172         Emit a pkgdata_DATA variable only if some snippets add contents to it.
75173         Reported by Martin Lambers <marlam@marlam.de>.
75174
75175 2006-08-21  Bruno Haible  <bruno@clisp.org>
75176
75177         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
75178         specify an installation location, don't emit a noinst_LIBRARIES or
75179         noinst_LTLIBRARIES assignment.
75180
75181 2006-08-21  Bruno Haible  <bruno@clisp.org>
75182
75183         BeOS portability.
75184         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
75185         BeOS has mbrtowc() but no <wctype.h>.
75186
75187 2006-08-21  Bruno Haible  <bruno@clisp.org>
75188
75189         BeOS portability.
75190         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
75191         exist.
75192
75193 2006-08-21  Bruno Haible  <bruno@clisp.org>
75194
75195         BeOS portability.
75196         * lib/mbchar.h: Include <wctype.h> only if it exists.
75197
75198 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75199
75200         Remove files that are no longer needed by their respective modules.
75201         * m4/obstack.m4: Remove.
75202         * m4/strerror_r.m4: Remove.
75203         * m4/uint32_t.m4: Remove.
75204         * m4/uintptr_t.m4: Remove.
75205         * m4/ullong_max.m4: Remove.
75206         * m4/xstrtoimax.m4: Remove.
75207         * m4/xstrtoumax.m4: Remove.
75208
75209         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
75210         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
75211         dependencies now capture this.
75212
75213         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
75214         Do not use AC_LIBSOURCES, since gnulib modules now do this.
75215         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
75216         * m4/human.m4 (gl_HUMAN): Likewise.
75217         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
75218         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
75219
75220         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
75221
75222         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
75223         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
75224         stdint.
75225         * m4/human.m4 (gl_HUMAN): Likewise.
75226         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
75227         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
75228         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
75229         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
75230         * m4/xstrtol (gl_XSTRTOL): Likewise.
75231
75232         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
75233         AC_TYPE_LONG_LONG_INT.
75234         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
75235         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
75236         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
75237         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
75238
75239         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
75240         on stdbool.
75241
75242         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
75243         (gl_PREREQ_XSTRTOUL): Remove.
75244
75245         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
75246
75247         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
75248         mode.
75249
75250 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75251
75252         Add and change modules to make it easier for coreutils to use
75253         gnulib-tool.
75254         * modules/backupfile (Files): Remove m4/d-ino.m4.
75255         (Depends-on): Add d-ino.
75256         * modules/cycle-check (Depends-on): Add stdint.
75257         (lib_SOURCES): Add cycle-check.h.
75258         * modules/d-ino: New module.
75259         * modules/d-type: New module.
75260         * modules/error (Files): Remove m4/strerror_r.m4.
75261         * modules/filemode (Files): Add m4/st_dm_mode.m4.
75262         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
75263         m4/inttypes_h.m4, m4/uintmax_t.m4.
75264         (Depends-on): Add stdint.
75265         (lib_SOURCES): Add fsusage.h.
75266         * modules/getcwd (Files): Remove d-ino.m4.
75267         (Depends-on): Add d-ino.
75268         * modules/getndelim2 (Depends-on): Add stdint.
75269         * modules/glob (Files): Remove m4/d-type.m4.
75270         (Depends-on): Add d-type.
75271         * modules/host-os: New module.
75272         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
75273         m4/inttypes_h.m4, m4/uintmax_t.m4.
75274         * Depends-on: Add stdint.
75275         (lib_SOURCES): Add human.h.
75276         * modules/inttostr (Files): Remove m4/intmax_t.m4,
75277         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
75278         m4/uintmax_t.m4, m4/ulonglong.m4.
75279         (Depends-on): Add stdint.
75280         (EXTRA_DIST): Add inttostr.h.
75281         * modules/lchmod: New module.
75282         * modules/link-follow: New module.
75283         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
75284         (Depends-on): Add lchmod.
75285         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
75286         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
75287         (Depends-on): Add stdint.
75288         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
75289         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
75290         (Depends-on): Add stdint.
75291         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
75292         * modules/perl: New module.
75293         * modules/regex (Depends-on): Add stdint.
75294         * modules/rmdir-errno: New module.
75295         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
75296         m4/intmax_t.m4.
75297         (Depends-on): Add stdint.
75298         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
75299         m4/uintmax_t.m4.
75300         (Depends-on): Add stdint.
75301         * modules/unlink-busy: New module.
75302         * modules/utimecmp (Depends-on): Add stdint.
75303         * modules/uptime: New module.
75304         * modules/winsz-ioctl: New module.
75305         * modules/winsz-termios: New module.
75306         * modules/xnanosleep (Depends-on): Add nanosleep.
75307         * modules/ullong_max: Remove.
75308         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
75309         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
75310         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
75311         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
75312         (Depends-on): Add inttypes.
75313         (lib_SOURCES): Add xstrtol.h.
75314         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
75315         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
75316         * MODULES.html.sh: Move 'assert' into the assert section.
75317         Move 'dummy' into the linking section.
75318         Remove ullong_max.
75319         Add section for compatibility checks for POSIX:2001 functions,
75320         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
75321         winsz-ioctl, and winsz-termios into it.
75322         Add lchmod.
75323         Add top-level Misc section and put host-os, perl, and uptime
75324         into it.
75325
75326 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75327
75328         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
75329         now assume the stdint module.  Do not include inttypes.h.
75330         * lib/fsusage.h: Likewise.
75331         * lib/getndelim2.c: Likewise.
75332         * lib/human.h: Likewise.
75333         * lib/inttostr.h: Likewise.
75334         * lib/obstack.c: Likewise.
75335         * lib/regex_internal.h: Likewise.
75336         * lib/tempname.c: Likewise.
75337         * lib/utimecmp.c: Likewise.
75338         * lib/xstrtol.h: Likewise.
75339
75340         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
75341
75342         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
75343         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
75344         * lib/xtime.h: Likewise.
75345
75346 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75347
75348         * modules/openat (Files): Add lib/fchmodat.c.
75349         Fixes problem reported by Jay Youngman.
75350
75351 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75352
75353         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
75354         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
75355
75356 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
75357             Bruno Haible  <bruno@clisp.org>
75358
75359         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
75360         and is a script that invokes bison. Tighten the code. Add comments.
75361
75362 2006-08-18  Jim Meyering  <jim@meyering.net>
75363
75364         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
75365         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
75366         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
75367         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
75368
75369 2006-08-18  Bruno Haible  <bruno@clisp.org>
75370
75371         * modules/bison-i18n: New file.
75372         * MODULES.html.sh (Internationalization functions): Add it.
75373
75374 2006-08-18  Bruno Haible  <bruno@clisp.org>
75375
75376         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
75377         sys/statvfs.h. When getmntinfo was found, check its declaration and
75378         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
75379
75380 2006-08-18  Bruno Haible  <bruno@clisp.org>
75381
75382         * m4/bison-i18n.m4: New file, from bison.
75383
75384 2006-08-18  Bruno Haible  <bruno@clisp.org>
75385
75386         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
75387         (ME_DUMMY): Treat "kernfs" as a dummy.
75388         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
75389
75390 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
75391
75392         Update from coreutils.
75393
75394         2006-08-15  Jim Meyering  <jim@meyering.net>
75395
75396         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
75397
75398         2006-01-17  Jim Meyering  <jim@meyering.net>
75399
75400         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
75401
75402         2006-01-11  Jim Meyering  <jim@meyering.net>
75403
75404         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
75405         Check for the lchmod function.
75406
75407 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
75408
75409         Update from coreutils.
75410
75411         * lib/__fpending.h: Add copyright notice.
75412         * lib/fprintftime.h: Likewise.
75413         * lib/savedir.c: Use (C) in copyright notice.
75414         * lib/savedir.h: Likewise.
75415
75416         2006-08-15  Jim Meyering  <jim@meyering.net>
75417
75418         * lib/at-func.c: New file, with the logic of all emulated at-functions.
75419         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
75420         in support of the EXPECTED_ERRNO macro.
75421         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
75422         definitions.  Instead, define the appropriate symbols and include
75423         "at-func.c".
75424         * lib/mkdirat.c (mkdirat): Likewise.
75425         * lib/fchmodat.c (fchmodat): Likewise.
75426         (ENOSYS): Remove definition.
75427         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
75428         it.  Don't include "unistd--.h" -- it wasn't ever used.
75429
75430         2006-01-17  Jim Meyering  <jim@meyering.net>
75431
75432         Rewrite fts.c not to change the current working directory,
75433         by using openat, fstatat, fdopendir, etc..
75434
75435         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
75436         (HAVE_OPENAT_SUPPORT): Define.
75437         [_LIBC] (fchdir): Don't undef or define; no longer used.
75438         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
75439         Now, this `function' always succeeds, and consumes its file descriptor
75440         parameter -- so callers must not close such FDs.  Update callers.
75441         (diropen_fd, opendirat, cwd_advance_fd): New functions.
75442         (diropen): Add parameter, SP.  Adjust all callers.
75443         Implement using diropen_fd, rather than open.
75444         (fts_open): Initialize new member, fts_cwd_fd.
75445         Remove fts_rft-setting code.
75446         (fts_close): Close fts_cwd_fd, if necessary.
75447         (__opendir2): Define in terms of opendir or opendirat,
75448         depending on whether the FST_NOCHDIR flag is set.
75449         (fts_build): Since fts_safe_changedir consumes its FD, and since
75450         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
75451         and close the dup'd file descriptor upon failure.
75452         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
75453         (fts_safe_changedir): Tweak semantics to reflect that this function
75454         now calls cwd_advance_fd and hence consumes its FD argument.
75455         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
75456         [struct FTS] (fts_rft): Remove now-unused member.
75457         [struct FTS] (fts_cycle.state): Improve comment.
75458
75459         * lib/openat.c (openat_needs_fchdir): New function.
75460         * lib/openat.h (openat_needs_fchdir): Declare it.
75461
75462 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
75463
75464         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
75465         Problem and fix reported by Pádraig Brady in
75466         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
75467
75468 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75469
75470         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
75471
75472 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75473
75474         * lib/memcoll.c (memcoll): Optimize for the common case where the
75475         arguments are bytewise equal.
75476
75477 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75478
75479         * doc/regexprops-generic.texi: Add a copyright notice.
75480
75481 2006-08-15  Bruno Haible  <bruno@clisp.org>
75482
75483         * modules/tmpdir (License): Change to LGPL.
75484
75485 2006-08-15  Bruno Haible  <bruno@clisp.org>
75486
75487         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
75488         module.
75489
75490 2006-08-14  Simon Josefsson  <jas@extundo.com>
75491
75492         * config/srclist.txt: Add gnupload.
75493
75494 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
75495
75496         Change copyright notice from LGPL 2 to GPL 2, since that's the
75497         standard form used in the gnulib repository.
75498         * tests/test-lock.c: Likewise.
75499         * tests/test-stdint.c: Likewise.
75500         * tests/test-tls.c: Likewise.
75501
75502         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
75503         prelude-manager.  User shorter URLs for GNU projects, without '?'.
75504         Add copyright notice.
75505
75506         * check-module: Add copyright notice.  Output a copyright
75507         notice if "--version" is specified.
75508         * modules/COPYING: New file.
75509         * tests/test-getaddrinfo.c: Add copyright notice.
75510         * tests/test-verify.c: Likewise.
75511
75512 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
75513
75514         Change copyright notice from LGPL 2 to GPL 2, since that's the
75515         standard form used in the gnulib repository.
75516         * lib/lock.c: LGPL -> GPL.
75517         * lib/lock.h: Likewise.
75518         * lib/strnlen1.c: Likewise.
75519         * lib/strnlen1.h: Likewise.
75520         * lib/tls.c: Likewise.
75521         * lib/tls.h: Likewise.
75522         * lib/tmpdir.c: Likewise.
75523
75524         * lib/TODO: Remove; this belongs only in coreutils.
75525
75526 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
75527
75528         Add copyright notices to long-enough files that lack them, since
75529         otherwise the files aren't clearly free.  Use the same notice that
75530         getdate.texi already uses.
75531         * doc/alloca-opt.texi: Add copyright notice.
75532         * doc/alloca.texi: Likewise.
75533         * doc/ctime.texi: Likewise.
75534         * doc/functions.texi: Likewise.
75535         * doc/gcd.texi: Likewise.
75536         * doc/gnulib-tool.texi: Likewise.
75537         * doc/inet_ntoa.texi: Likewise.
75538         * doc/visibility.texi: Likewise.
75539
75540         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
75541         * doc/quote.texi: Add copyright notice.
75542
75543         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
75544         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
75545         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
75546         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
75547         is now obsolete, and give a pointer to the Sun list.
75548         Add copyright notice.
75549
75550 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
75551
75552         * config/srclistvars.sh: Add copyright notice.
75553
75554 2006-08-14  Eric Blake  <ebb9@byu.net>
75555
75556         Import the following change from libc:
75557
75558         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
75559
75560         Upstream bug 2997.
75561         * lib/misc/error.c: Add space between program name and message if file
75562         name is missing.
75563
75564 2006-08-12  Karl Berry  <karl@gnu.org>
75565
75566         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
75567         remove, these originate in gnulib now.
75568
75569 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75570
75571         * doc/Makefile (standards.info standards.html standards.dvi):
75572         Also depend on make-stds.texi.
75573
75574 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
75575
75576         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
75577         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
75578
75579         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
75580         in wchar_t.  Problem reported by Eric Blake.
75581
75582         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
75583         LEN is smaller than SIZE.  Suggested by Bruno Haible.
75584         Also, help the compiler to keep LEN in a register.
75585
75586 2006-08-11  Eric Blake  <ebb9@byu.net>
75587
75588         * users.txt: Sort.  Add tar.
75589
75590 2006-08-11  Bruno Haible  <bruno@clisp.org>
75591
75592         * users.txt: New file.
75593
75594 2006-08-11  Bruno Haible  <bruno@clisp.org>
75595
75596         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
75597         before <wchar.h>. Needed for OSF/1 and BSD/OS.
75598
75599 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
75600
75601         * modules/snprintf (Depends-on): Remove minmax.
75602         (Maintainer): Add self and Bruno.
75603
75604 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
75605
75606         * lib/.cppi-disable: Add snprintf.h, socket_.h.
75607         * lib/snprintf.c: Include <errno.h> and <limits.h>.
75608         (EOVERFLOW): Define if the system does not.
75609         Do not include "minmax.h"; it wasn't used.
75610         (snprintf): Don't assume size_t promotes to an unsigned type.
75611         Fix bug when generated string was too long for the buffer: the
75612         buffer's contents are supposed to be the initial prefix of the
75613         output.  Don't assume vasnprintf returns EOVERFLOW if the size
75614         exceeds INT_MAX; do the check ourselves.
75615
75616         Import the following changes from libc:
75617
75618         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
75619
75620         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
75621         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
75622         set wc to the byte which couldn't be converted.
75623         (re_string_reconstruct): Don't clear valid_raw_len before calling
75624         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
75625         tip_context using re_string_context_at.
75626
75627         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
75628
75629         * lib/posix/regex.h: g++ still cannot handled [restrict].
75630
75631         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
75632
75633         * lib/posix/regex.h: Remove special handling for VMS.
75634
75635 2006-08-10  Jim Meyering  <jim@meyering.net>
75636
75637         * modules/same-inode: New module.
75638         * modules/dev-ino: New module.
75639         * modules/cycle-check: Depend on these modules, rather than simply
75640         including their .h files.
75641         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
75642         required via m4/cycle-check.m4.
75643         * modules/same: Depend on new same-inode module, rather than
75644         including same-inode.h.
75645         * modules/chdir-safer: New file.
75646
75647         * modules/chown (Depends-on): Add stat-macros.
75648
75649 2006-08-10  Jim Meyering  <jim@meyering.net>
75650
75651         * m4/cycle-check.m4: New file.
75652         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
75653         * m4/dev-ino.m4, m4/same-inode.m4: New files.
75654
75655 2006-08-10  Eric Blake  <ebb9@byu.net>
75656
75657         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
75658         in from original proposal.
75659
75660 2006-08-10  Eric Blake  <ebb9@byu.net>
75661         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
75662
75663         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
75664         namespace.
75665
75666 2006-08-10  Bruno Haible  <bruno@clisp.org>
75667
75668         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
75669         as well.
75670
75671 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
75672
75673         Sync from coreutils.
75674
75675         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
75676
75677         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
75678         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
75679
75680 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
75681
75682         * modules/restrict: Remove; no longer needed now that we assume
75683         Autoconf 2.59 or later.
75684         * MODULES.html.sh: Remove 'restrict'.
75685         * modules/argp (Depends-on): Remove 'restrict'.
75686         * modules/base64 (Depends-on): Likewise.
75687         * modules/gc (Depends-on): Likewise.
75688         * modules/getaddrinfo (Depends-on): Likewise.
75689         * modules/glob (Depends-on): Likewise.
75690         * modules/inet_ntop (Depends-on): Likewise.
75691         * modules/inet_pton (Depends-on): Likewise.
75692         * modules/memxor (Depends-on): Likewise.
75693         * modules/regex (Depends-on): Likewise.
75694         * modules/strtok_r (Depends-on): Likewise.
75695         * modules/time_r (Depends-on): Likewise.
75696
75697 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
75698
75699         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
75700         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
75701         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
75702         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
75703         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
75704         * m4/memxor.m4 (gl_MEMXOR): Likewise.
75705         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
75706         gl_C_RESTRICT replaced by AC_C_RESTRICT.
75707
75708         Merge from coreutils.
75709         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
75710         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
75711         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
75712         * m4/time_r.m4 (gl_TIME_R): Likewise.
75713
75714 2006-08-09  Karl Berry  <karl@gnu.org>
75715
75716         * config/srclist.txt: no more gettext-tools, per Bruno.
75717
75718 2006-08-08  Eric Blake  <ebb9@byu.net>
75719
75720         * modules/verror: New module.
75721         * MODULES.html.sh: Document it.
75722
75723 2006-08-08  Eric Blake  <ebb9@byu.net>
75724
75725         * lib/verror.h, lib/verror.c: New files.
75726
75727 2006-08-08  Eric Blake  <ebb9@byu.net>
75728
75729         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
75730         verror_at_line output complies with GNU Coding Standards even when
75731         file is NULL.
75732
75733 2006-08-07  Bruno Haible  <bruno@clisp.org>
75734
75735         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
75736         versions of AIX.
75737         Reported by Ralf Wildenhues.
75738
75739 2006-08-07  Bruno Haible  <bruno@clisp.org>
75740
75741         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
75742         in an AC_DEFUN. Needed so that the autoconf snippets can use
75743         AC_REQUIRE.
75744
75745 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75746
75747         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75748         Initialize pkgdata_DATA.
75749         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
75750         overriding it.
75751
75752 2006-08-06  Eric Blake  <ebb9@byu.net>
75753
75754         * lib/error.h: Fold in some upstream changes from glibc.
75755         * lib/error.c: Likewise.
75756
75757 2006-08-04  Bruno Haible  <bruno@clisp.org>
75758
75759         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75760         Make the mostlyclean-local rule depend on mostlyclean-generic.
75761         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
75762
75763 2006-07-31  Bruno Haible  <bruno@clisp.org>
75764
75765         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
75766         <stdlib.h>, <string.h>.
75767
75768 2006-07-30  Bruno Haible  <bruno@clisp.org>
75769
75770         * modules/readlink (License): Change to LGPL.
75771
75772 2006-07-30  Bruno Haible  <bruno@clisp.org>
75773
75774         * modules/javaversion (Makefile.am): Distribute javaversion.java and
75775         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
75776         set PKGDATADIR to point to it.
75777
75778 2006-07-30  Bruno Haible  <bruno@clisp.org>
75779
75780         * modules/csharpexec (configure.ac): Comment out macro invocation.
75781         * modules/javaexec (configure.ac): Likewise.
75782         * modules/javacomp-script (configure.ac): Likewise.
75783
75784         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
75785
75786 2006-07-30  Bruno Haible  <bruno@clisp.org>
75787
75788         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
75789         linked-list.
75790
75791 2006-07-30  Bruno Haible  <bruno@clisp.org>
75792
75793         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
75794
75795 2006-07-30  Bruno Haible  <bruno@clisp.org>
75796
75797         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75798         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
75799         get removed.
75800
75801 2006-07-29  Bruno Haible  <bruno@clisp.org>
75802
75803         Make it possible for gnulib-tool to work with locally modified or
75804         augmented gnulib repositories.
75805         * gnulib-tool (func_usage): Document --local-dir option.
75806         (local_gnulib_dir): New variable.
75807         Handle --local-dir option.
75808         (func_lookup_file): New function.
75809         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
75810         (func_get_description, func_get_filelist, func_get_description,
75811         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
75812         func_get_automake_snippet, func_get_include_directive,
75813         func_get_license, func_get_maintainer): Use func_lookup_file.
75814         (func_import, func_create_testdir): Use func_lookup_file.
75815
75816 2006-07-29  Bruno Haible  <bruno@clisp.org>
75817
75818         * modules/setenv (Depends-on): Add unistd.
75819
75820 2006-07-29  Bruno Haible  <bruno@clisp.org>
75821
75822         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
75823
75824 2006-07-29  Bruno Haible  <bruno@clisp.org>
75825
75826         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
75827
75828 2006-07-29  Bruno Haible  <bruno@clisp.org>
75829
75830         * gnulib-tool (import, update): If there is no Makefile.am, look at
75831         aclocal.m4, instead of bailing out.
75832
75833 2006-07-29  Bruno Haible  <bruno@clisp.org>
75834
75835         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
75836         Categorize the options by when they are useful.
75837
75838 2006-07-29  Bruno Haible  <bruno@clisp.org>
75839
75840         * gnulib-tool (func_usage): Document option --no-libtool.
75841         Handle option --no-libtool.
75842         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
75843         for changed semantics of $libtool variable.
75844         (func_import): Likewise. If libtool is not used, show this through
75845         an option --no-libtool.
75846         (func_create_testdir): Update.
75847
75848 2006-07-29  Bruno Haible  <bruno@clisp.org>
75849
75850         * gnulib-tool (func_import): Extend error message about missing
75851         --doc-base.
75852
75853 2006-07-29  Bruno Haible  <bruno@clisp.org>
75854
75855         * gnulib-tool (func_import): Don't create the $docbase directory if
75856         there is no file to store there.
75857
75858 2006-07-29  Bruno Haible  <bruno@clisp.org>
75859
75860         * gnulib-tool (autoconf_minversion): If a --dir option is given and
75861         relevant, look for configure.ac there, not in the current directory.
75862         Also use a simple search for AC_PREREQ, not "autoconf --trace".
75863
75864 2006-07-29  Bruno Haible  <bruno@clisp.org>
75865
75866         * gnulib-tool (SORT): New variable.
75867         (func_usage): Undocument --assume-autoconf option.
75868         Remove --assume-autoconf option handling.
75869         (autoconf_minversion): Determine from the contents of configure.ac.
75870         (func_import): Remove autoconf_minversion handling.
75871         Suggested by Eric Blake.
75872
75873 2006-07-29  Bruno Haible  <bruno@clisp.org>
75874
75875         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
75876
75877 2006-07-29  Bruno Haible  <bruno@clisp.org>
75878
75879         * config/srclist.txt (*setenv.[ch]): Remove rules.
75880
75881 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75882
75883         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
75884
75885 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75886
75887         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
75888         arpa/inet.h.
75889
75890 2006-07-28  Simon Josefsson  <jas@extundo.com>
75891
75892         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
75893         * modules/inet_pton (Depends-on): Likewise.
75894
75895 2006-07-28  Simon Josefsson  <jas@extundo.com>
75896
75897         * m4/netinet_in_h.m4: New file.
75898
75899 2006-07-28  Simon Josefsson  <jas@extundo.com>
75900
75901         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
75902         #include's.
75903
75904 2006-07-28  Simon Josefsson  <jas@extundo.com>
75905
75906         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
75907         #include's.
75908
75909 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
75910
75911         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
75912         setgid on directories only if they set these bits.
75913         * lib/modechange.h: Remove obsolete comment about masks.
75914
75915 2006-07-28  Eric Blake  <ebb9@byu.net>
75916
75917         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
75918         macro expansion.
75919
75920 2006-07-28  Bruno Haible  <bruno@clisp.org>
75921
75922         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
75923
75924 2006-07-28  Bruno Haible  <bruno@clisp.org>
75925
75926         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
75927
75928 2006-07-28  Bruno Haible  <bruno@clisp.org>
75929
75930         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
75931         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
75932         Define fallbacks.
75933         Avoids link error on FreeBSD 4.x.
75934         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
75935
75936         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
75937         encoding.
75938         * lib/mbswidth.c (iswcntrl): Likewise.
75939
75940 2006-07-27  Bruno Haible  <bruno@clisp.org>
75941
75942         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
75943         test.
75944
75945 2006-07-27  Bruno Haible  <bruno@clisp.org>
75946
75947         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
75948         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
75949         defined.
75950
75951 2006-07-26  Eric Blake  <ebb9@byu.net>
75952
75953         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
75954
75955 2006-07-26  Eric Blake  <ebb9@byu.net>
75956
75957         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
75958         like mingw that lack mkstemp.
75959         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
75960         avoid compilation warning on mingw.
75961
75962 2006-07-26  Bruno Haible  <bruno@clisp.org>
75963
75964         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
75965         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
75966         INT_FAST*_MIN, INTPTR_MIN.
75967
75968 2006-07-25  Bruno Haible  <bruno@clisp.org>
75969
75970         * modules/version-etc (Depends-on): Add stdarg.
75971
75972 2006-07-25  Bruno Haible  <bruno@clisp.org>
75973
75974         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
75975         complex commands.
75976
75977 2006-07-25  Bruno Haible  <bruno@clisp.org>
75978
75979         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
75980         defined in <stdarg.h> or config.h.
75981
75982 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
75983
75984         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
75985         (gl_STDIO_SAFER): Remove.
75986
75987 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
75988
75989         * MODULES.html.sh (File stream based Input/Output):
75990         Add fopen-safer, tmpfile-safer; remove stdio-safer.
75991         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
75992         * modules/fopen-safer, modules/tmpfile-safer: New files.
75993         * modules/stdio-safer: Remove.
75994
75995 2006-07-24  Bruno Haible  <bruno@clisp.org>
75996
75997         * modules/tmpdir: New file.
75998         * MODULES.html.sh (File system functions): Add it.
75999
76000 2006-07-24  Bruno Haible  <bruno@clisp.org>
76001
76002         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
76003         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
76004
76005 2006-07-24  Bruno Haible  <bruno@clisp.org>
76006
76007         * modules/clean-temp: New file.
76008
76009 2006-07-24  Bruno Haible  <bruno@clisp.org>
76010
76011         * m4/tmpdir.m4: New file, from GNU gettext.
76012
76013 2006-07-24  Bruno Haible  <bruno@clisp.org>
76014
76015         * lib/tmpdir.h: New file, from GNU gettext.
76016         * lib/tmpdir.c: New file, from GNU gettext.
76017
76018 2006-07-24  Bruno Haible  <bruno@clisp.org>
76019
76020         * lib/clean-temp.h: New file, from GNU gettext.
76021         * lib/clean-temp.c: New file, from GNU gettext.
76022
76023 2006-07-23  Eric Blake  <ebb9@byu.net>
76024
76025         * modules/stdio-safer (Files): Add tmpfile-safer.c.
76026         (Depends-on): Add binary-io.
76027
76028 2006-07-23  Eric Blake  <ebb9@byu.net>
76029
76030         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
76031
76032 2006-07-23  Eric Blake  <ebb9@byu.net>
76033
76034         * lib/tmpfile-safer.c: New file.
76035         * lib/stdio-safer.h (fopen_safer): Add prototype.
76036         * lib/stdio--.h (tmpfile): Make safer.
76037
76038 2006-07-23  Bruno Haible  <bruno@clisp.org>
76039
76040         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
76041         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
76042         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
76043         gl_linked_remove_at): Use it.
76044
76045 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76046         and Simon Josefsson <jas@extundo.com>
76047
76048         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
76049
76050         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
76051
76052 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
76053
76054         * modules/close-stream: New file.
76055         * modules/closeout (Description): Make it clear that it exits
76056         with a diagnostic on error.
76057         (Depends-on): Add close-stream.  Remove fpending, stdbool.
76058         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
76059
76060 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
76061
76062         * m4/close-stream.m4: New file.
76063
76064 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
76065
76066         * lib/close-stream.c, lib/close-stream.h: New files.
76067
76068 2006-07-22  Bruno Haible  <bruno@clisp.org>
76069
76070         Merge from GNU gettext 0.15.
76071
76072         2006-05-01  Bruno Haible  <bruno@clisp.org>
76073
76074                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
76075
76076         2006-07-22  Bruno Haible  <bruno@clisp.org>
76077
76078                 * modules/javaversion: New file.
76079                 * MODULES.html.sh (Java): Add javaversion.
76080
76081         2006-03-12  Bruno Haible  <bruno@clisp.org>
76082
76083                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
76084
76085         2005-12-04  Bruno Haible  <bruno@clisp.org>
76086
76087                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
76088                 (untested).
76089
76090         2006-06-21  Bruno Haible  <bruno@clisp.org>
76091
76092                 Avoid warnings from recent versions of mcs.
76093                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
76094                 -o, -L, -r any more. Use options documented since mcs-1.0
76095                 instead. Similarly for -g.
76096
76097         2005-12-04  Bruno Haible  <bruno@clisp.org>
76098
76099                 * build-aux/csharpcomp.sh.in: Suffix for resources is
76100                 .resources, not .resource.
76101
76102         2005-07-09  Bruno Haible  <bruno@clisp.org>
76103
76104                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
76105                 add a .dll suffix.
76106                 Reported by Mark Junker <mjscod@gmx.de>.
76107
76108         2006-07-22  Bruno Haible  <bruno@clisp.org>
76109
76110                 * modules/gettext: Upgrade to gettext-0.15.
76111                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
76112                 m4/visibility.m4.
76113                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
76114
76115 2006-07-22  Bruno Haible  <bruno@clisp.org>
76116
76117         Merge from GNU gettext 0.15.
76118
76119         2006-03-25  Bruno Haible  <bruno@clisp.org>
76120
76121                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
76122
76123         2006-07-21  Bruno Haible  <bruno@clisp.org>
76124
76125                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
76126                 "1.1".
76127
76128         2006-05-09  Bruno Haible  <bruno@clisp.org>
76129
76130                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
76131                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
76132                 for the conftestver execution.
76133
76134         2006-05-01  Bruno Haible  <bruno@clisp.org>
76135
76136                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
76137                 optional target-version argument. Verify that the compiler
76138                 groks source of the specified source-version, or add -source
76139                 option as necessary. Verify that the compiler produces
76140                 bytecode in the specified target-version, or add -target and
76141                 -source options as necessary. Make the result of the test
76142                 available as variable CONF_JAVAC. Also log error output in
76143                 config.log.
76144
76145         2006-03-11  Bruno Haible  <bruno@clisp.org>
76146
76147                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
76148
76149         2006-05-09  Bruno Haible  <bruno@clisp.org>
76150
76151                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
76152                 CLASSPATH_SEPARATOR to a semicolon.
76153
76154         2006-03-12  Bruno Haible  <bruno@clisp.org>
76155
76156                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
76157                 available as variable CONF_JAVA, for subsequent autoconf
76158                 tests. Also log error output in config.log.
76159
76160         2006-07-19  Bruno Haible  <bruno@clisp.org>
76161
76162                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
76163                 that getline works on glibc2 systems. Needed to avoid trouble
76164                 in relocatable.c.
76165                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
76166
76167         2005-12-04  Bruno Haible  <bruno@clisp.org>
76168
76169                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
76170                 launcher (untested).
76171
76172         2005-12-04  Bruno Haible  <bruno@clisp.org>
76173
76174                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
76175
76176         2006-07-22  Bruno Haible  <bruno@clisp.org>
76177
76178                 * gettext.m4: Update from GNU gettext-0.15.
76179                 * nls.m4: Likewise.
76180                 * po.m4: Likewise.
76181                 * inttypes-pri.m4: Likewise.
76182                 * inttypes-h.m4: Renamed from inttypes.m4.
76183                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
76184
76185 2006-07-22  Bruno Haible  <bruno@clisp.org>
76186
76187         Merge from GNU gettext 0.15.
76188
76189         2005-07-05  Bruno Haible  <bruno@clisp.org>
76190
76191                 * printf-args.c (printf_fetchargs): Work around broken
76192                 definition of wint_t on mingw.
76193
76194         2005-02-12  Bruno Haible  <bruno@clisp.org>
76195
76196                 * xallocsa.h: Add extern "C" for C++.
76197
76198         2006-05-17  Bruno Haible  <bruno@clisp.org>
76199
76200                 Cygwin portability.
76201                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
76202
76203         2006-04-30  Bruno Haible  <bruno@clisp.org>
76204
76205                 * progreloc.c: Include <mach-o/dyld.h> if available.
76206                 (find_executable): Use _NSGetExecutablePath when possible.
76207
76208         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76209
76210                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
76211                 function.
76212
76213         2005-12-29  Bruno Haible  <bruno@clisp.org>
76214
76215                 * progreloc.c (set_program_name_and_installdir): Fix
76216                 compilation error.
76217
76218         2005-12-04  Bruno Haible  <bruno@clisp.org>
76219
76220                 Cygwin portability.
76221                 * progreloc.c: Include <windows.h> also on Cygwin.
76222                 (find_executable): Add support for Cygwin.
76223                 (set_program_name_and_installdir): Handle also platforms with
76224                 nonempty EXEEXT.
76225
76226         2006-07-11  Bruno Haible  <bruno@clisp.org>
76227
76228                 * javacomp.c: Fix a comment.
76229                 Reported by Jim Meyering.
76230
76231         2006-04-30  Bruno Haible  <bruno@clisp.org>
76232
76233                 * javacomp.h (compile_java_class): Add source_version,
76234                 target_version arguments.
76235                 * javacomp.c: Rewritten to choose only a compiler that
76236                 respects the specified source_version and target_version.
76237
76238         2006-06-27  Bruno Haible  <bruno@clisp.org>
76239
76240                 Assume correct S_ISDIR macro.
76241                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
76242
76243         2006-07-22  Bruno Haible  <bruno@clisp.org>
76244
76245                 * javaversion.h: New file, from GNU gettext.
76246                 * javaversion.c: New file, from GNU gettext.
76247                 * javaversion.java: New file, from GNU gettext.
76248                 * javaversion.class: New file, from GNU gettext.
76249
76250         2006-05-17  Bruno Haible  <bruno@clisp.org>
76251
76252                 Cygwin portability.
76253                 * javaexec.c (execute_java_class): Test for jview program
76254                 also on Cygwin.
76255
76256         2006-04-09  Bruno Haible  <bruno@clisp.org>
76257
76258                 * fatal-signal.c: Don't include string.h.
76259                 (at_fatal_signal): Use a copying loop instead of memcpy.
76260
76261         2005-12-04  Bruno Haible  <bruno@clisp.org>
76262
76263                 * csharpexec.c: Add support for 'clix' launcher (untested).
76264                 (execute_csharp_using_sscli): New function.
76265                 (execute_csharp_program): Call it.
76266
76267         2006-06-21  Bruno Haible  <bruno@clisp.org>
76268
76269                 Avoid warnings from recent versions of mcs.
76270                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
76271                 -o, -L, -r any more. Use options documented since mcs-1.0
76272                 instead. Similarly for -g.
76273
76274         2005-07-09  Bruno Haible  <bruno@clisp.org>
76275
76276                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
76277                 add a .dll suffix.
76278                 Reported by Mark Junker <mjscod@gmx.de>.
76279
76280         2006-06-17  Bruno Haible  <bruno@clisp.org>
76281
76282                 * config.charset: Update for NetBSD 3.0.
76283
76284         2006-05-17  Bruno Haible  <bruno@clisp.org>
76285
76286                 Cygwin portability.
76287                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
76288
76289         2006-05-16  Bruno Haible  <bruno@clisp.org>
76290
76291                 * localcharset.c [CYGWIN]: Include <windows.h>.
76292                 (get_charset_aliases): For Cygwin, return the same CPxxx
76293                 aliases list as under WIN32.
76294                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
76295                 the environment variables. Fall back to GetACP().
76296
76297         2006-04-05  Bruno Haible  <bruno@clisp.org>
76298
76299                 * config.charset: Update Juan Manuel Guerrero's address.
76300
76301         2005-02-12  Bruno Haible  <bruno@clisp.org>
76302
76303                 * allocsa.h: Add extern "C" for C++.
76304
76305         2005-02-10  Bruno Haible  <bruno@clisp.org>
76306
76307                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
76308                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
76309
76310         2006-07-22  Bruno Haible  <bruno@clisp.org>
76311
76312                 * gettext.h: Update to GNU gettext-0.15.
76313
76314 2006-07-22  Bruno Haible  <bruno@clisp.org>
76315
76316         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
76317         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
76318         lib-prefix.m4, longdouble.m4, ssize_t.m4.
76319
76320 2006-07-21  Eric Blake  <ebb9@byu.net>
76321
76322         * modules/stdlib-safer: New file.
76323         * MODULES.html.sh (File stream based Input/Output): Add
76324         stdlib-safer.
76325
76326 2006-07-21  Eric Blake  <ebb9@byu.net>
76327
76328         * lib/stdlib-safer.h: New file from coreutils, required by
76329         stdlib--.h.
76330
76331 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
76332
76333         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
76334
76335 2006-07-20  Bruno Haible  <bruno@clisp.org>
76336
76337         * gnulib-tool: Recognize new option --assume-autoconf.
76338         (autoconf_minversion): New variable.
76339         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
76340
76341 2006-07-20  Bruno Haible  <bruno@clisp.org>
76342
76343         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
76344
76345 2006-07-19  Derek R. Price  <derek@ximbiot.com>
76346
76347         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
76348         Reindent and repaginate.
76349
76350 2006-07-19  Derek Price  <derek@ximbiot.com>
76351
76352         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
76353         Correct grammar.
76354
76355 2006-07-17  Bruno Haible  <bruno@clisp.org>
76356
76357         * modules/list: New file.
76358         * modules/array-list: New file.
76359         * modules/carray-list, modules/carray-list-tests: New files.
76360         * modules/linked-list, modules/linked-list-tests: New files.
76361         * modules/avltree-list, modules/avltree-list-tests: New files.
76362         * modules/rbtree-list, modules/rbtree-list-tests: New files.
76363         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
76364         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
76365         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
76366         * modules/oset: New file.
76367         * modules/array-oset: New file.
76368         * modules/avltree-oset, modules/avltree-oset-tests: New files.
76369         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
76370         * tests/test-carray_list.c: New file.
76371         * tests/test-linked_list.c: New file.
76372         * tests/test-avltree_list.c: New file.
76373         * tests/test-rbtree_list.c: New file.
76374         * tests/test-linkedhash_list.c: New file.
76375         * tests/test-avltreehash_list.c: New file.
76376         * tests/test-rbtreehash_list.c: New file.
76377         * tests/test-avltree_oset.c: New file.
76378         * tests/test-rbtree_oset.c: New file.
76379         * MODULES.html.sh (Container data structures): New section.
76380
76381 2006-07-17  Bruno Haible  <bruno@clisp.org>
76382
76383         * m4/gl_list.m4: New file.
76384
76385 2006-07-17  Bruno Haible  <bruno@clisp.org>
76386
76387         * lib/gl_list.h: New file.
76388         * lib/gl_list.c: New file.
76389         * lib/gl_array_list.h: New file.
76390         * lib/gl_array_list.c: New file.
76391         * lib/gl_carray_list.h: New file.
76392         * lib/gl_carray_list.c: New file.
76393         * lib/gl_linked_list.h: New file.
76394         * lib/gl_linked_list.c: New file.
76395         * lib/gl_anylinked_list1.h: New file.
76396         * lib/gl_anylinked_list2.h: New file.
76397         * lib/gl_avltree_list.h: New file.
76398         * lib/gl_avltree_list.c: New file.
76399         * lib/gl_anyavltree_list1.h: New file.
76400         * lib/gl_anyavltree_list2.h: New file.
76401         * lib/gl_rbtree_list.h: New file.
76402         * lib/gl_rbtree_list.c: New file.
76403         * lib/gl_anyrbtree_list1.h: New file.
76404         * lib/gl_anyrbtree_list2.h: New file.
76405         * lib/gl_anytree_list1.h: New file.
76406         * lib/gl_anytree_list2.h: New file.
76407         * lib/gl_linkedhash_list.h: New file.
76408         * lib/gl_linkedhash_list.c: New file.
76409         * lib/gl_anyhash_list1.h: New file.
76410         * lib/gl_anyhash_list2.h: New file.
76411         * lib/gl_avltreehash_list.h: New file.
76412         * lib/gl_avltreehash_list.c: New file.
76413         * lib/gl_rbtreehash_list.h: New file.
76414         * lib/gl_rbtreehash_list.c: New file.
76415         * lib/gl_anytreehash_list1.h: New file.
76416         * lib/gl_anytreehash_list2.h: New file.
76417
76418         * lib/gl_oset.h: New file.
76419         * lib/gl_oset.c: New file.
76420         * lib/gl_array_oset.h: New file.
76421         * lib/gl_array_oset.c: New file.
76422         * lib/gl_avltree_oset.h: New file.
76423         * lib/gl_avltree_oset.c: New file.
76424         * lib/gl_rbtree_oset.h: New file.
76425         * lib/gl_rbtree_oset.c: New file.
76426         * lib/gl_anytree_oset.h: New file.
76427
76428 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
76429
76430         * m4/mkancesdirs.m4: New file.
76431         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
76432         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
76433         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
76434         it.
76435
76436 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
76437
76438         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
76439         * lib/mkancesdirs.h: New files.
76440         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
76441         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
76442         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
76443         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
76444         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
76445         callers changed.  Revamp internals significantly, by not
76446         attempting to create directories that are temporarily more
76447         permissive than the final results.  Do not attempt to use
76448         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
76449         This removes some race conditions, fixes some bugs, and simplifies
76450         things.  Use new dirchownmod function to do owner and mode changes.
76451         * lib/mkdir-p.h: Likewise.
76452         * lib/modechange.c (octal_to_mode): New function.
76453         (struct mode_change): New member mentioned.
76454         (make_node_op_equals): New arg mentioned.  All callers changed.
76455         (mode_compile): Keep track of which mode bits the user has explicitly
76456         mentioned.
76457         (mode_adjust): New arg DIR, so that we implement the X op correctly.
76458         New arg PMODE_BITS, to keep track of which mode bits the user
76459         mentioned; it treats S_ISUID and S_ISGID speciall.
76460         All callers changed.
76461         * lib/modechange.h: Likewise.
76462
76463 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
76464
76465         * MODULES.html.sh: Add mkancestors.
76466         * modules/mkancesdirs: New module.
76467         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
76468         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
76469         The chdir-safer and afs files are now orphans; I'll remove them
76470         unless someone speaks up.
76471         Add lib/dirchownmod.c, lib/dirchownmod.h.
76472         (Depends-on): Remove alloca, chown, save-cwd, dirname.
76473         Add lchown, mkancesdirs.
76474         (Maintainer): Add self.
76475
76476 2006-07-15  Karl Berry  <karl@gnu.org>
76477
76478         * gnulib-tool: help message wording/arrangement.
76479
76480 2006-07-14  Simon Josefsson  <jas@extundo.com>
76481
76482         * doc/gnulib.texi (Libtool and Windows): New section.
76483
76484 2006-07-12  Simon Josefsson  <jas@extundo.com>
76485
76486         * modules/gendocs (License): Fix license, approved by Karl.
76487
76488 2006-07-12  Eric Blake  <ebb9@byu.net>
76489
76490         * MODULES.html.sh: Add gendocs.
76491
76492 2006-07-11  Eric Blake  <ebb9@byu.net>
76493
76494         * modules/fdl: New module, to install doc/fdl.texi.
76495         * MODULES.html.sh: Add new section for documentation modules.
76496         * gnulib-tool: Avoid space-tab.
76497         (--doc-base): New option, to manage files from doc.
76498
76499 2006-07-11  Eric Blake  <ebb9@byu.net>
76500
76501         * m4/absolute-header.m4: Fix comments to match recent change.
76502
76503 2006-07-11  Eric Blake  <ebb9@byu.net>
76504
76505         * gnulib-tool: List --doc-base before --tests-base.
76506
76507 2006-07-11  Derek R. Price  <derek@ximbiot.com>
76508
76509         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
76510
76511 2006-07-11  Bruno Haible  <bruno@clisp.org>
76512
76513         * README: Mention where to put documentation.
76514
76515 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76516
76517         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
76518
76519 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
76520
76521         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
76522         to stdint.m4.
76523
76524 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
76525
76526         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
76527         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
76528         "no/such/file/stdint.h" when there is no such file, so that
76529         the resulting C code can be parsed by dodgy compilers.
76530         Problems reported by Bob Proulx.
76531
76532 2006-07-10  Derek R. Price  <derek@ximbiot.com>
76533
76534         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
76535         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
76536         macros into the GNU _D_EXACT_NAMLEN.
76537         * lib/savedir.c:  Likewise.
76538         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
76539
76540 2006-07-10  Derek R. Price  <derek@ximbiot.com>
76541         and Paul Eggert  <eggert@cs.ucla.edu>
76542
76543         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
76544         * m4/savedir.m4:
76545         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
76546         macros into the GNU _D_EXACT_NAMLEN.
76547
76548 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
76549
76550         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
76551         around the absolute name, to work around a problem with the HP-UX
76552         11.23 native C compiler, reported by Bob Proulx.
76553
76554 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
76555
76556         * doc/maintain.texi, make-stds.texi: Sync from
76557         <http://savannah.gnu.org/projects/gnustandards>.
76558
76559 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
76560
76561         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
76562
76563 2006-07-09  Jim Meyering  <jim@meyering.net>
76564
76565         * m4/glob.m4: Remove a doubled word in a comment.
76566
76567 2006-07-09  Jim Meyering  <jim@meyering.net>
76568
76569         * lib/argp-pv.c: Remove a doubled word in a comment.
76570         * lib/check-version.c (check_version): Likewise.
76571         * lib/javacomp.c (compile_java_class): Likewise.
76572
76573 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
76574
76575         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
76576         for the benefit of people using Autoconf 2.60.  If you want to
76577         support older Autoconf versions you can copy m4/onceonly_2_57.m4
76578         (or m4/onceonly.m4, if pre-2.57) manually.
76579
76580 2006-07-08  Jim Meyering  <jim@meyering.net>
76581
76582         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
76583         comment.
76584         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
76585         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
76586         comment.
76587
76588 2006-07-08  Jim Meyering  <jim@meyering.net>
76589
76590         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
76591
76592 2006-07-07  Simon Josefsson  <jas@extundo.com>
76593
76594         * tests/test-crc.c: Change expected crc value, the test vector
76595         were probably computed using the old broken crc.c?
76596
76597 2006-07-06  Simon Josefsson  <jas@extundo.com>
76598
76599         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
76600         now the canonical place for the M4 file).
76601
76602         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
76603         from the sys_socket dependency now.
76604
76605         * modules/inet_pton (Files): Ditto.
76606
76607         * modules/inet_ntop (Files): Ditto.
76608
76609 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
76610
76611         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
76612         not gl_PREREQ_GETUSERSHELL.
76613
76614 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76615
76616         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
76617         with only one argument, for Autoconf 2.60.
76618         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
76619         expand to nothing, so add a shell command to avoid syntax error.
76620         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
76621
76622 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76623
76624         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
76625
76626 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
76627
76628         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
76629         no longer needed.  Check for isblank decl.
76630         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
76631         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
76632         of existence.
76633
76634 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
76635
76636         * lib/getloadavg.c: Use __VMS, not VMS.
76637         * lib/getopt.c: Likewise.
76638         * lib/getpagesize.h: Likewise.
76639         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
76640         and probably does not work.
76641
76642 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
76643
76644         * lib/.cppi-disable: Add wcwidth.
76645         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
76646         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
76647         (ISGRAPH): Remove.  All uses changed to isgraph.
76648         (FOLD) [!defined _LIBC]: Remove special case.
76649         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
76650         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
76651         HAVE_ISBLANK.
76652         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
76653         case.
76654
76655 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
76656
76657         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
76658         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
76659         brackets.  Other minor changes to suppress some compiler
76660         warnings.
76661
76662 2006-07-06  Derek R. Price  <derek@ximbiot.com>
76663         and Paul Eggert  <eggert@cs.ucla.edu>
76664
76665         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
76666         of invoking obsolescent AC_HEADER_DIRENT macro.
76667         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
76668         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
76669         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
76670         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
76671         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
76672         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
76673         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
76674         * m4/readdir.m4: Remove; no longer needed.
76675
76676 2006-07-06  Derek R. Price  <derek@ximbiot.com>
76677         and Paul Eggert  <eggert@cs.ucla.edu>
76678
76679         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
76680         Don't worry about this obsolete case any more.
76681         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
76682         directories.
76683         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
76684         worry about this obsolete case any more.
76685         * lib/fts.c: Likewise.
76686         * lib/getcwd.c: Likewise.
76687         * lib/glob.h: Likewise.
76688         * lib/savedir.c: Likewise.
76689
76690 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
76691
76692         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
76693         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
76694         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
76695         needed.
76696         All uses removed.
76697         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
76698         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
76699         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
76700         needed.
76701         * m4/getdate.m4 (gl_GETDATE): Likewise.
76702         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
76703         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
76704         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
76705         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
76706         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
76707         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
76708         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
76709         needed.
76710
76711 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
76712
76713         * lib/memcasecmp.c: Include <limits.h>.
76714         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
76715         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
76716         Don't assume isdigit succeeds only on '0' through '9'.
76717
76718 2006-07-05  Eric Blake  <ebb9@byu.net>
76719
76720         * modules/getaddrinfo (Depends-on): Add snprintf.
76721
76722 2006-07-05  Eric Blake  <ebb9@byu.net>
76723
76724         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
76725         to avoid 'header present but could not be compiled' on cygwin.
76726
76727 2006-07-05  Eric Blake  <ebb9@byu.net>
76728
76729         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
76730         missing from netdb.h.
76731         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
76732
76733 2006-07-05  Derek R. Price  <derek@ximbiot.com>
76734
76735         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
76736         no longer needed.
76737         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
76738         * m4/getdate.m4 (gl_GETDATE): Likewise.
76739         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
76740         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
76741         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
76742         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
76743         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
76744
76745 2006-07-05  Derek R. Price  <derek@ximbiot.com>
76746
76747         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
76748         All uses of is_space replaced by isspace.
76749         * lib/exit.h: Don't talk about STDC_HEADERS.
76750         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
76751         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
76752         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
76753         replaced by isprint etc.
76754         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
76755         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
76756         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
76757         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
76758         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
76759         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
76760
76761 2006-07-05  Bruno Haible  <bruno@clisp.org>
76762
76763         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
76764         the function exists, before testing against AIX.
76765         Reported by Martin Lambers <marlam@marlam.de>.
76766
76767 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
76768
76769         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
76770         From Mark D. Baushke.
76771
76772 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
76773
76774         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
76775         to the absolute name, not just one, to bypass Sun C 5.8's
76776         "warning: #include of /usr/include/... may be non-portable".
76777
76778 2006-07-04  Eric Blake  <ebb9@byu.net>
76779
76780         * modules/dirname-tests: New test module.
76781         * tests/test-dirname.c: New file, replacing dirname.c
76782         TEST_DIRNAME section that was recently deleted.
76783
76784 2006-07-04  Bruno Haible  <bruno@clisp.org>
76785
76786         Assume ANSI C header files and <ctype.h> functions.
76787         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
76788         (mbsnwidth): Use isprint, iscntrl instead.
76789
76790 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76791
76792         Merge from coreutils.
76793         * MODULES.html.sh: Add xstrtold.
76794         * modules/xstrtold: New file.
76795         * modules/cycle-check (Files): Add lib/same-inode.h.
76796         * modules/dirname (Files): Add m4/double-slash-root.m4.
76797         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
76798         * modules/mkdir-p (Files): Add lib/same-inode.h.
76799         * modules/same (Files): Add lib/same-inode.h.
76800
76801 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76802
76803         * m4/absolute-header.m4: Renamed from full-header-path.m4.
76804         This is to keep the terminology clean; POSIX talks about
76805         "absolute pathnames", not "full pathnames", but the GNU
76806         Coding Standards say to use "path" for something else;
76807         so use "absolute" to keep both sides happy.
76808         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
76809         Set gl_absolute_header, not gl_full_header_path.
76810         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
76811         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
76812         All uses changed.
76813
76814         Merge from coreutils.
76815
76816         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
76817
76818         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
76819         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
76820         want to require the building of c-strtod.o.
76821         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
76822         needs -lm directly.
76823         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
76824
76825         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
76826
76827         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
76828         --as-needed option if available.  Problem reported by Albert Chin in
76829         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
76830         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
76831         cc merely issues a bunch of annoying warnings for --as-needed
76832         (this problem was reported by Bob Proulx).  Also, try linking with
76833         -lm to detect a bug in binutils 2.16 (this problem was reported
76834         by Ralf Wildenhues).
76835
76836         2006-06-18  Jim Meyering  <jim@meyering.net>
76837
76838         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
76839         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
76840         macro.
76841         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
76842         also check for glibc-2.4's abort-inducing bug.
76843
76844         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
76845         Low-probability clean-up should be to use rmdir to get rid of
76846         the just-created directory, not unlink.
76847
76848         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
76849         configure fail, and request a bug report to inform us about it.
76850         Add a comment that, barring reports to the contrary, in 2007 we'll
76851         assume ftruncate is universally available.
76852
76853         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
76854
76855         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
76856
76857         2006-03-12  Jim Meyering  <jim@meyering.net>
76858
76859         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
76860         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
76861         * m4/same.m4 (gl_SAME): Likewise.
76862         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
76863
76864         2006-03-11  Eric Blake  <ebb9@byu.net>
76865
76866         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
76867         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
76868         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
76869         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
76870
76871 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76872
76873         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
76874         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
76875         reported by Mark D. Baushke, one in
76876         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
76877
76878         Merge from coreutils.
76879
76880         * lib/.cppi-disable: Add stdint_.h.
76881         * lib/.cvsignore: Add stdint.h.
76882
76883         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
76884
76885         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
76886         both double and long double versions.
76887         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
76888         * lib/xstrtold.c: New file.
76889         * lib/xstrtod.h (xstrtold): New decl.
76890
76891         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
76892
76893         * lib/filemode.c (setst): Remove.
76894         (strmode): Rewrite to avoid setst.  This makes the code shorter,
76895         (arguably) clearer, and the generated code is a bit smaller on my
76896         Debian GNU/Linux stable x86 host.
76897
76898         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
76899
76900         * lib/filemode.c: Include "filemode.h" first, to test the interface.
76901         Assume that filemode.h includes sys/types.h and sys/stat.h.
76902         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
76903         (ftypelet): Reorder to put common cases first, for efficiency.
76904         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
76905         to do 'M'.
76906         (strmode): Renamed from mode_string, and now stores 12 bytes instead
76907         of 10, for compatibility with FreeBSD.  All callers changed.
76908         (filemodestring): Now stores 12 bytes instead of 10, and sets file
76909         types that can't be deduced solely from st_mode.  First arg is now a
76910         const pointer.
76911         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
76912         (strmode): Renamed from mode_string.
76913         (filemodestring): New decl.
76914         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
76915         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
76916         needed.
76917         (S_ISPORT, S_ISWHT): New macros, if not already defined.
76918
76919         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
76920
76921         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
76922         fsusage.h now does that.  Include fsusage.h first, to test interface.
76923         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
76924         at most one method (the old code could have generated decls that
76925         didn't conform to C89, not that this was ever exercised).
76926         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
76927
76928         2006-03-19  Jim Meyering  <jim@meyering.net>
76929
76930         Work even in a chroot where d_ino values for entries in "/"
76931         don't match the stat.st_ino values for the same names.
76932         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
76933         number, iterate through all entries again, using lstat instead.
76934         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
76935         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
76936
76937         * lib/getcwd.c (__getcwd): Clarify a comment.
76938         Use memcpy in place of a call to strcpy.
76939
76940         2006-03-12  Jim Meyering  <jim@meyering.net>
76941
76942         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
76943         matches that of the current directory (which we're about to chdir ".."
76944         out of), then save the dev-ino of the parent, instead.
76945
76946         * lib/same-inode.h (SAME_INODE): New file/macro.
76947         * lib/chdir-safer.c (SAME_INODE): Remove definition.
76948         Include "same-inode.h", instead.
76949         * lib/same.c: Likewise.
76950         * lib/cycle-check.h: Include "same-inode.h".
76951         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
76952         * lib/cycle-check.c (SAME_INODE): Remove definition.
76953         * lib/root-dev-ino.h: Include "same-inode.h".
76954
76955         2006-03-11  Eric Blake  <ebb9@byu.net>
76956
76957         * lib/same.c (same_name): s/base_name/last_component/
76958         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
76959         * lib/filenamecat.c (file_name_concat): Likewise.
76960
76961         2006-03-11  Eric Blake  <ebb9@byu.net>,
76962                     Paul Eggert  <eggert@cs.ucla.edu>
76963
76964         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
76965         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
76966         drive prefix.
76967         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
76968         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
76969         (last_component): New method.
76970         * lib/dirname.c (dir_len): Determine when drive letters need a
76971         subsequent slash.  Preserve // when it is special.
76972         (dir_name): Don't append dot when drive letter is absolute.
76973         [TEST_DIRNAME]: Move into a full-blown gnulib test.
76974         * lib/basename.c (base_name): New semantics - malloc the result.
76975         Preserve // when it is special.  Preserve relative files that look
76976         like drive letters.
76977         (base_len): Preserve // when it is special.
76978         (last_component): New method, similar to old base_name semantics.
76979         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
76980         base_name.  Strip redundant slashes from ///.
76981
76982 2006-07-03  Jim Meyering  <jim@meyering.net>
76983
76984         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
76985         macro is used before the first cycle_check call.
76986
76987 2006-07-03  Eric Blake  <ebb9@byu.net>
76988
76989         * modules/dirname (Depends-on): Add xstrndup.
76990
76991 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
76992
76993         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
76994         test cases, so that config.log is a bit easier to follow.
76995
76996 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
76997
76998         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
76999         both are 64 bits, since this seems to be the tradition, and this
77000         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
77001         we ever run into a host that prefers long long to long in this
77002         case, we'll need another configure-time test.  Problem reported by
77003         Jim Meyering.
77004
77005 2006-07-02  Eric Blake  <ebb9@byu.net>
77006
77007         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
77008
77009 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
77010
77011         * modules/inttypes (Depends-on): No longer depends on stdint.
77012         * modules/stdint (Description): Say more about assumptions.
77013         Say that the fast types might differ.  Say macros are used.
77014         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
77015         (Makefile.am): Revise list of substituted symbols to match
77016         new stdint.m4.
77017         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
77018         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
77019         * tests/test-stdint.c (verify_same_types)
77020         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
77021         the code conforms to C99/C89.
77022         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
77023         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
77024
77025 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
77026
77027         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
77028         but fix a bug, by requiring at least 64 bits.
77029         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
77030         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
77031         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
77032         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
77033
77034         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
77035         changes.  Make 2.59 a prerequisite.  Check and substitute for
77036         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
77037         inttypes.h.  Do not use special include files; just use the
77038         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
77039         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
77040         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
77041         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
77042         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
77043         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
77044         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
77045         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
77046         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
77047         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
77048         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
77049         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
77050         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
77051         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
77052         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
77053         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
77054         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
77055         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
77056         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
77057         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
77058         WINT_MAX.  Check for C99 conformance more strictly, by detecting
77059         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
77060         not check for things that C99 does not require, e.g., int8_t.  If
77061         a test isn't needed unless <stdint.h> isn't working, and is
77062         unlikely to be needed for any other reason, then don't do it
77063         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
77064         size_t, since we assume C89 freestanding at least.  Do not check
77065         for sig_atomic_t, wchar_t, or wint_t, since the code now does
77066         the right thing even if the types are not defined.  Instead use:
77067         (gl_STDINT_TYPE_PROPERTIES): New macro.
77068         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
77069         testing whether <sys/types.h> clashes, as Autoconf does this for
77070         us now.  All uses removed.
77071         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
77072         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
77073         (gl_CHECK_TYPE_SAME):
77074         Remove; no longer needed.
77075         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
77076         exists, since we'll return 0 anyway in that case.
77077         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
77078
77079 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
77080
77081         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
77082         possible collision with system files.
77083         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
77084         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
77085         WCHAR_MIN and WCHAR_MAX in this case.
77086         (<stddef.h>): Do not include; no longer needed.
77087         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
77088         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
77089         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
77090         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
77091         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
77092         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
77093         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
77094         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
77095         !defined(__c99))]: Include in this case too, since it's harmless
77096         now.
77097         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
77098         dangerous to do so.
77099         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
77100         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
77101         (_STDINT_MIN, _STDINT_MAX): New macros.
77102         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
77103         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
77104         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
77105         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
77106         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
77107         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
77108         macros, not typedefs; this simplifies things quite a bit.
77109         Use long int for all types narrower than int64_t.
77110         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
77111         Define in terms of long long int or int64_t or long int,
77112         not int64_t or int32_t.  This saves some compile-time testing.
77113         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
77114         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
77115         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
77116         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
77117         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
77118         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
77119         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
77120         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
77121         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
77122         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
77123         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
77124         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
77125         undef any previous version and define our own version, for
77126         simplicity and consistency with the new macros for types.
77127         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
77128         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
77129         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
77130         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
77131         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
77132         @WINT_T_SUFFIX@ to keep things simple here.
77133         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
77134         Simplify by assuming typical 8/16/32/64 host, since we're
77135         already doing that elsewhere anyway.
77136         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
77137         and assume long long int is 64 bits if available.  This
77138         speeds up 'configure'.
77139
77140 2006-07-01  Eric Blake  <ebb9@byu.net>
77141
77142         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
77143         Reported by Andreas Buening.
77144
77145 2006-07-01  Eric Blake  <ebb9@byu.net>
77146
77147         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
77148
77149 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
77150
77151         * lib/getaddrinfo.c: fixed typo
77152
77153 2006-06-29  Jim Meyering  <jim@meyering.net>
77154
77155         * modules/strftime (Maintainer): Add my name, since with the
77156         FPRINTFTIME changes strftime.c has forked from glibc.
77157
77158 2006-06-29  Eric Blake  <ebb9@byu.net>
77159
77160         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
77161
77162 2006-06-29  Eric Blake  <ebb9@byu.net>
77163
77164         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
77165
77166 2006-06-29  Eric Blake  <ebb9@byu.net>
77167
77168         * lib/stat_.h: New file.
77169
77170 2006-06-29  Eric Blake  <ebb9@byu.net>
77171
77172         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
77173         unused static function.
77174
77175 2006-06-29  Eric Blake  <ebb9@byu.net>
77176
77177         * doc/functions.texi (Function Portability): Document missing lstat
77178         on mingw.
77179
77180 2006-06-29  Eric Blake  <ebb9@byu.net>
77181
77182         * MODULES.html.sh: Add sys_stat.
77183         * modules/sys_stat: New module.
77184         * modules/mkstemp (Depends-on): Add sys_stat.
77185
77186 2006-06-29  Derek R. Price  <derek@ximbiot.com>
77187
77188         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
77189
77190 2006-06-29  Derek R. Price  <derek@ximbiot.com>
77191
77192         * m4/c-bs-a.m4: Removed.
77193
77194 2006-06-29  Derek R. Price  <derek@ximbiot.com>
77195
77196         * lib/strftime.c: Assume strftime() exists.
77197
77198 2006-06-29  Derek Price  <derek@ximbiot.com>
77199
77200         * modules/c-bs-a: Removed - \a is C89.
77201         * MODULES.html.sh: Remove c-bs-a.
77202
77203 2006-06-29  Bruno Haible  <bruno@clisp.org>
77204
77205         * modules/wcwidth (License): Change to LGPL.
77206
77207 2006-06-28  Simon Josefsson  <jas@extundo.com>
77208
77209         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
77210         on _WIN32.
77211
77212         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
77213         getnameinfo.
77214
77215 2006-06-28  Simon Josefsson  <jas@extundo.com>
77216
77217         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
77218
77219 2006-06-28  Simon Josefsson  <jas@extundo.com>
77220
77221         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
77222         functions there.  It will succeed on Windows XP, but on Windows
77223         2000 and (presumably) earlier, it will fail, and use the internal
77224         re-implementation.
77225         (use_win32_p): New function.
77226         (getaddrinfo): Use strtoul on servname, to support numeric ports.
77227         Support AI_NUMERICSERV to disable getservbyname.
77228         (getnameinfo): New function, only supports
77229         NI_NUMERICHOST|NI_NUMERICSERV for now.
77230
77231         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
77232         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
77233         getnameinfo.
77234
77235 2006-06-28  Eric Blake  <ebb9@byu.net>
77236
77237         * modules/wcwidth: New file.
77238         * modules/mbchar (Depends-on): Add wcwidth.
77239         * modules/mbswidth (Depends-on): Add wcwidth.
77240         * MODULES.html.sh: Add wcwidth.
77241
77242 2006-06-28  Eric Blake  <ebb9@byu.net>
77243
77244         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
77245         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
77246
77247 2006-06-28  Eric Blake  <ebb9@byu.net>
77248
77249         * lib/xvasprintf.h: Fix comments.
77250
77251 2006-06-28  Eric Blake  <ebb9@byu.net>
77252
77253         * lib/mbchar.h (wcwidth): Include wcwidth.h.
77254         * lib/mbswidth.c (wcwidth): Move from here...
77255         * lib/wcwidth.h: ...to this new file.
77256
77257 2006-06-28  Derek R. Price  <derek@ximbiot.com>
77258
77259         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
77260
77261         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
77262         it's obsolete.
77263         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
77264
77265 2006-06-28  Derek R. Price  <derek@ximbiot.com>
77266
77267         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
77268         Autoconf 2.60 says this stuff was obsolete.
77269
77270 2006-06-28  Bruno Haible  <bruno@clisp.org>
77271
77272         * modules/wcwidth (Files): Add m4/wchar_t.m4.
77273
77274 2006-06-28  Bruno Haible  <bruno@clisp.org>
77275
77276         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
77277         gt_TYPE_WCHAR_T.
77278
77279 2006-06-28  Bruno Haible  <bruno@clisp.org>
77280
77281         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
77282         declaration for wcwidth.
77283         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
77284
77285 2006-06-28  Bruno Haible  <bruno@clisp.org>
77286
77287         * lib/mkdtemp.c [MINGW]: Include <io.h>.
77288         (mkdir): Define using _mkdir.
77289
77290 2006-06-28  Bruno Haible  <bruno@clisp.org>
77291
77292         * lib/getaddrinfo.h: Fix POSIX URL.
77293         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
77294         _WIN32.
77295         (use_win32_p): Make static.
77296         (getaddrinfo): Reject service name if it is empty or does not consist
77297         solely of decimal digits, or if its value is > 65535.
77298         (getnameinfo): Remove useless casts.
77299
77300 2006-06-27  Simon Josefsson  <jas@extundo.com>
77301
77302         * modules/sys_select: New file, suggested by Bruno Haible, Paul
77303         Eggert and Martin Lambers.
77304
77305 2006-06-27  Simon Josefsson  <jas@extundo.com>
77306
77307         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
77308         Eggert and Martin Lambers.
77309
77310 2006-06-27  Bruno Haible  <bruno@clisp.org>
77311
77312         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
77313         result to 0, not to empty.
77314         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
77315
77316 2006-06-27  Bruno Haible  <bruno@clisp.org>
77317
77318         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
77319
77320 2006-06-26  Simon Josefsson  <jas@extundo.com>
77321
77322         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
77323         present.
77324
77325 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
77326
77327         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
77328         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
77329         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
77330
77331 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
77332
77333         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
77334
77335 2006-06-26  Bruno Haible  <bruno@clisp.org>
77336
77337         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
77338
77339 2006-06-26  Bruno Haible  <bruno@clisp.org>
77340
77341         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
77342
77343 2006-06-26  Bruno Haible  <bruno@clisp.org>
77344
77345         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
77346         SGI C compiler in pre-C99 mode.
77347         Suggested by Mark D. Baushke and Larry Jones.
77348
77349 2006-06-26  Bruno Haible  <bruno@clisp.org>
77350
77351         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
77352         WCHAR_MAX.
77353         Reported by Mark D. Baushke and Larry Jones.
77354
77355 2006-06-26  Bruno Haible  <bruno@clisp.org>
77356
77357         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
77358         in pre-C99 mode.
77359         Suggested by Mark D. Baushke and Larry Jones.
77360
77361 2006-06-23  Simon Josefsson  <jas@extundo.com>
77362             Bruno Haible  <bruno@clisp.org>
77363
77364         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
77365         Emit mostlyclean-local rule.
77366         (func_emit_tests_Makefile_am): Likewise.
77367         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
77368
77369 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
77370
77371         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
77372
77373 2006-06-23  Bruno Haible  <bruno@clisp.org>
77374
77375         * tests/test-stdint.c: Update to match ISO C 99 Technical
77376         Corrigendum 1.
77377
77378 2006-06-23  Bruno Haible  <bruno@clisp.org>
77379
77380         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
77381
77382 2006-06-23  Bruno Haible  <bruno@clisp.org>
77383
77384         * lib/stdint_.h: Treat IRIX like OpenBSD.
77385
77386 2006-06-23  Bruno Haible  <bruno@clisp.org>
77387
77388         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
77389         ISO C 99 Technical Corrigendum 1.
77390
77391 2006-06-22  Simon Josefsson  <jas@extundo.com>
77392
77393         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
77394         MinGW.
77395
77396 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
77397
77398         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
77399         needed.  Some compiler complained about some of them.  Problem reported
77400         by Larry Jones in
77401         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
77402
77403 2006-06-21  Simon Josefsson  <jas@extundo.com>
77404
77405         * tests/test-getaddrinfo.c: New file.
77406
77407         * modules/getaddrinfo-tests: New file.
77408
77409         * MODULES.html.sh: Add inet_pton.
77410
77411         * modules/inet_pton: New file.
77412
77413 2006-06-21  Simon Josefsson  <jas@extundo.com>
77414
77415         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
77416         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
77417         of using the (limited) gnulib implementation on Windows XP.
77418
77419         * m4/inet_pton.m4: New file.
77420
77421 2006-06-21  Simon Josefsson  <jas@extundo.com>
77422
77423         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
77424         variable.
77425
77426         * lib/socket_.h: Don't define WINVER.
77427
77428         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
77429         slightly modified to work in gnulib.
77430
77431 2006-06-21  Simon Josefsson  <jas@extundo.com>
77432
77433         * doc/gnulib.texi (Windows sockets): Add.
77434
77435 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
77436
77437         * lib/read-file.c (fread_file): Start with buffer allocation of
77438         0 bytes rather than 1 byte; this simplifies the code.
77439         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
77440         code to free buffer and save/restore errno.
77441         (internal_read_file): Remove unused local.
77442
77443 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
77444
77445         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
77446         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
77447         Problem reported by Denis Excoffier in
77448         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
77449
77450 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77451
77452         * modules/sys_socket, modules/socklen: Include sys/types since
77453         FreeBSD 4.x's sys/socket.h needs it.
77454
77455 2006-06-19  Simon Josefsson  <jas@extundo.com>
77456
77457         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
77458
77459 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
77460
77461         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
77462
77463 2006-06-19  Bruno Haible  <bruno@clisp.org>
77464
77465         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
77466         and FULL_PATH_INTTYPES_H in angle brackets.
77467         Reported by Mark D. Baushke <mdb@gnu.org>.
77468
77469 2006-06-17  Eric Blake  <ebb9@byu.net>
77470
77471         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
77472         errno.
77473
77474 2006-06-17  Bruno Haible  <bruno@clisp.org>
77475
77476         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
77477         <sys/inttypes.h>.
77478
77479 2006-06-17  Bruno Haible  <bruno@clisp.org>
77480
77481         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
77482         whether errno is declared. Assume <errno.h> declares errno.
77483
77484 2006-06-17  Bruno Haible  <bruno@clisp.org>
77485
77486         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
77487
77488 2006-06-17  Bruno Haible  <bruno@clisp.org>
77489
77490         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
77491         problem on Solaris 2.5.1.
77492
77493 2006-06-16  Eric Blake  <ebb9@byu.net>
77494
77495         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
77496         * lib/unicodeio.c [!defined errno]: Likewise.
77497         * lib/strtol.c [!defined errno]: Likewise.
77498         * lib/strtod.c [!defined errno]: Likewise.
77499
77500 2006-06-15  Eric Blake  <ebb9@byu.net>
77501
77502         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
77503
77504 2006-06-15  Eric Blake  <ebb9@byu.net>
77505
77506         * config/srclist.txt (ssize_t.m4): Lose sync.
77507
77508 2006-06-15  Bruno Haible  <bruno@clisp.org>
77509
77510         * modules/stdint (Files): Include m4/full-header-path.m4,
77511         m4/size_max.m4, m4/wchar_t.m4.
77512         (Makefile.am): Many more substitutions.
77513         * modules/stdint-tests: New file.
77514         * tests/test-stdint.c: New file.
77515
77516 2006-06-15  Bruno Haible  <bruno@clisp.org>
77517
77518         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
77519         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
77520         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
77521         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
77522         gl_CHECK_TYPE_SAME): New macros.
77523
77524 2006-06-15  Bruno Haible  <bruno@clisp.org>
77525
77526         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
77527
77528 2006-06-15  Bruno Haible  <bruno@clisp.org>
77529
77530         * lib/stdint_.h: Rewritten to be fully auto-configured.
77531         Fixes bug on HP-UX/IA64.
77532
77533 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
77534
77535         * lib/getdate.y (__attribute__): Don't define if already defined.
77536         Problem reported by Larry Jones.
77537         * lib/utimens.c (__attribute__): Likewise.
77538
77539 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
77540
77541         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
77542         reported by Andreas Schwab.
77543
77544 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77545             Bruno Haible  <bruno@clisp.org>
77546
77547         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
77548         check for the declaration of strnlen and a run test that exposes the
77549         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
77550         rpl_strndup.
77551
77552 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77553             Bruno Haible  <bruno@clisp.org>
77554
77555         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
77556
77557 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77558
77559         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
77560         compile test, for Tru64 4.0D.
77561
77562 2006-05-28  Karl Berry  <karl@gnu.org>
77563
77564         * config/srclist.txt (printf-args.c): lose sync.
77565
77566 2006-05-26  Martin Lambers  <marlam@marlam.de>
77567
77568         * lib/getpass.c: Updates the test for the native W32 API, and adds
77569         missing includes, thus fixing compilation warnings.
77570
77571 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
77572
77573         * lib/exclude.c (exclude_fnmatch): New function.
77574         (excluded_file_name): Call exclude_fnmatch.
77575         * lib/exclude.h (excluded_file_name): New prototype
77576
77577 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
77578
77579         * lib/tempname.c (small_open, large_open): New macros.
77580         (__open, __open64) [!_LIBC]: Remove.
77581         (__gen_tempname): Use small_open and large_open instead of __open
77582         and __open64.  This fixes a portability bug on HP-UX 11.11i
77583         reported by Simon Wing-Tang in
77584         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
77585
77586 2006-05-24  Bruno Haible  <bruno@clisp.org>
77587
77588         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
77589         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
77590         Reported by Thorsten Maerz <torte@netztorte.de> via
77591         Aaron Stone <aaron@serendipity.cx>.
77592
77593 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
77594
77595         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
77596         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
77597         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
77598         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
77599         not really conditional on the cache.
77600         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
77601
77602 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
77603
77604         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
77605         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
77606         (my_usleep): Don't mishandle maximum value.
77607
77608 2006-05-19  Jim Meyering  <jim@meyering.net>
77609
77610         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
77611
77612 2006-05-17  Bruno Haible  <bruno@clisp.org>
77613
77614         Cygwin portability.
77615         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
77616
77617 2006-05-17  Bruno Haible  <bruno@clisp.org>
77618
77619         * lib/stdint_.h: Fix recognition of Cygwin.
77620
77621 2006-05-15  Bruno Haible  <bruno@clisp.org>
77622
77623         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
77624         on libtool patch by Ralf Wildenhues.
77625
77626 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
77627
77628         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
77629         test for C99 conformance; (bool) 0.5 is an integer constant
77630         expression, but (bool) -0.5 is not.  Problem reported by Fedor
77631         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
77632
77633 2006-05-11  Simon Josefsson  <jas@extundo.com>
77634
77635         * m4/xvasprintf.m4: Fix obvious typo.
77636
77637 2006-05-11  Jim Meyering  <jim@meyering.net>
77638
77639         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
77640         James Lemley.
77641
77642 2006-05-10  Simon Josefsson  <jas@extundo.com>
77643
77644         * lib/md4.c: Typo fix, update copyright years.
77645         (K1, K2): Don't use L because it turn computations into 64-bit on
77646         64-bit platforms.
77647
77648 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
77649
77650         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
77651         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
77652         unwanted sign propagation, e.g., on hosts with 64-bit int.
77653         There still are some problems with reeelly weird theoretical hosts
77654         (e.g., 33-bit int) but it's not worth worrying about now.
77655         * lib/sha1.c (rol): Likewise.
77656         (K1, K2, K3, K4): Remove unnecessary L suffix.
77657
77658 2006-05-10  Bruno Haible  <bruno@clisp.org>
77659
77660         * lib/des.c: Cast to avoid warnings.
77661
77662 2006-05-09  Bruno Haible  <bruno@clisp.org>
77663
77664         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
77665         (Depends-on): Depend also on xsize, stdarg.
77666         (configure.ac): Add gl_XVASPRINTF.
77667
77668 2006-05-09  Bruno Haible  <bruno@clisp.org>
77669
77670         * m4/xvasprintf.m4: New file.
77671
77672 2006-05-09  Bruno Haible  <bruno@clisp.org>
77673
77674         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
77675         (EOVERFLOW): Define fallback value.
77676         (xstrcat): New function.
77677         (xvasprintf): Recognize the special case of a string concatenation.
77678
77679 2006-05-08  Eric Blake  <ebb9@byu.net>
77680
77681         * gnulib-tool (func_version): Base copyright year on CVS date.
77682         (func_emit_copyright_notice): New function.
77683         (func_emit_lib_Makefile_am): Use it.
77684         (func_emit_tests_Makefile_am): Likewise.
77685         (func_import): Likewise.
77686
77687 2006-05-08  Bruno Haible  <bruno@clisp.org>
77688
77689         * modules/stdarg: New file.
77690         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
77691
77692 2006-05-08  Bruno Haible  <bruno@clisp.org>
77693
77694         * m4/stdarg.m4: New file, from GNU gettext.
77695
77696 2006-05-08  Bruno Haible  <bruno@clisp.org>
77697
77698         * config/srclist.txt (build-aux/config.rpath): different from latest
77699         release.
77700
77701 2006-05-08  Bruno Haible  <bruno@clisp.org>
77702
77703         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
77704
77705 2006-05-05  Jim Meyering  <jim@meyering.net>
77706
77707         * m4/warning.m4: New file, derived from bison's file by the same name.
77708
77709 2006-05-03  Bruno Haible  <bruno@clisp.org>
77710
77711         * lib/stdint_.h: Shorter URL.
77712         * lib/inttypes.h: Likewise.
77713
77714 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
77715
77716         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
77717
77718 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
77719
77720         * lib/verify.h: Document the internals better.  Most of this change
77721         was written by Bruno Haible.
77722
77723 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
77724
77725         * doc/verify.texi: New file, partly based on a proposal by
77726         Bruno Haible.
77727
77728 2006-05-02  Bruno Haible  <bruno@clisp.org>
77729
77730         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
77731         test from here...
77732         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
77733
77734 2006-04-29  Bruno Haible  <bruno@clisp.org>
77735
77736         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
77737         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
77738
77739 2006-04-29  Bruno Haible  <bruno@clisp.org>
77740
77741         * gnulib-tool: Make --update option actually work.
77742
77743 2006-04-29  Bruno Haible  <bruno@clisp.org>
77744
77745         * doc/gcd.texi: New file.
77746         * doc/gnulib.texi: Include it.
77747
77748 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
77749
77750         * lib/getdate.y (get_date): When adding relative date, start with the
77751         initial time, not with the result of the first mktime call.
77752
77753 2006-04-25  Bruno Haible  <bruno@clisp.org>
77754
77755         * gnulib-tool (func_import): Output the include directives in three
77756         blocks, sorted separately.
77757         Reported by Ben Pfaff <blp@cs.stanford.edu>.
77758
77759 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
77760
77761         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
77762         to define main with arguments, for C++.  Reported by Eric Blake.
77763         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
77764         Prefer 'int main ()' to 'int main (void)', for C++.
77765         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
77766         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
77767         for 'main', for C99 and C++.
77768
77769 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
77770
77771         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
77772         Don't assume that exit status -1 is valid.
77773         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
77774         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
77775         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
77776         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
77777         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
77778         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
77779         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
77780         functions can be used without declaring them, or that you can
77781         exit with status -1.
77782         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
77783
77784 2006-04-24  Karl Berry  <karl@gnu.org>
77785
77786         * config/srclist.txt (longdouble.m4): sync lost.
77787
77788 2006-04-24  Eric Blake  <ebb9@byu.net>
77789
77790         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
77791
77792 2006-04-24  Bruno Haible  <bruno@clisp.org>
77793
77794         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
77795         poll() implementation in AIX.
77796         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77797
77798 2006-04-24  Bruno Haible  <bruno@clisp.org>
77799
77800         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
77801         assigned exactly once.
77802
77803 2006-04-23  Claudio Fontana  <claudio@gnu.org>
77804             Bruno Haible  <bruno@clisp.org>
77805
77806         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
77807         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
77808         for AM_CPPFLAGS.
77809
77810 2006-04-23  Bruno Haible  <bruno@clisp.org>
77811
77812         * modules/copy-file: Depend on unistd.
77813         * modules/execute: Likewise.
77814         * modules/fatal-signal: Likewise.
77815         * modules/findprog: Likewise.
77816         * modules/mkdtemp : Likewise.
77817         * modules/pipe: Likewise.
77818         * modules/wait-process: Likewise.
77819
77820 2006-04-23  Bruno Haible  <bruno@clisp.org>
77821
77822         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
77823         condition was already detected.
77824         Reported by Ben Pfaff <blp@cs.stanford.edu>.
77825
77826 2006-04-23  Bruno Haible  <bruno@clisp.org>
77827
77828         * lib/copy-file.c: Include <unistd.h> unconditionally.
77829         * lib/execute.c: Likewise.
77830         * lib/fatal-signal.c: Likewise.
77831         * lib/findprog.c: Likewise.
77832         * lib/mkdtemp.c: Likewise.
77833         * lib/pipe.h: Likewise.
77834         * lib/pipe.c: Likewise.
77835         * lib/wait-process.h: Likewise.
77836
77837 2006-04-23  Bruno Haible  <bruno@clisp.org>
77838
77839         * gnulib-tool (func_usage): Fix --import description. Document
77840         --update.
77841         (func_import): Create temporary file in a temporary directory, if
77842         --dry-run is specified. Silence errors from 'grep' when there are no
77843         m4 files in $m4dir.
77844         (func_create_testdir): Silence errors from 'grep' when there are no
77845         m4 files in $m4dir.
77846         Reported by Karl Berry <karl@freefriends.org>.
77847
77848 2006-04-20  Bruno Haible  <bruno@clisp.org>
77849
77850         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
77851         one argument, so that the code will be portable to Autoconf 2.60.
77852         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
77853         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
77854         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
77855
77856 2006-04-19  Derek Price  <derek@ximbiot.com>
77857             Eric Blake  <ebb9@byu.net>
77858
77859         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
77860         rather than "/full/path.h".  Update comment to match.  Shorten &
77861         generalize m4_translit call via AS_TR_CPP.
77862
77863 2006-04-19  Derek Price  <derek@ximbiot.com>
77864             Eric Blake  <ebb9@byu.net>
77865
77866         * lib/inttypes.h: Correct grammar in comment.
77867
77868 2006-04-18  Derek Price  <derek@ximbiot.com>
77869             Paul Eggert  <eggert@cs.ucla.edu>
77870
77871         * modules/inttypes: New file.
77872         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
77873
77874 2006-04-18  Derek Price  <derek@ximbiot.com>
77875             Paul Eggert  <eggert@cs.ucla.edu>
77876
77877         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
77878         New files.
77879
77880 2006-04-18  Derek Price  <derek@ximbiot.com>
77881             Paul Eggert  <eggert@cs.ucla.edu>
77882
77883         * lib/inttypes.h: New file.
77884         * lib/strtoimax.c: Assume <inttypes.h>.
77885
77886 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
77887
77888         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
77889         isn't mounted.  Problem reported by Kir Kolyshkin.
77890
77891 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
77892
77893         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
77894         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
77895         Derek R. Price.
77896         * lib/regex.h (RE_DUP_MAX): Update comment to match current
77897         implementation.
77898
77899 2006-04-12  Eric Blake  <ebb9@byu.net>
77900
77901         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
77902         is now done automatically by the corresponding Autoconf macro.
77903
77904 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
77905
77906         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
77907         time_r.h.
77908
77909 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
77910
77911         Merge regex changes from libc, removing some of our
77912         POSIX-conformance changes that were rejected and redoing them in a
77913         less-intrusive way.
77914
77915         * lib/regcomp.c (re_compile_internal, init_dfa):
77916         Length arg is now size_t, not Idx.  All uses changed.
77917         (peek_token): Forward decl now says internal_function.
77918         (__re_error_msgid, __re_error_msgid_idx):
77919         Now static rather than extern with attribute_hidden.
77920         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
77921         For some reason libc prefers K&R style defns for external functions.
77922         (regerror) [!defined _LIBC]: Likewise.
77923         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
77924         (seek_collating_symbol_entry, lookup_collation_sequence_value):
77925         (build_range_exp, build_collating_symbol):
77926         Use K&R-style defn.
77927         (re_compile_fastmap): Use '\0' to memset, not 0.
77928         (utf8_sb_map): Make the calculations more obvious.
77929         (init_dfa, parse_bracket_exp, build_charclass_op):
77930         Call calloc and cast result, as glibc does.
77931         (init_word_char, fetch_token, peek_token, peek_token_bracket):
77932         (build_range_exp, build_collating_symbol):
77933         Now internal functions.
77934
77935         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
77936
77937         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
77938         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
77939         Don't depend on VMS; depend on __VMS instead, for POSIX
77940         namespace cleanness.
77941         (regoff_t): Define to ssize_t, not long int.
77942
77943         Remove the REG_ macros named below.  Instead, make the old names
77944         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
77945         __USE_GNU_REGEX.
77946         (REG_BACKSLASH_ESCAPE_IN_LISTS):
77947         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
77948         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
77949         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
77950         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
77951         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
77952         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
77953         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
77954         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
77955         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
77956         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
77957         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
77958         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
77959         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
77960         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
77961         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
77962         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
77963         (REG_NREGS):
77964         Remove.  All uses replaced by the old RE_* names.
77965         (RE_BACKSLASH_ESCAPE_IN_LISTS):
77966         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
77967         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
77968         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
77969         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
77970         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
77971         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
77972         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
77973         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
77974         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
77975         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
77976         Don't bother having these macros be independent of each others'
77977         values, since they no longer exist in the POSIX name space.
77978
77979         Rename the following member names back to their old names,
77980         unless !__USE_GNU_REGEX.  All uses changed back.
77981         (buffer): Renamed from re_buffer.
77982         (allocated): Renamed from re_allocated.
77983         (used): Renamed from re_used.
77984         (syntax): Renamed from re_syntax.
77985         (fastmap): Renamed from re_fastmap.
77986         (translate): Renamed from re_translate.
77987         (can_be_null): Renamed from re_can_be_null.
77988         (regs_allocated): Renamed from re_regs_allocated.
77989         (fastmap_accurate): Renamed from re_fastmap_accurate.
77990         (no_sub): Renamed from re_no_sub.
77991         (not_bol): Renamed from re_not_bol.
77992         (not_eol): Renamed from re_not_eol.
77993         (newline_anchor): Renamed from re_newline_anchor.
77994         (num_regs): Renamed from rm_num_regs.
77995         (start): Renamed from rm_start.
77996         (end): Renamed from rm_end.
77997
77998         (free_state): Move up a bit.
77999
78000         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
78001         #define to be empty.
78002         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
78003         when that is what is intended.
78004         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
78005         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
78006         (MAX): New macro.
78007         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
78008         All uses changed back to re_malloc, etc.  It's now the caller's
78009         responsibility to check for overflow; all callers changed.
78010         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
78011         (re_x2nrealloc): Remove.
78012         (free_state): Remove decl.
78013
78014         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
78015         (re_set_registers, re_exec):
78016         Use K&R-style defn.
78017
78018         2006-01-31  Roland McGrath  <roland@redhat.com>
78019
78020         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
78021         Reported by Mike Frysinger <vapier@gentoo.org>.
78022
78023         2006-01-15  Andreas Jaeger  <aj@suse.de>
78024
78025         [BZ #1950]
78026         * lib/regex_internal.c (re_string_reconstruct): Adjust for
78027         build_wcs_upper_buffer change.
78028         (build_wcs_upper_buffer): Change return type.
78029
78030         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
78031
78032         * lib/regex_internal.h: Include <stdint.h> if available.
78033
78034         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
78035
78036         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
78037
78038         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
78039
78040         * lib/regcomp.c: Adjust for changed secondary hash function.
78041
78042         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
78043
78044         * lib/regex.h: Pretty printing.
78045         Clean up namespace a bit.
78046
78047         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
78048
78049         * lib/regexec.c (update_cur_sifted_state, check_arrival,
78050         check_arrival_add_next_nodes): Avoid using uninitialized variable.
78051
78052         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
78053                     Ulrich Drepper  <drepper@redhat.com>
78054
78055         [BZ #1302]
78056         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
78057         changed.
78058         (bitset_word_t): Renamed from bitset_word.  All uses changed.
78059
78060         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
78061
78062         [BZ #281]
78063         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
78064         * lib/regcomp.c: Remove unnecessary uses of
78065         unsigned RE_TRANSLATE_TYPE.
78066         * lib/regex_internal.h: Likewise.
78067         * lib/regex_internal.c: Likewise.
78068         * lib/regexec.c: Likewise.
78069         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
78070
78071         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
78072
78073         * lib/regexec.c (find_recover_state): Remove unnecessary
78074         initialization.
78075         (transit_state_bkref): Make DFA a const pointer.
78076         (get_subexp): Likewise.
78077         (check_arrival): Likewise.
78078         (update_cur_sifted_state): Likewise.
78079         (re_search_internal): Likewise.
78080         (prune_impossible_nodes): Likewise.
78081         (acquire_init_state_context): Likewise.
78082         (proceed_next_node): Likewise.
78083         (set_regs): Likewise.
78084         (free_fail_stack_return): Likewise.
78085         (check_arrival_expand_ecl): Mark DFA parameter as const.
78086         (check_arrival_expand_ecl_sub): Likewise.
78087         (check_subexp_limits): Likewise.
78088         (sub_epsilon_src_nodes):  Likewise.
78089         (add_epsilon_src_nodes):  Likewise.
78090         (merge_state_array): Likewise.
78091         (update_regs): Likewise.
78092         (build_trtable): Likewise.
78093         (sift_states_backward): Mark MCTX parameter as const.
78094         (build_sifted_states): Likewise.
78095         (update_cur_sifted_state): Likewise.
78096         (sift_states_mkref): Likewise.
78097         (check_arrival_expand_ecl): Mark eclosure as const.
78098         (check_dst_limits_calc_pos_1): Likewise.
78099         * lib/regex_internal.h (re_match_context_t): Make dfa a const
78100         pointer.
78101
78102         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
78103
78104         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
78105         (transit_state_sb): Likewise.
78106         (transit_state_mb): Likewise.
78107         (sift_states_iter_mb): Likewise.
78108         (check_arrival_add_next_nodes): Likewise.
78109         (check_node_accept_bytes): Change first parameter to pointer-to-const.
78110         [_LIBC] (re_search_2_stub): Use mempcpy.
78111
78112         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
78113         mbrtowc for very simple UTF-8 case.
78114
78115         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
78116         a pointer-to-const.
78117         (re_acquire_state_context): Likewise.
78118         * lib/regex_internal.h: Adjust prototypes.
78119
78120         * lib/regex.c: Prevent using C++ compilers.
78121
78122         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
78123         (re_acquire_state_context): Likewise.
78124
78125 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
78126
78127         * modules/regex (Depends-on): Add ssize_t.
78128
78129 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
78130
78131         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
78132         translation table.
78133
78134 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
78135
78136         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
78137
78138 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
78139             Bruno Haible  <bruno@clisp.org>
78140
78141         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
78142         <sys/types.h> and <inttypes.h>.
78143
78144 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78145
78146         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
78147         `__error_t_defined', so argp.h will not typedef the former.
78148
78149 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
78150
78151         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
78152         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
78153         glibc names.  Even if glibc is changed to conform to POSIX, the
78154         traditional names will be available anyway, since regex depends on
78155         the extensions module.  Also, fix a longstanding typo in the
78156         implementation of Spencer ERE test #75 from grep 2.3.  Problems
78157         reported by Emanuele Giaquinta.  Also, change sense of cached
78158         variable, so that the message makes sense.
78159
78160 2006-03-24  Simon Josefsson  <jas@extundo.com>
78161
78162         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
78163         including some doc fixes.
78164         (base64_encode_alloc): Fix +1 bug on allocation failures.
78165
78166 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78167
78168         * lib/base64.c (base64_encode): Do not read past end of array with
78169         unsanitized input on systems with CHAR_BIT > 8.
78170
78171 2006-03-24  Eric Blake  <ebb9@byu.net>
78172
78173         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
78174
78175 2006-03-22  Karl Berry  <karl@gnu.org>
78176
78177         * config/srclist.txt (*setenv.[ch]): get from coreutils.
78178         * config/srclistvars.sh (COREUTILS): new var.
78179
78180 2006-03-17  Jim Meyering  <jim@meyering.net>
78181
78182         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
78183         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
78184
78185 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
78186
78187         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
78188         no longer needs it.  Instead, check that regoff_t is as least
78189         as wide as ptrdiff_t.
78190
78191         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
78192         so that our regex.h stays compatible with the installed regex.
78193         This is helpful for installers who configure --without-included-regex.
78194         Problem reported by Emanuele Giaquinta.
78195
78196 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
78197
78198         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
78199         Typedef to long int, not to off_, as POSIX will likely change
78200         in that direction.
78201
78202 2006-03-15  Eric Blake  <ebb9@byu.net>
78203
78204         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
78205
78206 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
78207
78208         * lib/argp-help.c (validate_uparams): Fix typo
78209         * lib/argp-parse.c (argp_default_options): Consistently begin help
78210         messages with a lowercase letter.
78211
78212 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
78213
78214         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
78215         overrun buffers and shouldn't be used (much as gets shouldn't be
78216         used).
78217         * lib/time_r.c (asctime_r, ctime_r): Likewise.
78218
78219 2006-03-08  Simon Josefsson  <jas@extundo.com>
78220
78221         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
78222         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78223
78224 2006-03-08  Simon Josefsson  <jas@extundo.com>
78225
78226         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
78227         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78228
78229 2006-03-08  Simon Josefsson  <jas@extundo.com>
78230
78231         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
78232         signal that configure disabled the device.
78233
78234 2006-03-08  Simon Josefsson  <jas@extundo.com>
78235
78236         * build-aux/maint.mk: Fix refresh-po, to handle no translated
78237         languages.
78238
78239 2006-03-07  Simon Josefsson  <jas@extundo.com>
78240
78241         * modules/getopt (Depends-on): Add unistd.
78242
78243         * modules/unistd: New file.
78244
78245 2006-03-07  Simon Josefsson  <jas@extundo.com>
78246
78247         * modules/gc-random: New file.
78248
78249 2006-03-07  Simon Josefsson  <jas@extundo.com>
78250
78251         * m4/unistd_h.m4: New file.
78252
78253 2006-03-07  Simon Josefsson  <jas@extundo.com>
78254
78255         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
78256         test to be side-effect free by storing the result in the cache
78257         variable gl_cv_lib_readline, and moving the assignment of
78258         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
78259         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78260
78261 2006-03-07  Simon Josefsson  <jas@extundo.com>
78262
78263         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
78264         error on missing devices (the functions will return an error).
78265
78266         * m4/gc.m4: Move random stuff to gc-random.m4
78267
78268 2006-03-07  Simon Josefsson  <jas@extundo.com>
78269
78270         * lib/unistd_.h: New file.
78271
78272 2006-03-07  Simon Josefsson  <jas@extundo.com>
78273
78274         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
78275
78276 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
78277
78278         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
78279         Problem reported by Juan Manuel Guerrero.
78280
78281 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
78282
78283         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
78284         the unistd module.
78285         * lib/getlogin_r.c: Likewise.
78286         * lib/getlogin_r.h: Likewise.
78287         * lib/glob.c: Likewise.
78288         * lib/pagealign_alloc.c: Likewise.
78289         * lib/unistd_.h: Remove; no longer needed.
78290
78291 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
78292
78293         * MODULES.html.sh (Support for systems lacking POSIX:2001):
78294         Add unistd.
78295         * modules/c-stack (Depends-on): Add unistd.
78296         * modules/getlogin_r: Likewise.
78297         * modules/glob: Likewise.
78298         * modules/pagealign_alloc: Likewise.
78299         * modules/unistd (Files): Remove lib/unistd_.h.
78300         (EXTRA_DIST): Remove.
78301         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
78302         need unistd_.h.
78303         (MOSTLYCLEANFILES): Remove unistd.h-t.
78304
78305 2006-03-03  Simon Josefsson  <jas@extundo.com>
78306
78307         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
78308
78309 2006-03-03  Simon Josefsson  <jas@extundo.com>
78310
78311         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
78312         libidn and bison.
78313
78314 2006-03-03  Simon Josefsson  <jas@extundo.com>
78315
78316         * build-aux/maint.mk: Add indent target.
78317
78318 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
78319
78320         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
78321         our replacement poll.h in any case, to avoid a differing
78322         declaration from a system header.  Seen on AIX.
78323
78324 2006-03-01  Simon Josefsson  <jas@extundo.com>
78325
78326         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
78327         <kasal@ucw.cz>.
78328
78329 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
78330
78331         * modules/gettime (Depends-on): Add extensions module.
78332         * modules/nanosleep (Depends-on): Likewise.
78333         * modules/settime (Depends-on): Likewise.
78334
78335 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
78336
78337         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
78338         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
78339         pedantically.
78340         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
78341         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
78342
78343         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
78344         not "==".  Reported by Ralf Wildenhues.
78345
78346 2006-03-01  Karl Berry  <karl@gnu.org>
78347
78348         * doc/Copyright/request-*: new files, synced from gnuorg.
78349
78350 2006-03-01  Karl Berry  <karl@gnu.org>
78351
78352         * config/srclist.txt (Copyright/*): new entries.
78353
78354 2006-02-28  Simon Josefsson  <jas@extundo.com>
78355
78356         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
78357
78358 2006-02-27  Simon Josefsson  <jas@extundo.com>
78359
78360         * lib/base64.h: Indent #define's.  From Jim Meyering
78361         <jim@meyering.net>.
78362
78363 2006-02-27  Jim Meyering  <jim@meyering.net>
78364
78365         Revert the change of 2006-02-24, so these files can continue
78366         to be sync'd from gettext.
78367         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
78368         of `config.h'.
78369
78370 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
78371
78372         * modules/intprops: New file.
78373         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
78374         Add intprops.
78375         * modules/getloadavg (Files): Remove lib/intprops.h.
78376         (Depends-on): Add intprops.
78377         * modules/human: Likewise.
78378         * modules/inttostr: Likewise.
78379         * modules/openat: Likewise.
78380         * modules/sig2str: Likewise.
78381         * modules/userspec: Likewise.
78382         * modules/utimecmp: Likewise.
78383         * modules/xnanosleep: Likewise.
78384         * modules/xstrtol: Likewise.
78385
78386 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
78387
78388         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
78389         * modules/lock-tests (TESTS): Use $(EXEEXT).
78390         * modules/tls-tests: Likewise.
78391         * modules/argp-tests: Likewise.
78392         (check_PROGRAMS): New var, replacing...
78393         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
78394
78395 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78396
78397         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
78398         `config.h'.
78399
78400 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
78401
78402         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
78403
78404 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78405
78406         Sync from coreutils.
78407         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
78408         gl_CHDIR_SAFER.
78409
78410 2006-02-22  Jim Meyering  <jim@meyering.net>
78411
78412         Sync from coreutils.
78413         * m4/chdir-safer.m4: New file.
78414
78415 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
78416
78417         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
78418         AT_FDCWD exceeds INT_MAX.
78419         * lib/openat.h (AT_FDCWD): Likewise.
78420
78421 2006-02-17  Eric Blake  <address@hidden>
78422
78423         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
78424
78425 2006-02-16  Simon Josefsson  <jas@extundo.com>
78426
78427         * modules/getaddrinfo (Depends-on): Add sys_socket.
78428
78429 2006-02-15  Simon Josefsson  <jas@extundo.com>
78430
78431         * build-aux/maint.mk: Add dsyntax-check rule.
78432
78433 2006-02-15  Eric Blake  <ebb9@byu.net>
78434
78435         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
78436         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
78437         'present but cannot compile' warnings on cygwin.
78438         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
78439         use ws2tcpip.h if sys/socket.h works.
78440         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
78441         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
78442
78443 2006-02-14  Simon Josefsson  <jas@extundo.com>
78444
78445         * modules/maintainer-makefile (Files): Rename.
78446
78447         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
78448         and (the local) Makefile.cfg to maint-cfg.mk.
78449
78450         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
78451         to the latter.
78452
78453         * modules/maintainer-makefile: New module.
78454
78455         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
78456         severaly stripped to make it possible to build it up from scratch
78457         with reliable tests.
78458
78459         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
78460         fixes to permit overriding the default actions when configure and
78461         makefile are not available.
78462
78463 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
78464
78465         Sync from coreutils.
78466         * modules/lstat (Depends-on): Don't depend on xalloc.
78467         (License): Change from GPL to LGPL, since this is now simply a
78468         replacement for a libc function.
78469
78470 2006-02-14  Jim Meyering  <jim@meyering.net>
78471
78472         Sync from coreutils.
78473
78474         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
78475         failure on deficient systems, and simplify gnulib lgpl dependencies.
78476         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
78477         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
78478
78479         * lib/xalloc-die.c: Remove unused definition of N_.
78480
78481 2006-02-14  Jim Meyering  <jim@meyering.net>
78482
78483         Sync from coreutils.
78484         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
78485         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
78486         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
78487         double-quote uses of that variable, to accommodate the rare case in
78488         which getmntent is available in none of the libraries checked.  This
78489         happens at least on FreeBSD 5.0.
78490
78491 2006-02-13  Simon Josefsson  <jas@extundo.com>
78492
78493         * gnulib-tool (Usage): Fix --import, from
78494         karl@freefriends.org (Karl Berry).
78495
78496 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
78497
78498         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
78499
78500 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
78501
78502         * lib/argp-namefrob.h: Restore changes accidentally lost during the
78503         "autoupdate" on 2005-12-12.
78504
78505 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
78506
78507         * modules/closeout (Depends-on): Remove atexit.
78508
78509 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
78510
78511         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
78512         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
78513
78514 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
78515
78516         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
78517         __EXTENSIONS__ if this causes compilation to fail.  Problem
78518         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
78519         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
78520
78521 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
78522
78523         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
78524         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
78525         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
78526         All uses changed.
78527
78528 2006-01-26  Simon Josefsson  <jas@extundo.com>
78529
78530         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
78531         prototype is visible on mingw32.
78532
78533         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
78534         for mingw32.
78535
78536         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
78537         mingw32).
78538
78539 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
78540
78541         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
78542         attempt to open for write; this always fails, at least on POSIX
78543         hosts.  This reinstates the 2006-01-09 change, which was
78544         inadvertently removed.
78545
78546 2006-01-26  Bruno Haible  <bruno@clisp.org>
78547
78548         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
78549         Reported by Paul Eggert.
78550
78551 2006-01-26  Bruno Haible  <bruno@clisp.org>
78552             Paul Eggert  <eggert@cs.ucla.edu>
78553
78554         * lib/stdbool_.h (_Bool)
78555         [(! (defined __cplusplus || defined __BEOS__)
78556           && !defined __GNUC__
78557           && !(defined __HP_cc || defined __xlc__
78558                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
78559                || defined __sgi))]:
78560         #define to signed char in these cases too; this simplifies
78561         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
78562         etc., separately) and makes it more conservative.
78563
78564 2006-01-25  Simon Josefsson  <jas@extundo.com>
78565
78566         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
78567         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
78568         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
78569
78570 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
78571
78572         * lib/argp-namefrob.h: Bugfix. Remove stray #
78573
78574 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
78575
78576         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
78577         so that we test the test.
78578         Check for yet another HP-UX cc bug involving *bool |= bool.
78579
78580 2006-01-25  Karl Berry  <karl@gnu.org>
78581
78582         * config/srclist.txt (vasnprintf.c): sync lost.
78583
78584 2006-01-25  Jim Meyering  <jim@meyering.net>
78585
78586         Sync from the stable (b5) branch of coreutils:
78587
78588         * lib/fts.c (fts_children): Don't let close() clobber errno from
78589         failed fchdir().
78590
78591         * lib/fts.c (fts_stat): When following a symlink-to-directory,
78592         don't necessarily interpret stat-fails+lstat-succeeds as indicating
78593         a dangling symlink.  That can also happen at least for ELOOP.
78594         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
78595         FYI, this bug predates the inclusion of fts.c in coreutils.
78596
78597         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
78598         in their own block, so pre-c99 compilers don't object.
78599
78600         Avoid the double-free (first in fts_read, second in fts_close) that
78601         would occur when an `active' directory is made inaccessible (e.g.,
78602         via chmod a-x) during a traversal.
78603         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
78604         before returning.  Reproduce this failure by
78605         mkdir -p a/b; cd a; chmod a-x . b
78606         Reported by Stavros Passas.
78607
78608 2006-01-25  Jim Meyering  <jim@meyering.net>
78609
78610         * lib/fileblocks.c: Remove more useless parentheses.
78611         * lib/readutmp.h: Likewise.
78612
78613 2006-01-25  Bruno Haible  <bruno@clisp.org>
78614
78615         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
78616         warnings.
78617         Reported by Paul Eggert.
78618
78619 2006-01-25  Bruno Haible  <bruno@clisp.org>
78620
78621         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
78622         rid of a trap command. For Solaris sh.
78623         Reported by Mark D. Baushke <mdb@gnu.org>.
78624
78625 2006-01-24  Simon Josefsson  <jas@extundo.com>
78626
78627         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
78628         Bruno.
78629
78630 2006-01-24  Karl Berry  <karl@gnu.org>
78631
78632         * config/srclist.txt (argp-namefrob.h): sync lost.
78633
78634 2006-01-24  Jim Meyering  <jim@meyering.net>
78635
78636         * modules/openat (Files): Add lib/intprops.h.
78637         From Mark D. Baushke.
78638
78639 2006-01-24  Jim Meyering  <jim@meyering.net>
78640
78641         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
78642         Reported by Mark D. Baushke.
78643
78644 2006-01-24  Jim Meyering  <jim@meyering.net>
78645
78646         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
78647
78648 2006-01-24  Bruno Haible  <bruno@clisp.org>
78649
78650         * modules/strnlen (Maintainer): Change from glibc to all.
78651
78652 2006-01-24  Bruno Haible  <bruno@clisp.org>
78653
78654         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
78655         Patch by Paul Eggert.
78656
78657 2006-01-24  Bruno Haible  <bruno@clisp.org>
78658
78659         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
78660         already has it.
78661         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
78662         2005-11-26.
78663
78664         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
78665         'signed char' to avoid problems with the built-in _Bool type.
78666         Reported by Paul Eggert on 2005-11-26.
78667
78668 2006-01-24  Bruno Haible  <bruno@clisp.org>
78669
78670         * gnulib-tool (func_import): Avoid constructing complicated sed
78671         expressions inside backquote.
78672         Report and solution by Mark D. Baushke <mdb@gnu.org>.
78673
78674 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
78675
78676         These changes imported from libc.
78677         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
78678         test and two separate function calls.
78679         * lib/strndup.c (__strndup): Add libc_hidden_def.
78680
78681 2006-01-23  Simon Josefsson  <jas@extundo.com>
78682
78683         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
78684         Remove the test_*_SOURCES variable: automake infers it by default.
78685         * modules/tls-tests: Likewise.
78686
78687 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
78688
78689         Work around porting bugs reported by Dieter in
78690         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
78691         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
78692         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
78693         Include "getopt.h" first, to check interface.
78694         (getenv): Declare only if defined HAVE_DECL_GETENV &&
78695         !HAVE_DECL_GETENV.
78696         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
78697         (__strndup): Revert to K&R-style function dfns, the glibc style.
78698         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
78699         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
78700         Include strnlen.h first, to get prototype properly.
78701         (strnlen): Renamed from __strnlen.
78702         Remove weak alias.
78703
78704 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
78705
78706         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
78707
78708 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
78709
78710         * config/srclist.txt: Adjust to reflect glibc reorganization.
78711         This affects only comments.
78712
78713 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
78714
78715          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
78716          Reported by Bruce Korb <bkorb@gnu.org>.
78717
78718 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
78719
78720         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
78721         to pacify gcc -Wswitch-default.
78722
78723 2006-01-22  Bruno Haible  <bruno@clisp.org>
78724
78725         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
78726         temporary buffer for sprintf, take into account the precision also
78727         for 'd', 'i', 'u', 'o', 'x', 'X'.
78728
78729 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
78730
78731         * modules/argp-tests: New module
78732         * tests/test-argp.c: New file
78733         * tests/test-argp-2.sh: New file
78734
78735 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
78736
78737         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
78738         (__argp_base_name): Removed
78739         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
78740         typo.
78741         (__argp_base_name): Provide macro definition or extern declaration
78742         depending on the configuration
78743
78744 2006-01-20  Simon Josefsson  <jas@extundo.com>
78745
78746         * modules/inet_ntop (Depends-on): Depend on sys_socket.
78747
78748 2006-01-20  Simon Josefsson  <jas@extundo.com>
78749
78750         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
78751
78752 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
78753
78754         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
78755         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
78756         Suggested by Bruno Haible.
78757
78758 2006-01-20  Karl Berry  <karl@gnu.org>
78759
78760         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
78761         until changes propagate, I guess.
78762
78763 2006-01-19  Simon Josefsson  <jas@extundo.com>
78764
78765         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
78766
78767 2006-01-19  Simon Josefsson  <jas@extundo.com>
78768
78769         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
78770
78771 2006-01-19  Simon Josefsson  <jas@extundo.com>
78772
78773         * gnulib-tool: Set check_PROGRAMS.
78774
78775         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
78776         modules/des-tests, modules/gc-arcfour-tests,
78777         modules/gc-arctwo-tests, modules/gc-des-tests,
78778         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
78779         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
78780         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
78781         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
78782         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
78783         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
78784         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
78785         test_*_SOURCES.
78786
78787 2006-01-18  Simon Josefsson  <jas@extundo.com>
78788
78789         * modules/socklen (Depends-on): Depend on sys_socket.
78790
78791 2006-01-18  Simon Josefsson  <jas@extundo.com>
78792
78793         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
78794         modules/des-tests, modules/gc-arcfour-tests,
78795         modules/gc-arctwo-tests, modules/gc-des-tests,
78796         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
78797         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
78798         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
78799         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
78800         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
78801         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
78802         $(EXEEXT) to automake TESTS variable, for mingw32.
78803
78804 2006-01-17  Simon Josefsson  <jas@extundo.com>
78805
78806         * modules/socklen (Include): Need sys/socket.h.
78807
78808 2006-01-17  Bruno Haible  <bruno@clisp.org>
78809
78810         * modules/ssize_t (Include): Add <sys/types.h>.
78811
78812 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
78813
78814         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
78815         it's not portable and it doesn't work with cross-compiles.
78816         Problem reported by Bruno Haible.  Fix missing-$ typo in
78817         'test "gl_cv_ignore_unused_libraries" ...' that prevented
78818         -zignore from being used with Sun's C compiler.
78819
78820 2006-01-12  Simon Josefsson  <jas@extundo.com>
78821
78822         * lib/base64.c: Fix warning, reported by Bruno Haible
78823         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
78824
78825 2006-01-12  Bruno Haible  <bruno@clisp.org>
78826
78827         * modules/ldd: New file.
78828         * build-aux/ldd.sh.in: New file.
78829         * MODULES.html.sh (Support for building libraries and executables): Add
78830         ldd.
78831
78832 2006-01-12  Bruno Haible  <bruno@clisp.org>
78833
78834         * m4/ldd.m4: New file.
78835
78836 2006-01-12  Bruno Haible  <bruno@clisp.org>
78837
78838         * gnulib-tool (func_import, func_create_testdir): Don't go into an
78839         endless loop while replacing $auxdir with build-aux.
78840
78841 2006-01-11  Simon Josefsson  <jas@extundo.com>
78842
78843         * lib/stdint_.h (SIZE_MAX): Add missing (.
78844
78845 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
78846
78847         Sync from coreutils.
78848         * lib/md5.c: Fix commentary typos.
78849         (alignof, UNALIGNED_P): No need for a GCC-specific version.
78850         * lib/md5.h (__attribute__): Remove; unused.
78851         * lib/sha1.c: Fix commentary to match md5 better.
78852         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
78853         so that we don't need to worry about alignment.  All uses changed.
78854         This merges the 2005-10-28 md5 change into sha1.
78855
78856 2006-01-11  Jim Meyering  <jim@meyering.net>
78857
78858         Sync from coreutils.
78859         * lib/md5.c (OP): Fix spacing.
78860
78861 2006-01-11  Bruno Haible  <bruno@clisp.org>
78862
78863         Ensure automatic ordering between gl_LOCK and gl_ARGP.
78864         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
78865         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
78866
78867 2006-01-11  Bruno Haible  <bruno@clisp.org>
78868
78869         Ensure automatic ordering between gl_LOCK and gl_ARGP.
78870         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
78871         the "early" section as well.
78872
78873 2006-01-11  Bruno Haible  <bruno@clisp.org>
78874
78875         Avoid "ar: no archive members specified" error on MacOS X.
78876         * gnulib-tool (func_modules_add_dummy): New function.
78877         (func_import, func_create_testdir): Invoke it.
78878
78879 2006-01-11  Bruno Haible  <bruno@clisp.org>
78880
78881         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
78882         with $auxdir in AC_CONFIG_FILES statements.
78883
78884 2006-01-11  Bruno Haible  <bruno@clisp.org>
78885
78886         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
78887         Initialize also noinst_HEADERS to empty.
78888
78889 2006-01-11  Bruno Haible  <bruno@clisp.org>
78890
78891         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
78892         variables.
78893         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
78894         autoreconf.
78895
78896 2006-01-11  Bruno Haible  <bruno@clisp.org>
78897
78898         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
78899         overridable by the user.
78900         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78901
78902 2006-01-10  Simon Josefsson  <jas@extundo.com>
78903
78904         * modules/sys_socket: New file.
78905
78906 2006-01-10  Simon Josefsson  <jas@extundo.com>
78907
78908         * m4/sys_socket_h.m4: New file.
78909
78910 2006-01-10  Simon Josefsson  <jas@extundo.com>
78911
78912         * lib/socket_.h: New file.
78913
78914 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
78915
78916         * modules/readutmp (Maintainer): Add myself.
78917
78918 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
78919
78920         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
78921         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
78922         People who are still concerned with buggy memcmp implementations
78923         can invoke gl_FUNC_MEMCMP themselves.
78924
78925 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
78926
78927         * lib/regex_internal.h (BITSET_WORD_BITS):
78928         Work around a bug in 64-bit PGC (before version 6.1-2), where the
78929         preprocessor mishandles large unsigned values as if they were signed.
78930         Problem reported by Claudio Fontana in
78931         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
78932
78933 2006-01-10  Jim Meyering  <jim@meyering.net>
78934
78935         Avoid the double-free (first in fts_read, second in fts_close) that
78936         would occur when an `active' directory is made inaccessible (e.g.,
78937         via chmod a-x) during a traversal.
78938         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
78939         before returning.  Reproduce this failure by
78940         mkdir -p a/b; cd a; chmod a-x . b
78941         Reported by Stavros Passas.
78942
78943         Sync from coreutils.
78944         * lib/sha1.c: Tweak grammar in a comment.
78945
78946 2006-01-10  Jim Meyering  <jim@meyering.net>
78947
78948         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
78949         Patch by Joerg Sonnenberger.
78950
78951 2006-01-10  Bruno Haible  <bruno@clisp.org>
78952
78953         * modules/readutmp: Depend on module free.
78954         * modules/strtok_r: Depend on module restrict.
78955
78956 2006-01-10  Bruno Haible  <bruno@clisp.org>
78957
78958         * modules/gettext (configure.ac): Add an invocation of
78959         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
78960
78961 2006-01-10  Bruno Haible  <bruno@clisp.org>
78962
78963         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
78964         Reported by Werner Lemberg <wl@gnu.org>.
78965
78966 2006-01-10  Bruno Haible  <bruno@clisp.org>
78967
78968         * lib/localcharset.c: Update from GNU gettext.
78969
78970 2006-01-10  Bruno Haible  <bruno@clisp.org>
78971
78972         * lib/argp.h (__const): Remove macro. Use const instead.
78973         * lib/argp-fmtstream.h (__const): Likewise.
78974         * lib/glob_.h (__const): Remove macro.
78975         * lib/glob-libc.h: Use const instead of __const.
78976
78977 2006-01-10  Bruno Haible  <bruno@clisp.org>
78978
78979         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
78980         variable.
78981         Needed to avoid an automake error regarding the 'gettext' module.
78982
78983 2006-01-09  Simon Josefsson  <jas@extundo.com>
78984
78985         * modules/inet_ntop (Depends-on): Add restrict.
78986
78987 2006-01-09  Simon Josefsson  <jas@extundo.com>
78988
78989         * modules/gc-rijndael-tests (License): Put under LGPL.
78990
78991         * modules/gc-des-tests (License): Likewise.
78992
78993         * modules/gc-arcfour-tests (License): Likewise.
78994
78995         * modules/gc-arctwo-tests (License): Likewise.
78996
78997         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
78998
78999         * modules/gc-hmac-sha1-tests (Files): Likewise.
79000
79001         * modules/gc-hmac-md5-tests (License): Likewise.
79002
79003         * modules/gc-sha1-tests (License): Likewise.
79004
79005         * modules/gc-md5-tests (License): Likewise.
79006
79007         * modules/gc-md4-tests (License): Likewise.
79008
79009         * modules/gc-md2-tests (License): Likewise.
79010
79011         * modules/gc-tests (License): Likewise.
79012
79013         * modules/des-tests (License): Likewise.
79014
79015         * modules/md4-tests (License): Likewise.
79016
79017         * modules/md2-tests (License): Likewise.
79018
79019 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
79020
79021         Sync from coreutils:
79022
79023         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
79024         * modules/lib-ignore: New file.
79025         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
79026         chdir-safer.m4, lchmod.m4.
79027         * modules/openat: Add mkdirat.c, openat-priv.h.
79028
79029 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
79030
79031         Sync from coreutils.
79032         * m4/lib-ignore.m4: New file.
79033         * m4/lchmod.m4: New file.
79034
79035 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
79036
79037         Sync from coreutils.
79038         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
79039         for write access: POSIX says that must fail.
79040         * lib/fts.c (diropen): Likewise.
79041         * lib/save-cwd.c (save_cwd): Likewise.
79042         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
79043         well, for minor improvements on hosts that lack O_DIRECTORY.
79044         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
79045         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
79046         Fall back on chown if open failed with EACCES.
79047
79048         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
79049         Report an error at compile-time if only a 1-second nominal clock
79050         resolution is found.
79051
79052         * lib/lchmod.h: New file.
79053         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
79054         (make_dir_parents): Use lchown rather than chown, and
79055         lchmod rather than chmod.
79056
79057         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
79058         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
79059         "proc" reported by n0dalus.
79060
79061         * lib/mountlist.c: Include <limits.h>.
79062         (dev_from_mount_options)
79063         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
79064         New function.  It no longer assumes "dev=" has the System V meaning
79065         on Linux (since it doesn't).  It also parses "dev=" more carefully.
79066         (read_file_system_list)
79067         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
79068         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
79069         dev= in that case.
79070
79071         * lib/posixtm.h (PDS_PRE_2000): New macro.
79072         * lib/posixtm.c (year): Arg is now syntax_bits rather than
79073         allow_century.  All usages changed.  Reject dates outside the range
79074         1969-1999 if PDS_PRE_2000 is used.
79075
79076 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
79077
79078         Sync from coreutils.
79079         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
79080         (Time of day items): Mention the possibility of leap seconds.
79081         Problem reported by Dr. David Alan Gilbert.
79082
79083 2006-01-09  Jim Meyering  <jim@meyering.net>
79084
79085         Sync from coreutils.
79086
79087         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
79088
79089         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
79090
79091         * lib/modechange.c (mode_compile): Reject an invalid mode string
79092         that starts with an octal digit.  From Andreas Gruenbacher.
79093
79094         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
79095         and dup to open_safer and dup_safer, respectively.
79096         (openat_permissive): Fix typo in comment.
79097
79098         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
79099         "gettext.h"; either no longer needed or are guaranteed by openat.h.
79100         (_): Remove; no longer needed.
79101         (openat): Renamed from rpl_openat; no need for rpl_openat
79102         since openat.h renames openat for us.
79103         Replace most of the body with a call to openat_permissive,
79104         to avoid duplicate code.
79105         Port to (probably hypothetical) environments were mode_t is
79106         wider than int.
79107         (openat_permissive): Require mode arg, so that we can check
79108         types better.  Put it just after flags.  Change cwd failure
79109         indicator from pointer-to-bool to pointer-to-errno-value.
79110         All callers changed.
79111         Invoke openat_save_fail and/or openat_restore_fail if
79112         cwd_errno is null, so that openat can call us.
79113         (openat_permissive, fdopendir, fstatat, unlinkat):
79114         Simplify errno handling to avoid some duplicate code,
79115         as it's OK to set errno on success.
79116         * lib/openat.h: Revamp code so that function macros depend on
79117         __OPENAT_PREFIX only, not also on AT_FDCWD.
79118         (openat_ro): Remove.  Caller changed to use openat_permissive.
79119         (openat_permissive): Now a macro, if not a function.
79120         (openat_restore_fail, openat_save_fail): Now always functions,
79121         since mkdirat needs them even if __OPENAT_PREFIX is defined.
79122
79123         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
79124         and openat.c.
79125         * lib/mkdirat.c: Include openat-priv.h.
79126         Remove definitions of macros defined therein.
79127         * lib/openat.c: Likewise.
79128
79129         * lib/mkdirat.c (mkdirat): New file and function.
79130         * lib/openat.h (mkdirat): Declare.
79131
79132         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
79133
79134         * lib/openat.h (openat_permissive): Declare.
79135         (openat_ro): Define.
79136
79137         * lib/openat.c (EXPECTED_ERRNO): New macro.
79138         (openat_permissive): New function -- used in remove.c rewrite.
79139         (all functions): Set errno just before returning, only if there
79140         was an actual failure.
79141         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
79142
79143         Emulate openat-family functions using Linux's procfs, if possible.
79144         Idea and some code based on Ulrich Drepper's glibc changes.
79145
79146         * lib/openat.c: (BUILD_PROC_NAME): New macro.
79147         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
79148         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
79149         before falling back on save_cwd and restore_cwd.
79150         (fdopendir, fstatat, unlinkat): Likewise.
79151
79152         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
79153         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
79154
79155         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
79156         as second argument to va_arg.  Otherwise, some versions of gcc
79157         warn that `if this code is reached, the program will abort'.
79158
79159 2006-01-09  Jim Meyering  <jim@meyering.net>
79160
79161         Sync from coreutils.
79162         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
79163         Require openat-priv.h.
79164
79165 2006-01-09  Bruno Haible  <bruno@clisp.org>
79166
79167         * modules/strnlen (Include): Use strnlen.h.
79168
79169 2006-01-09  Bruno Haible  <bruno@clisp.org>
79170
79171         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
79172
79173 2006-01-09  Bruno Haible  <bruno@clisp.org>
79174
79175         * lib/sysexit_.h (EX_OK): New macro.
79176         Suggested by Martin Lambers <marlam@marlam.de>.
79177
79178 2006-01-09  Bruno Haible  <bruno@clisp.org>
79179
79180         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
79181         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
79182
79183 2006-01-09  Bruno Haible  <bruno@clisp.org>
79184
79185         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
79186         numbers.
79187
79188 2006-01-09  Bruno Haible  <bruno@clisp.org>
79189
79190         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
79191         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
79192         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
79193         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
79194
79195 2006-01-09  Bruno Haible  <bruno@clisp.org>
79196
79197         * build-aux/javacomp.sh.in: New file, moved from lib/.
79198         * modules/javacomp-script (Files): Update.
79199         (configure.ac): Add AC_CONFIG_FILES invocation.
79200         (EXTRA_DIST): Remove variable.
79201
79202         * build-aux/javaexec.sh.in: New file, moved from lib/.
79203         * modules/javaexec (Files): Update.
79204         (configure.ac): Add AC_CONFIG_FILES invocation.
79205         (EXTRA_DIST): Remove javaexec.sh.in.
79206
79207         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
79208         * modules/csharpcomp-script (Files): Update.
79209         (configure.ac): Add AC_CONFIG_FILES invocation.
79210         (EXTRA_DIST): Remove variable.
79211
79212         * build-aux/csharpexec.sh.in: New file, moved from lib/.
79213         * modules/csharpexec (Files): Update.
79214         (configure.ac): Add AC_CONFIG_FILES invocation.
79215         (EXTRA_DIST): Remove csharpexec.sh.in.
79216
79217 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
79218
79219         Sync from coreutils.
79220
79221         Add POSIX ACL support
79222         * lib/acl.h (copy_acl, set_acl): Add declarations.
79223         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
79224         systems other than Linux.
79225         (chmod_or_fchmod): New function: use fchmod when possible,
79226         and chmod otherwise.
79227         (file_has_acl): Add a POSIX ACL implementation, with a
79228         Linux-specific subcase.
79229         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
79230         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
79231         acls are unsupported.
79232         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
79233         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
79234         are unsupported.
79235
79236 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
79237
79238         Sync from coreutils.
79239         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
79240
79241 2006-01-07  Bruno Haible  <bruno@clisp.org>
79242
79243         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
79244         gl_EARLY.
79245
79246 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
79247
79248         * lib/strftime.c (tzname): Don't declare if it is already #defined.
79249         Problem reported for Mingw by Mark Junker.
79250
79251 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
79252
79253         * README: Gnulib normally doesn't generate a tarball.
79254
79255 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
79256
79257         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
79258         long int, not int, for nanosecond counts, so that people who are
79259         used to POSIX struct timespec won't be surprised.  Reported by Jim
79260         Meyering.
79261
79262 2005-12-28  Bruno Haible  <bruno@clisp.org>
79263
79264         * build-aux/config.rpath: Update from GNU gettext.
79265
79266 2005-12-16  Jim Meyering  <jim@meyering.net>
79267
79268         * modules/fprintftime: New module.
79269         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
79270
79271 2005-12-16  Jim Meyering  <jim@meyering.net>
79272
79273         * m4/fprintftime.m4: New file.
79274
79275 2005-12-16  Jim Meyering  <jim@meyering.net>
79276
79277         * lib/fprintftime.c, lib/fprintftime.h: New files.
79278
79279 2005-12-15  Simon Josefsson  <jas@extundo.com>
79280
79281         * modules/socklen (configure.ac): Fix M4 macro name, to align with
79282         new m4/socklen.m4.
79283
79284 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
79285
79286         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
79287         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
79288
79289 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
79290
79291         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
79292         * lib/argp-help.c (fill_in_uparams): Check if the constructed
79293         struct uparams is valid. Fall back to the default values if it is
79294         not.
79295
79296 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79297
79298         * modules/argp (Files): Add argp-pin.c
79299         (Depends-on): dirname
79300         (lib_SOURCES): Add argp-pin.c
79301
79302 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79303
79304         * m4/argp.m4:  Check if program_invocation_name and
79305         program_invocation_short_name are declared and define appropriate
79306         macros if they are not.
79307
79308 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79309
79310         * lib/argp-help.c (__argp_base_name): New function
79311         (__argp_short_program_name): Rewrite using __argp_base_name
79312         * lib/argp-namefrob.h: Define program_invocation_name and
79313         program_invocation_short_name if requested
79314         (__argp_base_name): Add prototype
79315         * lib/argp-parse.c (argp_def): Use gettext wrappers
79316         (argp_default_parser): Use __argp_base_name
79317         * lib/argp-pin.c: New file. Defines program_invocation_name and
79318         program_invocation_short_name on systems that lack them.
79319
79320 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
79321
79322         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
79323         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
79324         porting problem reported by Georg Schwarz in
79325         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
79326
79327 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
79328
79329         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
79330         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
79331         porting problem reported by Georg Schwarz in
79332         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
79333
79334 2005-12-05  Bruno Haible  <bruno@clisp.org>
79335
79336         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
79337         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
79338         Reported by Mark Junker <mjscod@gmx.de>.
79339
79340 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
79341
79342         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
79343         Use implementation from Albert Chin, with some
79344         comments/corrections by Stepan Kasal and myself.
79345
79346 2005-12-02  Bruno Haible  <bruno@clisp.org>
79347
79348         * gnulib-tool (func_import): Accept GPLed build tool modules when
79349         --lgpl is given.
79350         * modules/csharpcomp-script: New file.
79351         * modules/csharpcomp: Depend on it.
79352         * modules/javacomp-script: New file.
79353         * modules/javacomp: Depend on it.
79354         Suggested by Simon Josefsson.
79355
79356 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
79357
79358         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
79359         statement, to work around an HP-UX 10.20 compiler bug reported by
79360         Peter O'Gorman.
79361
79362 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
79363
79364         * modules/savedir (Depends-on): Add openat.
79365
79366 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
79367
79368         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
79369         (uintmax_t) [defined uintmax_t]: Do not declare.
79370         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
79371         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
79372         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
79373         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
79374         sake of portability to weird hosts that C allows (though we don't
79375         know of any practical examples).
79376
79377         * lib/savedir.h (fdsavedir): New decl.
79378         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
79379         contains most of the former guts of savedir.
79380         (savedir): Use savedirstream.
79381         Include "openat.h".
79382
79383 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
79384
79385         * modules/obstack (Files): Add m4/ulonglong.m4.
79386         Problem reported by Davide Angelocola.
79387
79388 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
79389
79390         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
79391         coreutils no longer futzes with rounding modes.
79392
79393 2005-11-14  Jim Meyering  <jim@meyering.net>
79394
79395         * lib/mkstemp-safer.c: Include <config.h>, required for possible
79396         replacement of mkstemp.
79397
79398 2005-11-10  Simon Josefsson  <jas@extundo.com>
79399
79400         * lib/readline.c: Remove EOL.
79401
79402 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
79403
79404         * modules/gethrxtime (Depends-on): Add gettime.
79405
79406 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
79407
79408         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
79409         or gettimeofday; no longer needed.
79410
79411 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
79412
79413         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
79414         time business.
79415         (gethrxtime) [! (HAVE_NANOUPTIME
79416         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
79417         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
79418         our own approximation.
79419
79420 2005-11-08  Eric Blake  <ebb9@byu.net>
79421
79422         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
79423
79424 2005-11-08  Eric Blake  <ebb9@byu.net>
79425
79426         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
79427
79428 2005-11-04  Bruno Haible  <bruno@clisp.org>
79429
79430         * gnulib-tool: Implement --update mode.
79431
79432 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
79433
79434         Fix porting problem reported by Theodoros V. Kalamatianos.
79435         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
79436         Don't assume that futimes failing means we must fail.
79437
79438 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
79439
79440         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
79441         variables to suggest the intended function of the PATH_MAX check.
79442
79443 2005-10-30  Kean Johnston  <jkj@sco.com>
79444
79445         Trivial changes to support SCO systems.
79446         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
79447         as PATH_MAX.
79448         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
79449         where __ptr is null when no I/O is pending.
79450
79451 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
79452
79453         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
79454         leave errno alone.  Problem reported by Dmitry V. Levin.
79455
79456 2005-10-28  Simon Josefsson  <jas@extundo.com>
79457
79458         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
79459         Test more.
79460
79461         * tests/test-gc-md2.c, tests/test-md2.c: New files.
79462
79463         * modules/md2, modules/md2-tests: New files.
79464
79465 2005-10-28  Simon Josefsson  <jas@extundo.com>
79466
79467         * m4/inet_ntop.m4: More tests.
79468
79469         * m4/gc-md2.m4, md2.m4: New file.
79470
79471 2005-10-28  Simon Josefsson  <jas@extundo.com>
79472
79473         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
79474         "restrict" keywords, as per POSIX.  Protect the function
79475         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
79476         Don't use K&R prototypes.  Check the sprintf return values.
79477         Re-define EAFNOSUPPORT if not present.  Indent.
79478
79479         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
79480         suggested by Bruno Haible <bruno@clisp.org>.
79481
79482         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
79483
79484         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
79485
79486         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
79487         libgcrypt).
79488
79489         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
79490
79491         * lib/md2.h, lib/md2.c: New files.
79492
79493 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
79494
79495         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
79496         errno alone.  Problem reported by Frederic Jolliton.
79497
79498 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
79499
79500         * modules/verify (License): Change from GPL to LGPL.  This is a
79501         tiny module and there are apparently near-equivalents that are
79502         under the BSD license.
79503
79504 2005-10-24  Simon Josefsson  <jas@extundo.com>
79505
79506         * modules/sha1: Relicense to LGPL.
79507
79508 2005-10-24  Simon Josefsson  <jas@extundo.com>
79509
79510         * lib/md4.h: Shrink buffer size, now that we changed the type.
79511
79512 2005-10-23  Simon Josefsson  <jas@extundo.com>
79513
79514         * gnulib-tool (func_import): Fix --tests-base.
79515
79516 2005-10-22  Simon Josefsson  <jas@extundo.com>
79517
79518         * modules/arcfour (Depends-on): Need stdint.
79519
79520 2005-10-22  Simon Josefsson  <jas@extundo.com>
79521
79522         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
79523         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
79524
79525 2005-10-22  Simon Josefsson  <jas@extundo.com>
79526
79527         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
79528         suggested by Bruno Haible <bruno@clisp.org>.
79529
79530 2005-10-22  Simon Josefsson  <jas@extundo.com>
79531
79532         * lib/crc.h: Include stddef.h, for size_t.
79533
79534 2005-10-22  Simon Josefsson  <jas@extundo.com>
79535
79536         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
79537         arcfour_context struct (simplify test vector testing in GNU
79538         Shishi).
79539
79540 2005-10-21  Simon Josefsson  <jas@extundo.com>
79541
79542         * modules/des, modules/des-tests: New files.
79543
79544         * modules/gc-des, modules/gc-des-tests: New files.
79545
79546         * tests/test-des.c, tests/test-gc-des.c: New file.
79547
79548 2005-10-21  Simon Josefsson  <jas@extundo.com>
79549
79550         * modules/arctwo, modules/arctwo-tests: New files.
79551
79552         * tests/test-arctwo.c: New file.
79553
79554         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
79555
79556         * tests/test-gc-arctwo.c: New file.
79557
79558 2005-10-21  Simon Josefsson  <jas@extundo.com>
79559
79560         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
79561         Bruno Haible <bruno@clisp.org>.
79562
79563         * m4/gc-des.m4: New file.
79564
79565 2005-10-21  Simon Josefsson  <jas@extundo.com>
79566
79567         * m4/arctwo.m4: New file.
79568
79569         * m4/gc-arctwo.m4: New file.
79570
79571 2005-10-21  Simon Josefsson  <jas@extundo.com>
79572
79573         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
79574         block.
79575
79576 2005-10-21  Simon Josefsson  <jas@extundo.com>
79577
79578         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
79579         <bruno@clisp.org>.
79580
79581         * lib/hmac-sha1.c (hmac_sha1): Likewise.
79582
79583         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
79584         Bruno Haible <bruno@clisp.org>.
79585
79586         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
79587         <bruno@clisp.org>.
79588
79589 2005-10-21  Simon Josefsson  <jas@extundo.com>
79590
79591         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
79592
79593 2005-10-21  Simon Josefsson  <jas@extundo.com>
79594
79595         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
79596
79597 2005-10-21  Simon Josefsson  <jas@extundo.com>
79598
79599         * lib/des.h, lib/des.c: New files.
79600
79601         * lib/gc-gnulib.c: Support DES.c
79602
79603 2005-10-21  Simon Josefsson  <jas@extundo.com>
79604
79605         * lib/arctwo.h, lib/arctwo.c: New files.
79606
79607         * lib/gc-gnulib.c: Support ARCTWO.
79608
79609 2005-10-21  Simon Josefsson  <jas@extundo.com>
79610
79611         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
79612         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79613
79614 2005-10-21  Simon Josefsson  <jas@extundo.com>
79615
79616         * gnulib-tool (func_import, func_create_testdir): Define automake
79617         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
79618         Makefile.am snippet),
79619         suggested by Bruno Haible <bruno@clisp.org>.
79620
79621         * modules/gc (Makefile.am): Use it.
79622
79623 2005-10-21  Bruno Haible  <bruno@clisp.org>
79624
79625         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
79626         patch.
79627
79628 2005-10-19  Simon Josefsson  <jas@extundo.com>
79629
79630         * tests/test-gc-rijndael.c: New file.
79631
79632         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
79633
79634 2005-10-19  Simon Josefsson  <jas@extundo.com>
79635
79636         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
79637         interface too.
79638
79639 2005-10-19  Simon Josefsson  <jas@extundo.com>
79640
79641         * tests/test-gc-arcfour.c: New file.
79642
79643         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
79644
79645 2005-10-19  Simon Josefsson  <jas@extundo.com>
79646
79647         * modules/gc-md4, modules/gc-md4-tests: New file.
79648
79649         * tests/test-gc-md4.c: New file.
79650
79651 2005-10-19  Simon Josefsson  <jas@extundo.com>
79652
79653         * m4/gc-md4.m4: New file.
79654
79655 2005-10-19  Simon Josefsson  <jas@extundo.com>
79656
79657         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
79658         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
79659         <kasal@ucw.cz>.
79660
79661 2005-10-19  Simon Josefsson  <jas@extundo.com>
79662
79663         * m4/gc-arcfour.m4: New file.
79664
79665         * m4/gc-rijndael.m4: New file.
79666
79667 2005-10-19  Simon Josefsson  <jas@extundo.com>
79668
79669         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
79670
79671 2005-10-19  Simon Josefsson  <jas@extundo.com>
79672
79673         * lib/gc-gnulib.c: Support ARCFOUR.
79674
79675 2005-10-19  Simon Josefsson  <jas@extundo.com>
79676
79677         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
79678         support.
79679
79680         * lib/gc.h: Add ECB enum type.
79681
79682         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
79683
79684 2005-10-18  Simon Josefsson  <jas@extundo.com>
79685
79686         * tests/test-md5.c: New file.
79687
79688         * modules/md5-tests: New file.
79689
79690 2005-10-18  Simon Josefsson  <jas@extundo.com>
79691
79692         * tests/test-md4.c: New file.
79693
79694         * modules/md4, modules/md4-tests: New files.
79695
79696 2005-10-18  Simon Josefsson  <jas@extundo.com>
79697
79698         * m4/md4.m4: New file.
79699
79700 2005-10-18  Simon Josefsson  <jas@extundo.com>
79701
79702         * lib/md4.h, lib/md4.c: New files, based on md5.?.
79703
79704 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
79705
79706         * gnulib-tool (func_create_testdir): Omit the second check whether
79707         BUILT_SOURCES in nonempty.
79708
79709 2005-10-17  Simon Josefsson  <jas@extundo.com>
79710
79711         * tests/test-rijndael.c: New file.
79712
79713 2005-10-17  Simon Josefsson  <jas@extundo.com>
79714
79715         * modules/sha1: Depend on stdint instead of md5.
79716
79717         * modules/md5: Depend on stdint, remove uint32_t.
79718
79719 2005-10-17  Simon Josefsson  <jas@extundo.com>
79720
79721         * modules/gc-sha1-tests: New file.
79722
79723         * tests/test-gc-sha1.c: New file.
79724
79725 2005-10-17  Simon Josefsson  <jas@extundo.com>
79726
79727         * m4/md5.m4: Remove call to uint32_t.m4.
79728
79729 2005-10-17  Simon Josefsson  <jas@extundo.com>
79730
79731         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
79732
79733         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
79734         md5.h.
79735
79736         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
79737
79738         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
79739
79740 2005-10-17  Simon Josefsson  <jas@extundo.com>
79741
79742         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
79743
79744 2005-10-17  Simon Josefsson  <jas@extundo.com>
79745
79746         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
79747
79748 2005-10-17  Simon Josefsson  <jas@extundo.com>
79749
79750         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
79751
79752         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
79753
79754 2005-10-17  Bruno Haible  <bruno@clisp.org>
79755
79756         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
79757         that it can also be used in a test.
79758
79759 2005-10-16  Bruno Haible  <bruno@clisp.org>
79760
79761         * gnulib-tool (func_emit_tests_Makefile_am): Also define
79762         TESTS_ENVIRONMENT, so that individual tests can augment it.
79763
79764         * gnulib-tool (func_create_testdir): Use an intermediate target for
79765         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
79766         macros, like $(ALLOCA_H), which cannot be passed through the command
79767         line.
79768
79769 2005-10-15  Simon Josefsson  <jas@extundo.com>
79770
79771         * modules/rijndael-tests: New file.
79772
79773         * modules/rijndael: New file.
79774
79775 2005-10-15  Simon Josefsson  <jas@extundo.com>
79776
79777         * m4/rijndael.m4: New file.
79778
79779 2005-10-15  Simon Josefsson  <jas@extundo.com>
79780
79781         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
79782
79783         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
79784
79785 2005-10-14  Simon Josefsson  <jas@extundo.com>
79786
79787         * tests/test-arcfour.c: New file.
79788
79789         * modules/arcfour, modules/arcfour-tests: New files.
79790
79791 2005-10-14  Simon Josefsson  <jas@extundo.com>
79792
79793         * m4/arcfour.m4: New file.
79794
79795 2005-10-14  Simon Josefsson  <jas@extundo.com>
79796
79797         * lib/arcfour.h, lib/arcfour.c: New files.
79798
79799 2005-10-14  Roland McGrath  <roland@redhat.com>
79800
79801         Import from libc.  [BZ #1331]
79802         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
79803         macro argument.
79804         Reported by Matej Vela <vela@debian.org>.
79805
79806 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
79807
79808         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
79809         include <wchar.h>; no longer needed.
79810
79811 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
79812
79813         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
79814
79815 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
79816         and  Ulrich Drepper  <drepper@redhat.com>
79817
79818         Import from libc.
79819         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
79820         instead of inline stream orientation test and two separate
79821         function calls.  Pay no attention to USE_IN_LIBIO.
79822
79823 2005-10-13  Simon Josefsson  <jas@extundo.com>
79824
79825         * modules/gc-hmac-md5-tests: New file.
79826
79827         * tests/test-gc-hmac-sha1.c: New file.
79828
79829         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
79830
79831         * modules/gc-hmac-md5-tests: New file.
79832
79833         * tests/test-gc-md5.c: New file.
79834
79835         * modules/gc-md5-tests: New file.
79836
79837 2005-10-13  Simon Josefsson  <jas@extundo.com>
79838
79839         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
79840         Move memory allocation outside of loop.
79841
79842 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
79843
79844         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
79845         intermediate directory is in a read-only file system.  Problem
79846         reported by Eric Blake.
79847
79848 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
79849
79850         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
79851
79852 2005-10-12  Simon Josefsson  <jas@extundo.com>
79853
79854         * tests/test-hmac-sha1.c: New file.
79855
79856         * modules/hmac-sha1-tests: New file.
79857
79858         * modules/hmac-sha1: New file.
79859
79860 2005-10-12  Simon Josefsson  <jas@extundo.com>
79861
79862         * modules/gc-sha1: New file.
79863
79864 2005-10-12  Simon Josefsson  <jas@extundo.com>
79865
79866         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
79867
79868         * tests/test-gc-pbkdf2-sha1.c: New file.
79869
79870 2005-10-12  Simon Josefsson  <jas@extundo.com>
79871
79872         * modules/gc-md5, modules/gc-hmac-md5: New files.
79873
79874         * modules/gc (Files): Remove md5, memxor and hmac files.
79875
79876 2005-10-12  Simon Josefsson  <jas@extundo.com>
79877
79878         * m4/gc-pbkdf2-sha1.m4: New file.
79879
79880         * m4/gc-hmac-sha1.m4: New file.
79881
79882         * m4/gc-sha1: New file.
79883
79884         * m4/hmac-sha1.m4: New file.
79885
79886 2005-10-12  Simon Josefsson  <jas@extundo.com>
79887
79888         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
79889
79890         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
79891
79892 2005-10-12  Simon Josefsson  <jas@extundo.com>
79893
79894         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
79895         suggested by Bruno Haible <bruno@clisp.org>.
79896
79897 2005-10-12  Simon Josefsson  <jas@extundo.com>
79898
79899         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
79900
79901 2005-10-12  Simon Josefsson  <jas@extundo.com>
79902
79903         * lib/gc-pbkdf2-sha1.c: New file.
79904
79905         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
79906
79907 2005-10-12  Simon Josefsson  <jas@extundo.com>
79908
79909         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
79910
79911         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
79912
79913 2005-10-12  Simon Josefsson  <jas@extundo.com>
79914
79915         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
79916         GC_USE_HMAC_MD5, respectively.
79917
79918         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
79919         (gc_md5): Fix typo.
79920
79921         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
79922
79923         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
79924
79925         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
79926
79927 2005-10-12  Bruno Haible  <bruno@clisp.org>
79928
79929         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
79930         Reported by Stepan Kasal <kasal@ucw.cz>.
79931
79932 2005-10-11  Simon Josefsson  <jas@extundo.com>
79933
79934         * tests/test-crc.c: New file.
79935
79936         * modules/crc, modules/crc-tests: New files.
79937
79938 2005-10-11  Simon Josefsson  <jas@extundo.com>
79939
79940         * m4/crc.m4: New file.
79941
79942 2005-10-11  Simon Josefsson  <jas@extundo.com>
79943
79944         * lib/gc.h: Add gc_hash and gc_hash_buffer.
79945
79946         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
79947
79948         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
79949
79950 2005-10-11  Simon Josefsson  <jas@extundo.com>
79951
79952         * lib/crc.h, lib/crc.c: New files.
79953
79954         * lib/gc.h (gc_hash_buffer): Add doc.
79955
79956 2005-10-11  Bruno Haible  <bruno@clisp.org>
79957
79958         * modules/c-strcasestr: New file.
79959         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
79960
79961 2005-10-11  Bruno Haible  <bruno@clisp.org>
79962
79963         * modules/c-strcase: New file.
79964         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
79965
79966 2005-10-11  Bruno Haible  <bruno@clisp.org>
79967
79968         * lib/strcasecmp.c: Include limits.h.
79969         (strcasecmp): Avoid integer overflow on exotic platforms.
79970         * lib/strncasecmp.c: Include limits.h.
79971         (strncasecmp): Avoid integer overflow on exotic platforms.
79972         Reported by Paul Eggert.
79973
79974 2005-10-11  Bruno Haible  <bruno@clisp.org>
79975
79976         * lib/c-strcasestr.h: New file, from GNU gettext.
79977         * lib/c-strcasestr.c: New file, from GNU gettext.
79978
79979 2005-10-11  Bruno Haible  <bruno@clisp.org>
79980
79981         * lib/c-strcase.h: New file, from GNU gettext.
79982         * lib/c-strcasecmp.c: New file, from GNU gettext.
79983         * lib/c-strncasecmp.c: New file, from GNU gettext.
79984
79985 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
79986
79987         * modules/mempcpy (License): GPL -> LGPL.
79988         * modules/strchrnul (License): Likewise.
79989         * modules/sysexits (License): Likewise.
79990
79991 2005-10-08  Simon Josefsson  <jas@extundo.com>
79992
79993         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
79994
79995 2005-10-07  Simon Josefsson  <jas@extundo.com>
79996
79997         * m4/memxor.m4: Remove gl_C_RESTRICT call.
79998
79999 2005-10-06  Simon Josefsson  <jas@extundo.com>
80000
80001         * tests/test-hmac-md5.c: New file.
80002
80003         * modules/hmac-md5-tests: New file.
80004
80005         * modules/hmac-md5: New file.
80006
80007 2005-10-06  Simon Josefsson  <jas@extundo.com>
80008
80009         * m4/hmac-md5.m4: New file.
80010
80011         * m4/memxor.m4: Require gl_C_RESTRICT.
80012
80013 2005-10-06  Simon Josefsson  <jas@extundo.com>
80014
80015         * lib/memxor.c (memxor): Avoid casts and warnings.
80016
80017 2005-10-06  Simon Josefsson  <jas@extundo.com>
80018
80019         * lib/hmac-md5.c: New file.
80020
80021         * lib/hmac.h: New file.
80022
80023 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
80024
80025         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
80026         promotes to int, not unsigned int, to catch the AIX 5.3
80027         compiler bug.
80028
80029 2005-10-05  Simon Josefsson  <jas@extundo.com>
80030
80031         * modules/memxor: New file.
80032
80033         * modules/iconv (Files): Move config.rpath to havelib, it is used
80034         there.
80035
80036         * modules/havelib (Files): Add config.rpath.
80037
80038 2005-10-05  Simon Josefsson  <jas@extundo.com>
80039
80040         * m4/memxor.m4: New file.
80041
80042 2005-10-05  Simon Josefsson  <jas@extundo.com>
80043
80044         * lib/memxor.c (memxor): Fix compiler error.
80045
80046         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
80047         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
80048
80049         * lib/memxor.h, lib/memxor.c: New files.
80050
80051         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
80052         we assume all systems have it, suggested by Jim Meyering
80053         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
80054         any systems lack sys/socket.h; mingw32 is known to lack it, but we
80055         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
80056         same reasons.
80057
80058 2005-10-05  Simon Josefsson  <jas@extundo.com>
80059
80060         * config/srclist.txt: Add glibc bug 1423 for md5.h.
80061
80062 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
80063
80064         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
80065         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
80066         needed, since the source code now assumes these .h files.
80067
80068 2005-10-05  Derek Price  <derek@ximbiot.com>
80069
80070         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
80071
80072 2005-10-05  Bruno Haible  <bruno@clisp.org>
80073
80074         * modules/stdint (License): Change to LGPL.
80075
80076 2005-10-04  Simon Josefsson  <jas@extundo.com>
80077
80078         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
80079         D. Baushke" <mdb@gnu.org>.
80080
80081 2005-10-04  Bruno Haible  <bruno@clisp.org>
80082
80083         * lib/verify.h (verify_true): Provide alternative definition for C++.
80084
80085 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
80086
80087         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
80088         (SSIZE_MAX): New macro, if not already defined.
80089         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
80090         than 2 GiB.
80091
80092 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
80093
80094         Sync from coreutils.
80095         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
80096         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
80097         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
80098         ULLONG_MAX doesn't work with 2.7.2.1.
80099
80100 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
80101
80102         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
80103         From Ben Pfaff.
80104
80105         * modules/exclude (Depends-on): Depend on verify.
80106         * modules/strtoimax (Depends-on): Likewise.
80107         * modules/utimecmp (Depends-on): Likewise.
80108
80109 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
80110
80111         * lib/exclude.c: Include verify.h.
80112         (verify): Remove.  All callers changed to use verify.h's version.
80113         * lib/strtoimax.c: Likewise.
80114         * lib/utimecmp.c: Likewis.e
80115
80116         Sync from coreutils.
80117         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
80118         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
80119         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
80120         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
80121         bother returning ENOSYS if settimeofday or stime fails; just let
80122         them return whatever errno they want to return.
80123         * lib/utimens.c: Include unistd.h, for dup2.
80124         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
80125         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
80126
80127 2005-10-02  Jim Meyering  <jim@meyering.net>
80128
80129         Sync from coreutils.
80130         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
80131         from glibc-2.2.5 that fails for read-only files.
80132
80133 2005-10-02  Jim Meyering  <jim@meyering.net>
80134
80135         Sync from coreutils.
80136         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
80137         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
80138         `#if HAVE_CONFIG_H'.
80139         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
80140         Remove AT_FDCWD test.
80141         Do not consume the fd unless successful.
80142         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
80143         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
80144         block, so that we don't even try to compile it if settimeofday is
80145         available.  This works around a compilation failure on OSF1 V5.1,
80146         due to stime requiring a `long int*' while tv_sec is `int'.
80147
80148 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
80149
80150         Sync from coreutils.
80151         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
80152         against `yes', rather than just testing for nonempty.
80153
80154 2005-10-01  Simon Josefsson  <jas@extundo.com>
80155
80156         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
80157         and Darwin.
80158
80159         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
80160         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
80161         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
80162         freeaddrinfo and gai_strerror are declared by the POSIX headers.
80163         Check if struct addrinfo is declared.
80164
80165 2005-10-01  Simon Josefsson  <jas@extundo.com>
80166
80167         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
80168         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
80169         AI_* and EAI_* definitions.  Protect function declarations.
80170
80171 2005-10-01  Jim Meyering  <jim@meyering.net>
80172
80173         Sync from coreutils.
80174
80175         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
80176         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
80177         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
80178         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
80179         in the inet and nsl libraries.  Required on Solaris 5.7.
80180
80181 2005-10-01  Jim Meyering  <jim@meyering.net>
80182
80183         Sync from coreutils.
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  Eric Blake  <ebb9@byu.net>  (tiny change)
80188
80189         * lib/getdelim.c (getdelim): Remove unused variables.
80190
80191 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
80192
80193         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
80194         so that the code works even with ancient cpp.  Portability problem
80195         with GCC 2.7.2.1 reported by Thomas M.Ott.
80196
80197 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
80198
80199         * modules/regex (Depends-on): Add strcase.
80200
80201         * modules/gethostname (Licence): Change from GPL to LGPL, since
80202         gethostname.c is a trivial implementation of a standard library
80203         function.
80204         * modules/poll (License): Change from GPL to LGPL, since it's
80205         derived from LGPL code.
80206
80207 2005-09-27  Jim Meyering  <jim@meyering.net>
80208
80209         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
80210         HAVE_CONFIG_H.
80211
80212         * lib/intprops.h (signed_type_or_expr__): Define.
80213         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
80214         for unsigned types.
80215
80216 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
80217
80218         * lib/verify.h (verify_expr): Remove, replacing with:
80219         (verify_true): New macro that returns true instead of void.
80220         (verify_type__): Remove.
80221         (verify): Use verify_true rather than verify_type__.
80222
80223 2005-09-26  Bruno Haible  <bruno@clisp.org>
80224
80225         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
80226         is necessary.
80227         (lib_SOURCES): Remove mbchar.c.
80228         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
80229         (Files): Add m4/mbrtowc.m4.
80230         * modules/mbiter: Likewise.
80231         * modules/mbuiter: Likewise.
80232
80233 2005-09-26  Bruno Haible  <bruno@clisp.org>
80234
80235         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
80236         compile mbchar.c if they are not both present.
80237         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
80238         * m4/mbiter.m4 (gl_MBITER): Likewise.
80239         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
80240         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
80241         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
80242
80243 2005-09-25  Jim Meyering  <jim@meyering.net>
80244
80245         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
80246         also uses socklen_t.
80247
80248 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
80249
80250         * lib/utimens.c (ENOSYS): Define if not already defined.
80251         (futimens): Support having a null PATH if the file descriptor
80252         is nonnegative.
80253
80254         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
80255         Remove.
80256         (__attribute): Define to empty unless GCC 3.1 or later.
80257         This works around a core dump on OpenBSD 3.4, which has GCC
80258         2.95.3, which dumps core when given __attribute__(()).  It also
80259         simplifies other tests, since we really don't want to bother with
80260         worrying about which ancient version of GCC supported what.
80261         Original problem reported by Yoann Vandoorselaere, with part of
80262         the fix suggested by Derek Price.
80263
80264 2005-09-24  Jim Meyering  <jim@meyering.net>
80265
80266         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
80267         so we can once again use a positive bitfield width of 1 -- now we
80268         don't have to explain why we were using a bitfield width of 2.
80269
80270 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
80271
80272         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
80273         and similarly for the other external symbols.  Problem reported
80274         by James Gallager.
80275
80276         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
80277         bug reported by Jim Meyering.
80278
80279         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
80280         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
80281         not needed, since socklen is a prerequisite module.
80282
80283 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
80284
80285         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
80286         Problem reported by Eric Blake.
80287         (getaddrinfo): Initialize se so that it's not garbage.
80288         Redo internal storage allocation so that it doesn't make unportable
80289         assumptions about alignment.
80290         Fix a memory leak.
80291
80292         * lib/utimens.c (futimens): Use futimesat if available.
80293         Prefer it to futimes since it doesn't have the futimes bug.
80294
80295         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
80296         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
80297         Instead, declare a function that returns a pointer to an array,
80298         and use verify_type__ to declare the size of the array.
80299         Problem and germ of a solution reported by Bruno Haible.
80300         (verify_type__): Use 2, not 1, for bitfield size, to avoid
80301         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
80302
80303 2005-09-23  Jim Meyering  <jim@meyering.net>
80304
80305         Sync from coreutils.
80306         Correct build failure (socklen_t not defined) on at least
80307         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
80308         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
80309
80310 2005-09-23  Jim Meyering  <jim@meyering.net>
80311
80312         * modules/getaddrinfo (Depends-on): Add socklen.
80313
80314 2005-09-23  Bruno Haible  <bruno@clisp.org>
80315
80316         * tests/test-verify.c: New file.
80317
80318 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
80319
80320         Sync from coreutils.
80321
80322         * modules/argmatch (Depends-on): Add verify.
80323         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
80324         unistd-safer.
80325         * modules/save-cwd (Depends-on): Likewise.
80326
80327         * modules/openat (Files): Add lib/openat-die.c.
80328         (Depends-on): Remove error, exitfail.
80329         Add dirname.
80330
80331         * modules/verify: New file.
80332         * MODULES.html.sh (Diagnostics <assert.h>): New section,
80333         with "verify" module.
80334
80335 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
80336
80337         Sync from coreutils.
80338
80339         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
80340         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
80341         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
80342         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
80343         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
80344         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
80345         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
80346         Don't bother checking for string.h, stdlib.h, unistd.h.
80347         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
80348         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
80349         module's job.
80350         * m4/jm-macros.m4 (gl_MACROS): Likewise.
80351         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
80352
80353         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
80354         (gl_GETDATE): Use it.
80355
80356         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
80357
80358 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
80359
80360         Sync from coreutils.
80361
80362         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
80363         stat-time.h.
80364         * lib/argmatch.h: Include verify.h
80365         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
80366         (ARGMATCH_ASSERT): Remove; unused.
80367         * lib/canonicalize.c: Assume STDC_HEADERS.
80368         * lib/exclude.c: Include "strcase.h".
80369         * lib/regex_internal.h [!defined _LIBC]: Likewise.
80370         * lib/getusershell.c: Include stdio--.h rather than stdio.h
80371         and stdio-safer.h.
80372         (getusershell): Call fopen, not fopen_safer.
80373         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
80374         Do not include unistd-safer.h.
80375         (save_cwd): Don't call fd_safer; no longer needed
80376         now that we include fcntl--.h.
80377
80378         * lib/getdate.y (relative_time): New type.
80379         (RELATIVE_TIME_0): New constant.
80380         (parser_control): Use relative_time instead of doing it ourselves.
80381         (%union): Add new relative_time rel member.
80382         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
80383         Now typeless.
80384         (relunit, relunit_snumber): Now of type rel.
80385         (zone, rel, relunit, get_date): Adjust to above changes.
80386
80387         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
80388         Do not include unistd-safer.h.
80389         (getloadavg): Don't call fd_safer; no longer needed
80390         now that we include fcntl--.h.
80391
80392         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
80393         (make_dir_parents): Treat ENOSYS like EEXIST.
80394
80395         Improve quality of diagnostics on restore_cwd failure.
80396         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
80397         (make_dir_parents): Last arg is now int * (for errno), not bool *.
80398         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
80399         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
80400         each time through the loop.  Do not diagnose restore_cwd failure;
80401         that is the caller's job (and perhaps the caller does not care).
80402
80403         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
80404         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
80405         If the file already exists but is not a directory, don't bother
80406         to try to make its parents.
80407         Close potential file descriptor leak if we can't chdir("/") (!).
80408         Don't always return true if chdir($PWD) fails; return true only
80409         if the requested action was done successfully (except for the
80410         chdir($PWD)).
80411         Don't log final directory unless we actually made it.
80412         Refactor to avoid duplicate code to fix up permissions.
80413         Don't attempt to fix up parent permissions if chdir($PWD) fails.
80414
80415         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
80416         to make it a bit faster and (I hope) clearer.
80417         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
80418         Fix bug in formats like %2N.
80419
80420         * lib/verify.h: New file.
80421
80422 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
80423
80424         Sync from coreutils.
80425         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
80426
80427 2005-09-22  Jim Meyering  <jim@meyering.net>
80428
80429         Sync from coreutils.
80430
80431         * m4/lstat.m4 (gl_FUNC_LSTAT):
80432         Use AC_LIBSOURCES to require lstat.c and lstat.h.
80433         Remove obsolete comment.
80434         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
80435         * m4/xstrtod.m4: Likewise.
80436
80437         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
80438
80439 2005-09-22  Jim Meyering  <jim@meyering.net>
80440
80441         Sync from coreutils.
80442
80443         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
80444
80445         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
80446         the .tm_year member, since otherwise gcc-4.0 would now warn about
80447         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
80448
80449         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
80450         order to avoid an unsuppressible warning from gcc on 64-bit systems.
80451
80452         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
80453         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
80454         when run in a time zone for which daylight savings time is in effect
80455         for the starting date.
80456
80457         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
80458         stop us from restricting permissions of just-created absolute-named
80459         directories.
80460         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
80461         to restore initial working directory.
80462         * lib/mkdir-p.c (make_dir_parents): New parameter:
80463         different_working_dir, to tell caller if/when we change the working
80464         directory and are unable to return to the initial one.
80465         * lib/mkdir-p.h (make_dir_parents): Update prototype.
80466         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
80467         `return false'.  This fixes a bug introduced on 2004-07-30.
80468
80469         * lib/openat.c (fdopendir): Be sure to close the supplied
80470         file descriptor before returning.  This makes our replacement
80471         implementation a little closer to Solaris's, where fdopendir
80472         ties the file descriptor to the returned DIR* pointer.
80473         * lib/openat.c (unlinkat): New function.
80474         * lib/openat.h (unlinkat): Add prototype.
80475         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
80476         (openat_restore_fail): Rename from openat_restore_die.
80477         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
80478
80479         Provide an alternative to exiting immediately upon save_cwd or
80480         restore_cwd failure.  Now, an application can arrange e.g.,
80481         to perform a longjump in that case.
80482         * lib/openat.c: Include dirname.h.
80483         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
80484         (rpl_openat, fdopendir, fstatat): Call openat_save_die
80485         and openat_restore_die rather than calling error directly.
80486         Don't include "error.h" or "exitfail.h"; they're no longer needed.
80487
80488         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
80489         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
80490         define.
80491
80492         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
80493         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
80494                             int utc, int nanoseconds);
80495         Background:
80496         date should not have to allocate a megabyte of virtual memory to
80497         handle a format argument like +%1048575T.  When implemented with
80498         strftime, it must allocate such a buffer, use strftime to fill it
80499         in, print it, then free it.
80500         With fprintftime, it simply prints everything and exits.
80501         With no need for memory allocation, that's one fewer way to fail.
80502         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
80503         optional field width, not before, so we accept %9:z, not %:9z.
80504         (my_strftime): Be sure to use L_('x') for literals.
80505
80506         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
80507         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
80508         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
80509         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
80510         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
80511         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
80512         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
80513         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
80514         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
80515         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
80516         * lib/xgethostname.c, lib/xreadlink.c:
80517         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
80518
80519         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
80520         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
80521         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
80522         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
80523         and don't include <sys/file.h>).
80524
80525 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
80526
80527         Sync from coreutils.
80528
80529         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
80530         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
80531         [!LDAV_DONE]: Avoid unused variable warning.
80532
80533 2005-09-21  Bruno Haible  <bruno@clisp.org>
80534
80535         * lib/unicodeio.h (unicode_to_mb): New declaration.
80536
80537 2005-09-20  Derek Price  <derek@ximbiot.com>
80538
80539         * lib/getaddrinfo.c: Don't include <netdb.h> included from
80540         getaddrinfo.h.
80541
80542 2005-09-20  Bruno Haible  <bruno@clisp.org>
80543
80544         * gnulib-tool: Remove trailing slashes from the values specified for
80545         --source-base, --m4-base, --tests-base, --aux-dir.
80546         Suggested by Simon Josefsson <jas@extundo.com>.
80547
80548 2005-09-20  Bruno Haible  <bruno@clisp.org>
80549
80550         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
80551         func_modules_to_filelist, func_import, func_create_testdir): Make all
80552         sorting results locale-independent, so that gnulib-cache.m4 doesn't
80553         change when gnulib-tool is invoked in a different locale.
80554
80555 2005-09-19  Simon Josefsson  <jas@extundo.com>
80556
80557         * m4/socklen.m4: Fix typo.
80558
80559 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80560
80561         Use a consistent style for including <config.h>.
80562         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
80563         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
80564         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
80565         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
80566         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
80567         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
80568         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
80569         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
80570         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
80571         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
80572         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
80573         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
80574         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
80575         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
80576         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
80577         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
80578         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
80579         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
80580         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
80581         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
80582         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
80583         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
80584         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
80585         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
80586         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
80587         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
80588         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
80589         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
80590         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
80591         lib/xstrtoumax.c, lib/yesno.c:
80592         Standardize inclusion of config.h.
80593         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
80594         lib/inttostr.h:  Removed inclusion of config.h from header files.
80595         * lib/inttostr.c:  Adjusted in-tree users.
80596         * lib/timespec.h: Remove superfluous warning to include config.h.
80597         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
80598         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
80599         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
80600         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
80601         config.h with HAVE_CONFIG_H.
80602
80603 2005-09-19  Jim Meyering  <jim@meyering.net>
80604
80605         * modules/pathmax (License): Change to LGPL.
80606
80607 2005-09-19  Derek Price  <derek@ximbiot.com>
80608
80609         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
80610
80611 2005-09-19  Bruno Haible  <bruno@clisp.org>
80612
80613         * gnulib-tool (import): Provide default for --tests-base.
80614
80615 2005-09-19  Bruno Haible  <bruno@clisp.org>
80616
80617         * doc/quote.texi: New file, extracted from gnulib.texi.
80618         * doc/ctime.texi: New file, extracted from gnulib.texi.
80619         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
80620         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
80621         * doc/gnulib.texi: Include them.
80622
80623 2005-09-18  Bruno Haible  <bruno@clisp.org>
80624
80625         Portability fix.
80626         * gnulib-tool (func_readlink): New function.
80627         (func_ln_if_changed): Use it.
80628
80629 2005-09-18  Bruno Haible  <bruno@clisp.org>
80630
80631         * gnulib-tool: Support --with-tests also with --import.
80632         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
80633         (func_import): Use variables $testsbase and $inctests. Emit a
80634         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
80635         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
80636         SUBDIRS += $testsdir.
80637         (func_create_testdir): Update.
80638
80639 2005-09-18  Bruno Haible  <bruno@clisp.org>
80640
80641         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
80642         instead of $dry_run.
80643         (func_cp_if_changed, func_mv_if_changed): Remove functions.
80644         (func_ln_if_changed): Don't handle dry-run here.
80645         (func_import): In dry-run mode, detect more precisely which actions
80646         would be performed, and don't use "...ing" verbs.
80647
80648 2005-09-18  Bruno Haible  <bruno@clisp.org>
80649
80650         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
80651         (func_import): Use join on two temporary files instead of three nested
80652         loops, in order to determine which files are new or old.
80653
80654 2005-09-18  Bruno Haible  <bruno@clisp.org>
80655
80656         * gnulib-tool (func_import): Comment out code that spits out the
80657         new files with --dry-run.
80658
80659 2005-09-18  Bruno Haible  <bruno@clisp.org>
80660
80661         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
80662
80663 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
80664
80665         * lib/stat-time.h: New file.
80666         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
80667         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
80668         in a different way.
80669         (timespec_cmp): New function.
80670         * lib/utimecmp.c: Include stat-time.h.
80671         (SYSCALL_RESOLUTION): Depend on whether various struct stat
80672         members exist, not on the obsolescent ST_MTIM_NSEC.
80673         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
80674
80675 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
80676
80677         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
80678
80679 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
80680
80681         * MODULES.html.sh (File system functions): Add stat-time.
80682         * modules/stat-time: New file.
80683         * modules/timespec (Files): Remove m4/st_mtim.m4; this
80684         is now done in a different way, by the stat-time module.
80685         * modules/utimecmp (Depends-on): Add stat-time.
80686
80687 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
80688
80689         * m4/st_mtim.m4: Remove.  Superseded by...
80690         * m4/stat-time.m4: New file.
80691         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
80692         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
80693
80694 2005-09-15  Derek Price  <derek@ximbiot.com>
80695
80696         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
80697
80698 2005-09-15  Derek Price  <derek@ximbiot.com>
80699
80700         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
80701         * lib/regex_internal.c: Ditto, using this...
80702         (__GNUC_PREREQ): ...new macro.
80703         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
80704         using...
80705         (__GNUC_PREREQ): ...this new macro.
80706
80707         * lib/strstr.h: Include string.h. Define strstr as a macro here.
80708
80709 2005-09-15  Derek Price  <derek@ximbiot.com>
80710             Paul Eggert  <eggert@cs.ucla.edu>
80711
80712         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
80713         changes, consolidating in...
80714         * lib/regex_internal.h: ...this file.
80715
80716 2005-09-13  Jim Meyering  <jim@meyering.net>
80717
80718         * lib/canon-host.c: Filter through gnu indent and reword comments
80719         slightly.
80720         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
80721
80722 2005-09-13  Derek Price  <derek@ximbiot.com>
80723
80724         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
80725         failure.
80726         Reported by Jim Meyering  <jim@meyering.net>.
80727
80728 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80729
80730         * lib/base64.c: Typo.
80731         (base64_encode): Put b64str in initialized data section.
80732
80733 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
80734
80735         Merge glibc and coreutils changes into gnulib, plus a few
80736         extra fixes.
80737         * lib/md5.c: Use #error rather than a string.
80738         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
80739         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
80740         (__attribute__): Define to empty for non recent-GCC.
80741         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
80742         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
80743         Renamed from their non-__ counterparts, with new macros replacing
80744         them if not _LIBC.  Add __THROW attribute.
80745         (rol): Remove.
80746         (struct md5_ctx): Align buffer if using GCC.
80747         * lib/sha1.h (struct sha1_ctx): Likewise.
80748         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
80749         The old name was backwards.
80750         (NOTSWAP): Remove; not used.
80751         (rol): New macro, moved here from md5.h.
80752         (sha1_process_block): Remove a FIXME that doesn't make sense.
80753
80754 2005-09-12  Derek Price  <derek@ximbiot.com>
80755
80756         Return usable errors from canon-host.
80757         * lib/canon-host.h: New file.
80758         * lib/canon-host.c (canon_host): Wrap...
80759         (canon_host_r): ...this new function, which now relies exclusively on
80760         getaddrinfo.
80761         (ch_strerror): New function.
80762         (last_cherror): New global.
80763         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
80764         interface.
80765         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
80766         void *.
80767         (freeaddrinfo): Free ai->ai_canonname when set.
80768
80769 2005-09-12  Derek Price  <derek@ximbiot.com>
80770
80771         Make canon-host require getaddrinfo.
80772         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
80773         AC_LIBSOURCE canon-host.h.  Call...
80774         (gl_PREREQ_CANON_HOST): ...this new function, which requires
80775         gl_GETADDRINFO.
80776         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
80777
80778 2005-09-12  Derek Price  <derek@ximbiot.com>
80779
80780         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
80781         LGPL.
80782         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
80783
80784 2005-09-12  Derek Price  <derek@ximbiot.com>
80785
80786         * lib/gai_strerror.c: Include config.h when available.  Include
80787         getaddrinfo.h before other headers to test interface.
80788         Reported by Larry Jones <lawrence.jones@ugs.com>.
80789
80790 2005-09-12  Derek Price  <derek@ximbiot.com>
80791             Paul Eggert  <eggert@cs.ucla.edu>
80792
80793         * modules/glob (Files): Add glob-libc.h.
80794
80795 2005-09-12  Derek Price  <derek@ximbiot.com>
80796             Paul Eggert  <eggert@cs.ucla.edu>
80797
80798         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
80799         glob_.h, glob-libc.h.
80800         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
80801
80802 2005-09-12  Derek Price  <derek@ximbiot.com>
80803             Paul Eggert  <eggert@cs.ucla.edu>
80804
80805         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
80806         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
80807         protecting things that should be done only in gnulib contexts.
80808         * lib/glob_.h: New file, containing only the glob things needed for
80809         gnulib.
80810         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
80811         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
80812         (glob, globfree, glob_pattern_p): Now defined simply in terms of
80813         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
80814         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
80815         and to respect the namespace rules better.
80816
80817 2005-09-08  Simon Josefsson  <jas@extundo.com>
80818
80819         * modules/socklen: New file.
80820
80821 2005-09-08  Simon Josefsson  <jas@extundo.com>
80822
80823         * m4/socklen.m4: New file.
80824
80825 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
80826
80827         * modules/utimens (Files): Add m4/utimbuf.m4, since
80828         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
80829         Reported by Sergey Poznyakoff.
80830
80831 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
80832
80833         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
80834         definitions, since that's the preferred style in glibc.
80835         Fix a minor spacing issue, and update copyright notice to match
80836         glibc's.
80837
80838 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
80839
80840         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
80841
80842 2005-09-06  Simon Josefsson  <jas@extundo.com>
80843
80844         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
80845         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
80846
80847 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
80848
80849         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
80850         warning.
80851
80852 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
80853
80854         * config/srclist.txt: Add glibc bug 1302.
80855
80856 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
80857
80858         Change bitset word type from unsigned int to unsigned long int,
80859         as this has better performance on typical 64-bit hosts.
80860         Port bitset code to hosts with unusual word sizes.
80861         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
80862         (build_collating_symbol):
80863         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
80864         argument is a bitset.  This is merely a style issue, but it makes
80865         it clearer that an entire array is expected.
80866         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
80867         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
80868         Port to the case where bitset_word is not the same as unsigned int.
80869         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
80870         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
80871         Likewise.
80872         * lib/regexec.c (check_dst_limits_calc_pos_1,
80873         check_subexp_matching_top):
80874         (build_trtable, group_nodes_into_DFAstates):
80875         Likewise.
80876         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
80877         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
80878         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
80879         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
80880         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
80881         * lib/regcomp.c (optimize_subexps, lower_subexp):
80882         Work even if bitset_word has holes in its bitwise representation.
80883         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
80884         * lib/regexec.c (check_dst_limits_calc_pos_1,
80885         check_subexp_matching_top):
80886         Likewise.
80887         * lib/regex_internal.c (re_string_reconstruct):
80888         Don't assume UCHAR_MAX == 255.
80889         * lib/regex_internal.h (bitset_set_all): Likewise.
80890         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
80891         All uses changed.
80892         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
80893         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
80894         All uses changed.
80895         (BITSET_WORD_MAX): New macro.
80896         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
80897         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
80898         (bitset_empty, bitset_copy):
80899         Prefer sizeof (bitset) to multiplying it out ourselves.
80900         (bitset_not_merge): Remove; unused.
80901         (bitset_contain): Return bool, not unsigned int with one bit on.
80902         All callers changed.
80903         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
80904         alignment than re_node_set; do this by defining a new internal
80905         type struct dests_alloc and using it to allocate memory.
80906
80907 2005-09-05  Bruno Haible  <bruno@clisp.org>
80908
80909         * gnulib-tool (func_import): Fix comparison in handling of symbolic
80910         links.
80911
80912 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
80913
80914         * modules/size_max (Makefile.am): Add size_max.h
80915
80916 2005-09-04  Derek Price  <derek@ximbiot.com>
80917
80918         * gnulib-tool (func_import): Fix reversed $symbolic logic.
80919
80920 2005-09-03  Simon Josefsson  <jas@extundo.com>
80921
80922         * gnulib-tool: Fix typo.
80923
80924 2005-09-03  Simon Josefsson  <jas@extundo.com>
80925
80926         * config/srclist.txt: Add glibc bug 1293.
80927
80928 2005-09-03  Derek Price  <derek@ximbiot.com>
80929
80930         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
80931         From Larry Jones <lawrence.jones@ugs.com>.
80932
80933 2005-09-02  Simon Josefsson  <jas@extundo.com>
80934
80935         * modules/socklen: New file.
80936
80937 2005-09-02  Simon Josefsson  <jas@extundo.com>
80938
80939         * modules/havelib: New module.
80940
80941         * modules/gettext, modules/iconv, modules/lock, modules/readline:
80942         Use havelib.
80943
80944 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
80945
80946         Check for arithmetic overflow when calculating sizes, to prevent
80947         some buffer-overflow issues.  These patches are conservative, in the
80948         sense that when I couldn't determine whether an overflow was possible,
80949         I inserted a run-time check.
80950         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
80951         macros.
80952         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
80953         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
80954         (re_xnrealloc, re_x2nrealloc): New inline functions.
80955         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
80956         parse_bracket_exp):
80957         (build_equiv_class, build_charclass): Check for arithmetic overflow
80958         in size expression calculations.
80959         * lib/regex_internal.c (re_string_realloc_buffers):
80960         (build_wcs_upper_buffer, re_node_set_add_intersect):
80961         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
80962         (re_dfa_add_node, register_state): Likewise.
80963         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
80964         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
80965         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
80966         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
80967
80968 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
80969
80970         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
80971         m4/ulonglong.m4.  Problem reported by Martin Lambers.
80972
80973 2005-09-02  Bruno Haible  <bruno@clisp.org>
80974
80975         Support for lib vs. lib64 distinction on biarch platforms.
80976         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
80977         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
80978         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
80979
80980 2005-09-02  Bruno Haible  <bruno@clisp.org>
80981
80982         * gnulib-tool (import): In the other first-use case, provide defaults
80983         as well.
80984
80985 2005-09-02  Bruno Haible  <bruno@clisp.org>
80986
80987         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
80988         patches not yet found in the latest gettext release.
80989
80990 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
80991
80992         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
80993         to avoid a collision with bits/local_lim.h in glibc.
80994         All uses changed.  Problem reported by Dmitry V. Levin in
80995         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
80996
80997         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
80998         bugs in int versus size_t comparisons.
80999         (re_string_context_at): Fix bug where the code assumed that
81000         Idx is signed.
81001
81002         Use bool where appropriate.
81003         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
81004         All callers changed.
81005         (calc_eclosure_iter): Likewise, for ROOT arg.
81006         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
81007         (build_charclass_op): Likewise, for NON_MATCH arg.
81008         * lib/regex_internal.c (re_string_allocate, re_string_construct):
81009         (re_string_construct_common): Likewise, for ICASE arg.
81010         * lib/regexec.c (re_search_2_stub, re_search_stub):
81011         Likewise, for RET_LEN arg.
81012         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
81013         (set_regs): Likewise, for FL_BACKTRACK arg.
81014         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
81015         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
81016         (calc_eclosure_iter, parse_bracket_exp):
81017         Use bool for internal variables that are booleans.
81018         * lib/regexec.c (re_search_internal, check_matching,
81019         proceed_next_node):
81020         (set_regs, build_sifted_states, sift_states_bkref):
81021         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
81022         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
81023         (find_collation_sequence_value):
81024         Likewise.
81025         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
81026         (re_node_set_compare):
81027         Return bool, not int. All callers changed.
81028         * lib/regexec.c (check_halt_node_context, check_dst_limits):
81029         (build_trtable, check_node_accept): Likewise.
81030         * lib/regex_internal.h: Include stdbool.h.
81031
81032         Fix bugs uncovered when converting to bool.
81033         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
81034         failure instead of charging ahead blindly.
81035         * lib/regex_internal.c (register_state): Likewise.
81036         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
81037         for freeing internal storage.
81038         (group_nodes_into_DFA_states): Use unsigned int, not int, for
81039         bitset pieces used as boolean, to avoid undefined behavior
81040         on hosts that do int overflow checking.
81041
81042 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
81043
81044         * config/srclist.txt: Add glibc bugs 1285-1287.
81045
81046 2005-09-01  Jim Meyering  <jim@meyering.net>
81047
81048         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
81049         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
81050         Require gl_STAT_MACROS, too.
81051
81052 2005-09-01  Bruno Haible  <bruno@clisp.org>
81053
81054         * gnulib-tool (import): In the first-use case, provide defaults.
81055
81056 2005-09-01  Bruno Haible  <bruno@clisp.org>
81057
81058         * gnulib-tool (func_import): Remove the .tmp files.
81059
81060 2005-09-01  Bruno Haible  <bruno@clisp.org>
81061
81062         * gnulib-tool (func_import): Fix handling of symbolic links.
81063
81064 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81065
81066         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
81067         old glibc regex code mishandles strings longer than 2**31 bytes.
81068         This patch fixes this when the regex code is used in gnulib
81069         (i.e., outside glibc).
81070
81071         This patch should not affect the use of the regex code inside
81072         glibc.  No doubt this problem also needs to be handled for glibc
81073         as well, but the result will be an incompatible change to the
81074         glibc ABI, and the old ABI will have to be supported too.  That
81075         can be the the subject for another patch.
81076
81077         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
81078         governing whether the rest of this patch is active.  By default,
81079         the macro is disabled and the patch has no effect.
81080         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
81081         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
81082         (struct re_pattern_buffer, re_search, re_search_2, re_match):
81083         (re_match_2, re_set_registers): Use the new types.
81084         * lib/regex_internal.h (Idx, re_hashval_t): New types.
81085         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
81086         New macros.
81087         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
81088         (re_string_context_at, bin_tree_t, re_dfastate_t):
81089         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
81090         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
81091         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
81092         (re_string_char_size_at, re_string_wchar_at):
81093         (re_string_elem_size_at):
81094         Use the new types and macros to port to 64-bit hosts.
81095         Use unsigned types for internal values, so that the code
81096         mostly works even for arrays larger than SSIZE_MAX.
81097         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
81098         (search_duplicated_node, calc_eclosure_iter, fetch_number):
81099         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
81100         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
81101         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
81102         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
81103         (calc_inveclosure, parse_dup_op, build_range_exp):
81104         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
81105         (fetch_number, create_token_tree, mark_opt_subexp):
81106         Likewise.
81107         * lib/regex_internal.c (re_string_construct_common,
81108         create_ci_newstate):
81109         (create_cd_newstate, re_string_allocate, re_string_construct):
81110         (re_string_realloc_buffers, build_wcs_upper_buffer):
81111         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
81112         (re_string_reconstruct, re_string_peek_byte_case):
81113         (re_string_fetch_byte_case, re_string_context_at):
81114         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
81115         (re_node_set_init_copy, re_node_set_add_intersect):
81116         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
81117         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
81118         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
81119         (re_acquire_state, re_acquire_state_context, register_state):
81120         Likewise.
81121         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
81122         search_cur_bkref_entry):
81123         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
81124         (re_search_internal, re_search_2_stub, re_search_stub)
81125         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
81126         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
81127         (update_cur_sifted_state, check_dst_limits):
81128         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
81129         (check_subexp_limits, sift_states_bkref, merge_state_array):
81130         (check_subexp_matching_top, get_subexp, get_subexp_sub):
81131         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
81132         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
81133         (expand_bkref_cache, check_node_accept_bytes):
81134         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
81135         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
81136         (acquire_init_state_context, check_halt_node_context):
81137         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
81138         (sift_states_backward, clean_state_log_if_needed):
81139         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
81140         (find_recover_state, transit_state_sb, transit_state_mb):
81141         (transit_state_bkref, build_trtable, match_ctx_clean):
81142         Likewise.
81143         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
81144         to work around an assumption that REG_MISSING is negative.
81145
81146         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
81147         (seek_collating_symbol_entry) [defined _LIBC]:
81148         (lookup_collation_sequence_value) [defined _LIBC]:
81149         (build_range_exp, build_collating_symbol) [defined _LIBC]:
81150         Use prototypes rather than old-style function definitions.
81151         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
81152         (transit_state_sb) [0]:
81153         (find_collation_sequence_value) [defined _LIBC]: Likewise.
81154
81155         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
81156         rm_eo.
81157
81158         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
81159         (optimize_subexps, lower_subexp):
81160         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
81161         since the signed shift might overflow.  Use 1u<<31 instead.
81162         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
81163         Likewise.
81164         * lib/regexec.c (check_dst_limits_calc_pos_1,
81165         check_subexp_matching_top): Likewise.
81166
81167         * lib/regcomp.c (optimize_subexps, lower_subexp):
81168         Use CHAR_BIT rather than 8, for clarity.
81169         * lib/regexec.c (check_dst_limits_calc_pos_1):
81170         (check_subexp_matching_top): Likewise.
81171         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
81172         have to worry about portability issues when shifting it left.
81173         Remove no-longer-needed test for table_size > 0.
81174         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
81175         in a word, as the resulting behavior is undefined.
81176         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
81177         in one case, a <= should have been an <, and in another case the
81178         whole test was missing.
81179         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
81180         the standard name CHAR_BIT.
81181         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
81182         this is not true on one's complement and signed-magnitude hosts.
81183
81184         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
81185         next_last_offset.
81186         (struct re_dfa_t): Remove unused member states_alloc.
81187         * lib/regcomp.c (init_dfa): Don't initialize unused members.
81188
81189 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81190
81191         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
81192         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
81193         and large-file glibc and in 32-bit large-file Solaris.
81194
81195 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81196
81197         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
81198         lengths fit in regoff_t; this isn't true if regoff_t is the same
81199         width as size_t.
81200         * lib/regex.c (re_search_internal): 5th arg is LAST_START
81201         (= START + RANGE) instead of RANGE.  This avoids overflow
81202         problems when regoff_t is the same width as size_t.
81203         All callers changed.
81204         (re_search_2_stub): Check for overflow when adding the
81205         sizes of the two strings.
81206         (re_search_stub): Check for overflow when adding START
81207         to RANGE; if it occurs, substitute the extreme value.
81208
81209 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81210
81211         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
81212
81213 2005-08-31  Jim Meyering  <jim@meyering.net>
81214
81215         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
81216         a pointer-to-const.
81217         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
81218         (register_state): Likewise.
81219         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
81220         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
81221         (group_nodes_into_DFAstates): Likewise.
81222
81223 2005-08-31  Jim Meyering  <jim@meyering.net>
81224
81225         * check-module: Add a FIXME comment.
81226
81227 2005-08-31  Eric Blake  <ebb9@byu.net>
81228
81229         * modules/unistd-safer (Files): Add unistd--.h.
81230         * modules/stdio-safer (Files): Add stdio--.h.
81231
81232 2005-08-31  Derek Price  <derek@ximbiot.com>
81233
81234         * lib/getdelim.c (getdelim): Return EOF on EOF.
81235         Reported by Larry Jones <lawrence.jones@ugs.com>.
81236
81237 2005-08-31  Bruno Haible  <bruno@clisp.org>
81238
81239         Avoid unnecessary diffs in the generated lib/Makefile.am.
81240         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
81241         the generated files.
81242         (func_import): Don't set cmd.
81243
81244 2005-08-31  Bruno Haible  <bruno@clisp.org>
81245
81246         * lib/strstr.c: Include <stddef.h>, for NULL.
81247         * lib/strcasestr.c: Likewise.
81248         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
81249
81250 2005-08-31  Bruno Haible  <bruno@clisp.org>
81251
81252         * gnulib-tool: New option --macro-prefix.
81253         (func_import): Use macro_prefix.
81254         (import): Handle option --macro-prefix.
81255
81256 2005-08-31  Bruno Haible  <bruno@clisp.org>
81257
81258         * gnulib-tool (import): Rename most ac_* variables to cached_*.
81259         Also use new variables cached_lgpl, cached_libtool.
81260
81261 2005-08-31  Bruno Haible  <bruno@clisp.org>
81262
81263         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
81264         always instantiating them.
81265
81266 2005-08-31  Bruno Haible  <bruno@clisp.org>
81267
81268         * gnulib-tool (func_import): Read the previous cached settings
81269         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
81270         earlier added by gnulib but are now dropped. Warn when a gnulib file
81271         overwrites a non-gnulib file.
81272
81273 2005-08-31  Bruno Haible  <bruno@clisp.org>
81274
81275         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
81276         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
81277         projects that don't keep autogenerated files in CVS. Put into
81278         actioncmd only the specified modules, not the transitive closure.
81279
81280 2005-08-31  Bruno Haible  <bruno@clisp.org>
81281
81282         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
81283         Create directories that shall be filled.
81284         (import): Don't look for gl_* macros in configure.ac. Recurse across
81285         all directories containing a gnulib-cache.m4 files, if meaningful.
81286
81287 2005-08-31  Bruno Haible  <bruno@clisp.org>
81288
81289         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
81290         (import): Set seen_libtool when we see gl_LIBTOOL.
81291
81292 2005-08-31  Bruno Haible  <bruno@clisp.org>
81293
81294         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
81295         declaration macro definitions from generated gnulib.m4.
81296
81297 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
81298
81299         * lib/iconvme.h: Add prototype for iconv_alloc.
81300
81301 2005-08-29  Simon Josefsson  <jas@extundo.com>
81302
81303         * lib/iconvme.c: Fix errno.
81304
81305 2005-08-29  Bruno Haible  <bruno@clisp.org>
81306
81307         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
81308         that it works when the directory contains spaces.
81309
81310 2005-08-29  Bruno Haible  <bruno@clisp.org>
81311
81312         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
81313
81314 2005-08-29  Bruno Haible  <bruno@clisp.org>
81315
81316         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
81317         Emit more advice.
81318
81319 2005-08-29  Bruno Haible  <bruno@clisp.org>
81320         and Stepan Kasal  <kasal@ucw.cz>
81321
81322         * check-module: If more parameters are given, check each of them
81323         separately; add more exceptions, as noted by Jim Meyering.
81324         (check_module): New procedure.
81325         (%exempt_header): Now contains all exceptions.
81326
81327 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
81328
81329         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
81330
81331 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
81332
81333         * lib/iconvme.c: Split iconv_string into iconv_alloc.
81334
81335 2005-08-28  Bruno Haible  <bruno@clisp.org>
81336
81337         * m4/gnulib-tool.m4: New file.
81338
81339 2005-08-27  Jim Meyering  <jim@meyering.net>
81340
81341         * modules/unistd-safer (Files): Add pipe-safer.c.
81342         * modules/fcntl-safer (Files): Add creat-safer.c.
81343
81344 2005-08-27  Jim Meyering  <jim@meyering.net>
81345
81346         * m4/stdlib-safer.m4: New file.  From coreutils.
81347         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
81348         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
81349         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
81350         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
81351         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
81352
81353 2005-08-27  Jim Meyering  <jim@meyering.net>
81354
81355         * lib/fopen-safer.c: Merge minor changes from coreutils.
81356         * lib/dup-safer.c: Likewise.
81357         * lib/fd-safer.c: Likewise.
81358
81359         Merge from coreutils.
81360         * lib/stdio--.h: New file.
81361         * lib/stdlib--.h: New file.
81362         * lib/mkstemp-safer.c: New file.
81363
81364         GNU tar needs these.
81365         * lib/pipe-safer.c: New file.
81366         * lib/creat-safer.c: New file.
81367         * lib/fcntl--.h (creat): Define to creat_safer.
81368         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
81369         * lib/unistd--.h (pipe): Define to pipe_safer.
81370         * lib/unistd-safer.h: Declare pipe_safer.
81371
81372 2005-08-26  Simon Josefsson  <jas@extundo.com>
81373
81374         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
81375         Haible <bruno@clisp.org>.
81376
81377 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
81378
81379         * lib/regex_internal.h: Remove all references to
81380         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
81381         or better.
81382         (bitset_not, bitset_merge, bitset_not_merge):
81383         (bitset_mask, re_string_allocate, re_string_construct):
81384         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
81385         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
81386         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
81387         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
81388         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
81389         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
81390         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
81391         (re_acquire_state_context):
81392         Remove unnecessary forward decls.
81393         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
81394         Put __attribute at function definition,
81395         now that the function decl has been removed.
81396         * lib/regex_internal.c (re_string_peek_byte_case):
81397         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
81398         Likewise.
81399
81400 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
81401
81402         * m4/regex.m4: Add AC_PREREQ(2.50).
81403         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
81404
81405 2005-08-25  Simon Josefsson  <jas@extundo.com>
81406
81407         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
81408         __fsetlocking.
81409
81410 2005-08-25  Simon Josefsson  <jas@extundo.com>
81411
81412         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
81413         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
81414         GLIBC specific code.
81415
81416 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
81417
81418         Make regex safe for g++.  This fixes one real bug (an "err"
81419         that should have been "*err").  g++ problem reported by
81420         Sam Steingold.
81421         * lib/regex_internal.h (re_calloc): New macro, consistent with
81422         re_malloc etc.  All callers of calloc changed to use re_calloc.
81423         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
81424         not int.  All callers changed.
81425         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
81426         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
81427         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
81428         (find_recover_state): Change "err" to "*err"; this fixes what
81429         appears to be a real bug.
81430         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
81431         versus int.
81432
81433 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
81434
81435         * modules/regex (Depends-on): Add malloc, since the code
81436         assumes that !malloc(0) means failure.
81437
81438 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
81439
81440         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
81441
81442         alloca modernization/simplification for regex.
81443         * lib/regex.c: Remove portability cruft for alloca.  This no longer
81444         needs to be at the start of the file, and can be moved into
81445         regex_internal.h and simplified.
81446         * lib/regex_internal.h: Include <alloca.h>.
81447         (__libc_use_alloca) [!defined _LIBC]: New macro.
81448         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
81449         now works outside glibc.
81450
81451 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
81452
81453         * config/srclist.txt: Add glibc bugs 1241, 1245.
81454
81455 2005-08-25  Jim Meyering  <jim@meyering.net>
81456
81457         * lib/open-safer.c: Include <config.h>.
81458         Otherwise, we'd lose LARGEFILE support in any file using
81459         e.g. "fcntl--.h"
81460
81461 2005-08-25  Bruno Haible  <bruno@clisp.org>
81462
81463         * m4/minmax.m4: Require autoconf 2.52.
81464         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
81465         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
81466         alternatives of translit over the alphabet.
81467         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
81468
81469 2005-08-24  Simon Josefsson  <jas@extundo.com>
81470
81471         * tests/test-getpass.c: New file.
81472
81473 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
81474
81475         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
81476         for GNU regex features.
81477
81478 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
81479
81480         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
81481         * lib/regex.h (regerror): Likewise.
81482
81483         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
81484         requires this.  (The code never needed it.)
81485
81486         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
81487         All uses of recently-renamed identifiers changed to use the new,
81488         POSIX-compliant names.  The code will build and run just fine
81489         without these changes, but it's better to eat our own dog food
81490         and use the standard-conforming names.
81491
81492         * lib/regex.h: Fix a multitude of POSIX name space violations.
81493         These changes have an effect only for programs that define
81494         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
81495         do not change anything for programs compiled in the normal way.
81496         Also, there is no effect on the ABI.
81497
81498         (_REGEX_SOURCE): New macro.
81499         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
81500         defined and _GNU_SOURCE is not; this fixes a name space violation.
81501
81502         Rename the following macros to obey POSIX requirements.
81503         The old names are still visible as macros if _REGEX_SOURCE is defined.
81504         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
81505         RE_BACKSLASH_ESCAPE_IN_LISTS.
81506         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
81507         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
81508         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
81509         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
81510         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
81511         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
81512         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
81513         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
81514         (REG_INTERVALS): renamed from RE_INTERVALS.
81515         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
81516         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
81517         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
81518         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
81519         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
81520         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
81521         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
81522         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
81523         RE_UNMATCHED_RIGHT_PAREN_ORD.
81524         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
81525         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
81526         (REG_DEBUG): renamed from RE_DEBUG.
81527         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
81528         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
81529         unusual, since we can't clash with the POSIX REG_ICASE.
81530         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
81531         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
81532         (REG_NO_SUB): renamed from RE_NO_SUB.
81533         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
81534         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
81535         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
81536         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
81537         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
81538         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
81539         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
81540         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
81541         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
81542         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
81543         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
81544         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
81545         RE_SYNTAX_POSIX_MINIMAL_BASIC.
81546         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
81547         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
81548         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
81549         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
81550         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
81551         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
81552         (REG_FIXED): Renamed from REGS_FIXED.
81553         (REG_NREGS): Renamed from RE_NREGS.
81554
81555         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
81556         of other REG_* macros, since POSIX says the user is allowed to
81557         #undef these macros selectively.
81558
81559         (reg_errcode_t): Update comment stating what other tables need
81560         to be consistent.
81561
81562         Rename the following enum values to obey POSIX requirements.
81563         The old names are still visible as macros.
81564         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
81565         is not defined, since GNU is supposed to be a superset of POSIX as
81566         much as possible, and since we want reg_errcode_t to be a signed
81567         type for implementation consistency.
81568         (_REG_NOERROR): Renamed from REG_NOERROR.
81569         (_REG_NOMATCH): Renamed from REG_NOMATCH.
81570         (_REG_BADPAT): Renamed from REG_BADPAT.
81571         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
81572         (_REG_ECTYPE): Renamed from REG_ECTYPE.
81573         (_REG_EESCAPE): Renamed from REG_EESCAPE.
81574         (_REG_ESUBREG): Renamed from REG_ESUBREG.
81575         (_REG_EBRACK): Renamed from REG_EBRACK.
81576         (_REG_EPAREN): Renamed from REG_EPAREN.
81577         (_REG_EBRACE): Renamed from REG_EBRACE.
81578         (_REG_BADBR): Renamed from REG_BADBR.
81579         (_REG_ERANGE): Renamed from REG_ERANGE.
81580         (_REG_ESPACE): Renamed from REG_ESPACE.
81581         (_REG_BADRPT): Renamed from REG_BADRPT.
81582         (_REG_EEND): Renamed from REG_EEND.
81583         (_REG_ESIZE): Renamed from REG_ESIZE.
81584         (_REG_ERPAREN): Renamed from REG_ERPAREN.
81585         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
81586         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
81587         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
81588         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
81589
81590         (_REG_RE_NAME, _REG_RM_NAME): New macros.
81591         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
81592         changed.  But support the old name if the new one is not defined
81593         and if _REGEX_SOURCE.
81594
81595         Change the following member names in struct re_pattern_buffer.
81596         The old names are still supported if !_REGEX_SOURCE.
81597         The new names are always supported, regardless of _REGEX_SOURCE.
81598         (re_buffer): Renamed from buffer.
81599         (re_allocated): Renamed from allocated.
81600         (re_used): Renamed from used.
81601         (re_syntax): Renamed from syntax.
81602         (re_fastmap): Renamed from fastmap.
81603         (re_translate): Renamed from translate.
81604         (re_can_be_null): Renamed from can_be_null.
81605         (re_regs_allocated): Renamed from regs_allocated.
81606         (re_fastmap_accurate): Renamed from fastmap_accurate.
81607         (re_no_sub): Renamed from no_sub.
81608         (re_not_bol): Renamed from not_bol.
81609         (re_not_eol): Renamed from not_eol.
81610         (re_newline_anchor): Renamed from newline_anchor.
81611
81612         Change the following member names in struct re_registers.
81613         The old names are still supported if !_REGEX_SOURCE.
81614         The new names are always supported, regardless of _REGEX_SOURCE.
81615         (rm_num_regs): Renamed from num_regs.
81616         (rm_start): Renamed from start.
81617         (rm_end): Renamed from end.
81618
81619         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
81620         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
81621         Prepend __ to parameter names.
81622
81623         Undo yesterday's changes.
81624
81625 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
81626
81627         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
81628         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
81629         lib/regex.c.
81630
81631 2005-08-24  Jim Meyering  <jim@meyering.net>
81632
81633         Sync from coreutils.
81634         * m4/fcntl-safer.m4: New file.
81635
81636         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
81637         and object files for this module.
81638
81639 2005-08-24  Jim Meyering  <jim@meyering.net>
81640
81641         Sync from coreutils.
81642         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
81643
81644 2005-08-24  Jim Meyering  <jim@meyering.net>
81645
81646         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
81647         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
81648
81649 2005-08-24  Jim Meyering  <jim@meyering.net>
81650
81651         * modules/fcntl-safer: New module.
81652         * modules/fts (Depends-on): Add fcntl-safer.
81653         * MODULES.html.sh (File descriptor based Input/Output):
81654         Add fcntl-safer.
81655
81656 2005-08-24  Bruno Haible  <bruno@clisp.org>
81657
81658         Support for unit test modules.
81659         * modules/README: Mention tests modules.
81660         * modules/TEMPLATE-TESTS: New file.
81661         * gnulib-tool: New options --extract-tests-module, --with-tests and
81662         --tests-base (unused for the moment).
81663         (testsbase, inctests): New variables.
81664         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
81665         (func_verify_module): Exclude TEMPLATE-TESTS.
81666         (func_verify_nontests_module, func_verify_tests_module): New functions.
81667         (func_get_dependencies): Add implicit dependency for tests modules.
81668         (func_get_tests_module): New function.
81669         (func_modules_transitive_closure): When --with-tests was specified,
81670         include the unit tests as well, unless explicitly avoided.
81671         (func_emit_lib_Makefile_am): Ignore the tests modules here.
81672         (func_emit_tests_Makefile_am): New function.
81673         (func_create_testdir): When --with-tests was specified, emit a
81674         tests/ directory.
81675         * MODULES.html.sh (Future developments): Update.
81676
81677 2005-08-24  Bruno Haible  <bruno@clisp.org>
81678
81679         * modules/tls-tests: New file.
81680         * tests/test-tls.c: New file, from GNU gettext.
81681
81682 2005-08-24  Bruno Haible  <bruno@clisp.org>
81683
81684         * modules/lock-tests: New file.
81685         * tests/test-lock.c: New file, from GNU gettext.
81686
81687 2005-08-24  Bruno Haible  <bruno@clisp.org>
81688
81689         * lib/lock.h: Add multiple inclusion guard.
81690         * lib/tls.h: Add multiple inclusion guard.
81691
81692 2005-08-24  Bruno Haible  <bruno@clisp.org>
81693
81694         * gnulib-tool: Add support for the --aux-dir option to
81695         --create-testdir, --create-megatestdir, --test, --megatest.
81696         (func_create_testdir, func_create_megatestdir): Optionally emit a
81697         AC_CONFIG_AUX_DIR directive.
81698         (create-testdir, create-megatestdir, test, megatest): Provide a
81699         default value for $auxdir.
81700
81701 2005-08-24  Bruno Haible  <bruno@clisp.org>
81702
81703         * gnulib-tool (import): Use compound statement instead of subshell
81704         where possible.
81705
81706 2005-08-24  Bruno Haible  <bruno@clisp.org>
81707
81708         * gnulib-tool (import): Change --aux-dir default to "build-aux".
81709
81710 2005-08-24  Bruno Haible  <bruno@clisp.org>
81711
81712         * gnulib-tool (func_version): Update.
81713
81714 2005-08-24  Bruno Haible  <bruno@clisp.org>
81715
81716         * gnulib-tool (func_import, func_create_testdir,
81717         func_create_megatestdir): Quote all autoconf macro arguments.
81718
81719 2005-08-24  Bruno Haible  <bruno@clisp.org>
81720
81721         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
81722         option --force, because --force causes the aclocal.m4 of each
81723         subdirectory to be newer than the corresponding config.h.in.
81724
81725 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
81726
81727         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
81728         All contents moved to gl_REGEX.
81729         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
81730         assume that it does.
81731
81732 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
81733
81734         * lib/regex.h (REG_NOSYS)
81735         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
81736         Define, since POSIX requires it as of 2001.
81737         (_REG_ENOSYS)
81738         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
81739         New private symbol, used to keep the enum signed in all cases.
81740         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
81741         Youngman in
81742         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
81743
81744         * lib/regex_internal.c (re_string_skip_chars, register_state):
81745         (calc_state_hash):
81746         Remove forward decls; no longer needed now that we use prototypes.
81747         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
81748         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
81749         (clean_state_log_if_needed): Likewise.
81750
81751 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
81752
81753         * config/srclist.txt: Add glibc bugs 1231-1233.
81754
81755 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
81756
81757         Fix problems reported by Sam Steingold in
81758         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
81759         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
81760         assumed that reg_errcode_t is a signed type, which is not
81761         necessarily true if _XOPEN_SOURCE is not defined.
81762         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
81763         since some compilers warn about it otherwise.
81764
81765 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
81766
81767         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
81768         (init_word_char, create_initial_state, duplicate_node_closure):
81769         (fetch_token, peek_token_bracket, build_range_exp):
81770         (build_collating_symbol): Remove forward decls; no longer needed
81771         now that we use prototypes.
81772
81773         * lib/regcomp.c:
81774         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
81775         (re_compile_fastmap_iter, regcomp, regerror, regfree):
81776         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
81777         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
81778         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
81779         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
81780         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
81781         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
81782         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
81783         (build_range_exp, build_collating_symbol, parse_bracket_exp):
81784         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
81785         (build_charclass, build_charclass_op, fetch_number, create_tree):
81786         (create_token_tree, mark_opt_subexp, duplicate_tree):
81787         Use prototypes rather than old-style definitions.
81788
81789         * lib/regex_internal.c:
81790         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
81791         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
81792         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
81793         (re_string_reconstruct, re_string_peek_byte_case):
81794         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
81795         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
81796         (re_node_set_init_copy, re_node_set_add_intersect):
81797         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
81798         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
81799         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
81800         (re_acquire_state, re_acquire_state_context, register_state):
81801         (create_ci_newstate, create_cd_newstate, free_state):
81802         Likewise.
81803         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
81804         re_search_2):
81805         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
81806         (re_search_internal, prune_impossible_nodes):
81807         (acquire_init_state_context, check_matching, static):
81808         (check_halt_node_context, check_halt_state_context, proceed_next_node):
81809         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
81810         (update_regs, sift_states_backward, build_sifted_states):
81811         (clean_state_log_if_needed, merge_state_array):
81812         (update_cur_sifted_state, add_epsilon_src_nodes):
81813         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
81814         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
81815         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
81816         (find_recover_state, check_subexp_matching_top, transit_state_mb):
81817         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
81818         (check_arrival, check_arrival_add_next_nodes):
81819         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
81820         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
81821         (check_node_accept_bytes, check_node_accept, extend_buffers):
81822         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
81823         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
81824         (sift_ctx_init):
81825         Likewise.
81826
81827         * lib/regex_internal.h:
81828         (re_string_allocate, re_string_construct, re_string_reconstruct):
81829         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
81830         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
81831         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
81832         (re_string_context_at, re_string_peek_byte_case):
81833         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
81834         is defined, since we now use prototypes always.
81835
81836         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
81837         C89 or better.  All uses removed.
81838
81839 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
81840
81841         * config/srclist.txt: Add glibc bugs 1220-1227.
81842
81843 2005-08-20  Jim Meyering  <jim@meyering.net>
81844
81845         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
81846         of unused local, dfa.
81847
81848 2005-08-20  Bruno Haible  <bruno@clisp.org>
81849
81850         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
81851
81852 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81853
81854         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
81855         (re_node_set_insert_last, re_dfa_add_node):
81856         Rename local variables to avoid GCC shadowing warnings.
81857
81858 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81859
81860         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
81861         [defined lint]: Suppress bogus uninitialized-variable warnings.
81862
81863         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
81864         and let the caller return REG_ESPACE if out of space.  This
81865         removes an uninitialied-variable warning with GCC 4.0.1, and also
81866         avoids taking the address of a local variable.  All callers
81867         changed.
81868
81869 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81870
81871         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
81872         $LIBCSRC/posix/regexec.c.
81873         Add glibc bug 1217 for regcomp.c.
81874
81875 2005-08-19  Jim Meyering  <jim@meyering.net>
81876
81877         * lib/regexec.c (proceed_next_node): Redo local variables to
81878         avoid GCC shadowing warnings.
81879
81880 2005-08-18  Bruno Haible  <bruno@clisp.org>
81881
81882         * lib/strstr.c (strstr): Fix return value in multibyte case.
81883         * lib/strcasestr.c (strcasestr): Likewise.
81884
81885 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
81886
81887         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
81888
81889 2005-08-17  Jim Meyering  <jim@meyering.net>
81890
81891         Make the %s format (seconds since the epoch) work for a negative
81892         number and when used with a zero-padded field width, e.g. %015s.
81893
81894         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
81895         label so that it precedes the code to set `digits'.  Otherwise,
81896         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
81897         print `00-22'.  Now, it prints `-0022', as it should.
81898
81899 2005-08-17  Bruno Haible  <bruno@clisp.org>
81900
81901         * modules/strstr (Files): Add m4/mbrtowc.m4.
81902         (Depends-on): Add mbuiter.
81903
81904 2005-08-17  Bruno Haible  <bruno@clisp.org>
81905
81906         * modules/strcasestr: New file.
81907         * MODULES.html.sh (String handling, based on ANSI C 89): Add
81908         strcasestr.
81909
81910 2005-08-17  Bruno Haible  <bruno@clisp.org>
81911
81912         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
81913
81914 2005-08-17  Bruno Haible  <bruno@clisp.org>
81915
81916         * modules/mbuiter: New file.
81917         * MODULES.html.sh (Extended multibyte and wide character utilities):
81918         Add mbuiter.
81919
81920 2005-08-17  Bruno Haible  <bruno@clisp.org>
81921
81922         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
81923         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
81924
81925 2005-08-17  Bruno Haible  <bruno@clisp.org>
81926
81927         * m4/strcasestr.m4: New file.
81928
81929 2005-08-17  Bruno Haible  <bruno@clisp.org>
81930
81931         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
81932         * lib/strstr.c: Completely rewritten, with multibyte locale support.
81933
81934 2005-08-17  Bruno Haible  <bruno@clisp.org>
81935
81936         * lib/strcasestr.h: New file.
81937         * lib/strcasestr.c: New file.
81938
81939 2005-08-17  Bruno Haible  <bruno@clisp.org>
81940
81941         * lib/strcasecmp.c: Use mbuiter.h.
81942
81943 2005-08-17  Bruno Haible  <bruno@clisp.org>
81944
81945         * lib/mbuiter.h: New file.
81946
81947 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
81948
81949         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
81950         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
81951         and gl_GETOPT are both invoked via different paths (as happens
81952         with GNU tar CVS because it uses both argp and getopt), the former
81953         wins.
81954
81955 2005-08-16  Bruno Haible  <bruno@clisp.org>
81956
81957         * modules/tls: New file.
81958         * MODULES.html.sh (Multithreading): Add tls.
81959
81960 2005-08-16  Bruno Haible  <bruno@clisp.org>
81961
81962         * modules/strnlen1: New file.
81963         * MODULES.html.sh (String handling): Add strnlen1.
81964
81965 2005-08-16  Bruno Haible  <bruno@clisp.org>
81966
81967         * modules/strcase (Files): Add m4/mbrtowc.m4.
81968         (Depends-on): Add strnlen1, mbchar.
81969
81970 2005-08-16  Bruno Haible  <bruno@clisp.org>
81971
81972         * modules/mbiter: New file.
81973         * MODULES.html.sh (Extended multibyte and wide character utilities):
81974         Add mbiter.
81975
81976 2005-08-16  Bruno Haible  <bruno@clisp.org>
81977
81978         * modules/mbfile: New file.
81979         * MODULES.html.sh (Extended multibyte and wide character utilities):
81980         Add mbfile.
81981
81982 2005-08-16  Bruno Haible  <bruno@clisp.org>
81983
81984         * modules/mbchar: New file.
81985         * MODULES.html.sh (Extended multibyte and wide character utilities):
81986         New section.
81987
81988 2005-08-16  Bruno Haible  <bruno@clisp.org>
81989
81990         * m4/tls.m4: New file, from GNU gettext.
81991
81992 2005-08-16  Bruno Haible  <bruno@clisp.org>
81993
81994         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
81995         always.
81996         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
81997
81998 2005-08-16  Bruno Haible  <bruno@clisp.org>
81999
82000         * m4/mbiter.m4: New file.
82001
82002 2005-08-16  Bruno Haible  <bruno@clisp.org>
82003
82004         * m4/mbfile.m4: New file.
82005
82006 2005-08-16  Bruno Haible  <bruno@clisp.org>
82007
82008         * m4/mbchar.m4: New file.
82009
82010 2005-08-16  Bruno Haible  <bruno@clisp.org>
82011
82012         * lib/tls.h: New file, from GNU gettext.
82013         * lib/tls.c: New file, from GNU gettext.
82014
82015 2005-08-16  Bruno Haible  <bruno@clisp.org>
82016
82017         * lib/strnlen1.h: New file.
82018         * lib/strnlen1.c: New file.
82019
82020 2005-08-16  Bruno Haible  <bruno@clisp.org>
82021
82022         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
82023         (mbi_init): Update.
82024         (mbi_avail, mbi_advance): Let the iteration end before the terminating
82025         NUL byte, not after it.
82026
82027 2005-08-16  Bruno Haible  <bruno@clisp.org>
82028
82029         * lib/strcase.h (strcasecmp): Add note in comments.
82030         * lib/strncasecmp.c: Use code from strcasecmp.c.
82031         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
82032         (strcasecmp): Work correctly in multibyte locales.
82033
82034 2005-08-16  Bruno Haible  <bruno@clisp.org>
82035
82036         * lib/mbiter.h: New file.
82037
82038 2005-08-16  Bruno Haible  <bruno@clisp.org>
82039
82040         * lib/mbfile.h: New file.
82041
82042 2005-08-16  Bruno Haible  <bruno@clisp.org>
82043
82044         * lib/mbchar.h: New file.
82045         * lib/mbchar.c: New file.
82046
82047 2005-08-16  Bruno Haible  <bruno@clisp.org>
82048
82049         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
82050         the valid ones. Makes the comparison operations transitive:
82051         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
82052         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
82053
82054 2005-08-15  Simon Josefsson  <jas@extundo.com>
82055
82056         * modules/ssize_t (License): Change to 'unlimited'.
82057
82058         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
82059
82060 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
82061
82062         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
82063         Add comments for each pending glibc patch.
82064
82065 2005-08-15  Bruno Haible  <bruno@clisp.org>
82066
82067         * lib/regex.h (__restrict_arr): Don't define to __restrict if
82068         __cplusplus is defined.
82069
82070 2005-08-14  Jim Meyering  <jim@meyering.net>
82071
82072         Sync from coreutils.
82073
82074         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
82075         Use the hash-table-based cycle-detection code not just when
82076         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
82077         Reported by James Youngman in
82078         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
82079         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
82080         FTS_TIGHT_CYCLE_CHECK.
82081         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
82082         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
82083         once again.
82084         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
82085         * lib/fts.c (fd_safer): Remove decl.
82086         Include fcntl--.h rather than unistd-safer.h
82087         (fts_safe_changedir): Don't call fd_safer; no longer needed
82088         now that we include fcntl--.h.
82089
82090 2005-08-12  Simon Josefsson  <jas@extundo.com>
82091
82092         * modules/getndelim2: Use ssize_t module.
82093         * modules/getnline: Likewise.
82094         * modules/safe-read: Likewise.
82095         * modules/xreadlink: Likewise.
82096
82097         * modules/ssize_t: New file.
82098
82099 2005-08-12  Simon Josefsson  <jas@extundo.com>
82100
82101         * m4/readline.m4: Look for termcap, curses or ncurses if required.
82102
82103 2005-08-12  Simon Josefsson  <jas@extundo.com>
82104
82105         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
82106         ssize_t.
82107
82108 2005-08-12  Simon Josefsson  <jas@extundo.com>
82109
82110         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
82111         readline, getdelim and check_version.
82112         (Support for systems lacking ISO C 99: Sizes of integer types):
82113         Add size_max.
82114
82115 2005-08-12  Bruno Haible  <bruno@clisp.org>
82116
82117         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
82118
82119 2005-08-11  Simon Josefsson  <jas@extundo.com>
82120
82121         * modules/readline: New file.
82122
82123         * modules/strnlen (Files): Add strnlen.h.
82124
82125 2005-08-11  Simon Josefsson  <jas@extundo.com>
82126
82127         * m4/readline.m4: New file.
82128
82129 2005-08-11  Simon Josefsson  <jas@extundo.com>
82130
82131         * lib/readline.h, readline.c: New file.
82132
82133 2005-08-11  Simon Josefsson  <jas@extundo.com>
82134
82135         * doc/gnulib.texi (Initial import, Finishing touches): Mention
82136         gl_AVOID.
82137
82138 2005-08-11  Bruno Haible  <bruno@clisp.org>
82139
82140         * lib/strnlen.h (strnlen): Change parameter name to match comment.
82141
82142 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
82143
82144         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
82145
82146 2005-08-10  Simon Josefsson  <jas@extundo.com>
82147
82148         * tests/test-iconvme.c: New file.
82149
82150 2005-08-10  Simon Josefsson  <jas@extundo.com>
82151
82152         * m4/strnlen.m4: New file.
82153
82154         * m4/strndup.m4: Don't check for strnlen declaration, done in
82155         strnlen.m4.
82156
82157 2005-08-10  Simon Josefsson  <jas@extundo.com>
82158
82159         * lib/strndup.c: Use strnlen.h.
82160
82161         * lib/strnlen.h: New file.
82162
82163 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
82164
82165         * README: Typos.
82166
82167 2005-08-02  Simon Josefsson  <jas@extundo.com>
82168
82169         * modules/readline: New file.
82170
82171 2005-08-02  Simon Josefsson  <jas@extundo.com>
82172
82173         * modules/getdelim: New file.
82174
82175         * modules/getline: Rewrite, don't use getndelim2.
82176
82177 2005-08-02  Simon Josefsson  <jas@extundo.com>
82178
82179         * m4/getline.m4: Separate out getdelim stuff into separate module.
82180
82181         * m4/getdelim.m4: New file.
82182
82183 2005-08-02  Simon Josefsson  <jas@extundo.com>
82184
82185         * lib/getline.h, getline.c: Rewrite.
82186
82187         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
82188
82189 2005-07-31  Bruno Haible  <bruno@clisp.org>
82190
82191         * lib/lock.h (gl_lock_initializer): New macro.
82192         (gl_lock_define_initialized): Use it.
82193         (gl_rwlock_initializer): New macro.
82194         (gl_rwlock_define_initialized): Use it.
82195         (gl_recursive_lock_initializer): New macro.
82196         (gl_recursive_lock_define_initialized): Use it.
82197
82198 2005-07-30  Karl Berry  <karl@gnu.org>
82199
82200         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
82201         Report from Ben Pfaff, regarding getopt.
82202
82203 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
82204
82205         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
82206         normal way.
82207         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
82208         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
82209         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
82210         (gl_GETOPT): Use the new macros.  Most of the implementation
82211         is moved to the new macros.  This is for programs like Emacs
82212         that don't want all the functionality of gl_GETOPT.
82213
82214 2005-07-26  Bruno Haible  <bruno@clisp.org>
82215
82216         * m4/lock.m4: Update from GNU gettext.
82217
82218 2005-07-26  Bruno Haible  <bruno@clisp.org>
82219
82220         * lib/lock.h: Update from GNU gettext.
82221         * lib/lock.c: Update from GNU gettext.
82222
82223 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
82224
82225         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
82226         obsolescent AC_TRY_RUN.  Include the default includes files, for
82227         'exit'.
82228
82229 2005-07-24  Bruno Haible  <bruno@clisp.org>
82230
82231         * modules/visibility: New file.
82232         * MODULES.html.sh (Misc): Add visibility.
82233
82234 2005-07-24  Bruno Haible  <bruno@clisp.org>
82235
82236         * m4/visibility.m4: New file.
82237
82238 2005-07-24  Bruno Haible  <bruno@clisp.org>
82239
82240         * doc/visibility.texi: New file.
82241
82242 2005-07-22  Bruno Haible  <bruno@clisp.org>
82243
82244         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
82245         $(ALLOCA_H), redundant through BUILT_SOURCES.
82246         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
82247         redundant through BUILT_SOURCES.
82248         * modules/byteswap (Makefile.am): Remove explicit dependency on
82249         $(BYTESWAP_H), redundant through BUILT_SOURCES.
82250         * modules/fnmatch (Makefile.am): Remove explicit dependency on
82251         $(FNMATCH_H), redundant through BUILT_SOURCES.
82252         * modules/getopt (Makefile.am): Remove explicit dependency on
82253         $(GETOPT_H), redundant through BUILT_SOURCES.
82254         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
82255         redundant through BUILT_SOURCES.
82256         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
82257         redundant through BUILT_SOURCES.
82258         * modules/stdbool (Makefile.am): Remove explicit dependency on
82259         $(STDBOOL_H), redundant through BUILT_SOURCES.
82260         * modules/stdint (Makefile.am): Remove explicit dependency on
82261         $(STDINT_H), redundant through BUILT_SOURCES.
82262         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
82263         Remove explicit dependency on $(SYSEXITS_H).
82264         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
82265
82266 2005-07-18  Simon Josefsson  <jas@extundo.com>
82267
82268         * lib/check-version.c (check_version): Accept identical versions too.
82269
82270 2005-07-18  Bruno Haible  <bruno@clisp.org>
82271
82272         * modules/lock: New file.
82273         * MODULES.html.sh (Multithreading): New section.
82274
82275 2005-07-18  Bruno Haible  <bruno@clisp.org>
82276
82277         * m4/lock.m4: New file, from GNU gettext.
82278
82279 2005-07-18  Bruno Haible  <bruno@clisp.org>
82280
82281         * lib/lock.h: New file, from GNU gettext.
82282         * lib/lock.c: New file, from GNU gettext.
82283
82284 2005-07-18  Bruno Haible  <bruno@clisp.org>
82285
82286         * lib/lock.h (gl_once_t): New type.
82287         (gl_once_define, gl_once): New macros.
82288         * lib/lock.c (fresh_once): New variable.
82289         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
82290         functions.
82291
82292 2005-07-16  Simon Josefsson  <jas@extundo.com>
82293
82294         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
82295         workaround, suggested by Bruno.
82296
82297 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
82298
82299         * modules/xalloc (Depends-on): Add xalloc-die.
82300         * modules/xvasprintf (Depends-on): Add xalloc-die.
82301
82302 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
82303
82304         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
82305         with a minor change.
82306
82307 2005-07-15  Bruno Haible  <bruno@clisp.org>
82308
82309         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
82310         When using lib/poll.c, define poll as rpl_poll.
82311
82312 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
82313
82314         * modules/argp (Depends-on): Remove unlocked-io.
82315
82316 2005-07-14  Derek Price  <derek@ximbiot.com>
82317
82318         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
82319         for glob symlink bug.
82320
82321 2005-07-14  Bruno Haible  <bruno@clisp.org>
82322
82323         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
82324         Instead, test for *_unlocked function declarations directly.
82325
82326 2005-07-11  Simon Josefsson  <jas@extundo.com>
82327
82328         * modules/size_max: New file.
82329
82330         * modules/xsize: Depend on size_max module for size_max.m4.
82331
82332 2005-07-11  Simon Josefsson  <jas@extundo.com>
82333
82334         * lib/size_max.h: New file.
82335
82336 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
82337
82338         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
82339         copyright symbol and the year.
82340         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
82341         (version_etc_va): Use parameterized copyright notice.
82342         Reword to conform to the current GNU coding standards.
82343
82344 2005-07-11  Karl Berry  <karl@gnu.org>
82345
82346         * doc/gnulib.texi (Quoting): new node.
82347         (Initial import): more info, from Patrice.
82348
82349 2005-07-11  Bruno Haible  <bruno@clisp.org>
82350
82351         * gnulib-tool (func_usage): Document option --avoid.
82352         (Command line options): Handle --avoid.
82353         (func_acceptable): New function.
82354         (func_modules_transitive_closure): Use it.
82355
82356 2005-07-11  Bruno Haible  <bruno@clisp.org>
82357
82358         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
82359         Reported by Jim Meyering.
82360
82361 2005-07-10  Bruno Haible  <bruno@clisp.org>
82362
82363         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
82364         Needed when size_t is smaller than 'unsigned int'.
82365         Reported by Paul Eggert.
82366
82367 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
82368
82369         * modules/argp (Depends-on): Add unlocked-io
82370
82371 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
82372
82373         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
82374         block of defines.
82375
82376 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
82377
82378         * config/srclist.txt: Comment out regcomp.c, since we have a porting
82379         fix now.
82380
82381 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
82382         and Paul Eggert  <eggert@cs.ucla.edu>
82383
82384         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
82385         in wint_t, not wchar_t.  Remove now-unnecessary cast.
82386
82387 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
82388
82389         * modules/regex (Files): Add lib/regex_internal.c,
82390         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
82391         (Depends-on): Add extensions.
82392         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
82393
82394 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
82395
82396         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
82397         pathconf.
82398         * m4/same.m4 (gl_SAME): Likewise.
82399         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
82400
82401         * m4/regex.m4: Adjust to new libc regex implementation.
82402         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
82403         all the .c and .h parts of (the new) regex.
82404         Quote the m4 stuff better.
82405         Check for RE_ICASE bug of old gnulib.
82406         Check for REG_STARTEND of recent libc.
82407         Rename local variables from jm_* to gl_*.
82408         Quote operand of "test -f".
82409         Say "recent enough" version of libc, not "version 2".
82410         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
82411         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
82412         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
82413         Remove check for btowc, isascii.
82414         Require AM_LANGINFO_CODESET.
82415
82416 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
82417
82418         * lib/regex.c, regex.h: Sync from libc.
82419         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
82420         * lib/regexec.c:
82421         New files, synced from libc, except that regex_internal.h
82422         currently has a small porting fix.
82423
82424 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
82425
82426         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
82427         regex_internal.c, regexec.c.
82428         Add regex_internal.h too, but as a comment, since the libc version
82429         is currently broken in gnulib mode.
82430
82431 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
82432
82433         Support programs like Emacs that use gnulib but not gettext.
82434         * MODULES.html.sh (Internationalization functions): Add gettext-h.
82435         * modules/gettext-h: New file.
82436         * modules/gettext (Files): Remove lib/gettext.h.
82437         (Depends-on): Add gettext-h.
82438         (Makefile.am): Remove lib_SOURCES.
82439         * modules/argmatch, modules/c-stack, modules/closeout:
82440         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
82441         * modules/execute, modules/file-type, modules/getaddrinfo:
82442         * modules/getopt, modules/human, modules/javacomp:
82443         * modules/javaexec, modules/mkdir-p, modules/obstack:
82444         * modules/openat, modules/pagealign_alloc, modules/pipe:
82445         * modules/quotearg, modules/regex, modules/rpmatch:
82446         * modules/unicodeio, modules/userspec, modules/version-etc:
82447         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
82448         * modules/xsetenv:
82449         Depend on gettext-h, not gettext.
82450
82451 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
82452
82453         * gnulib-tool (func_import): Add support for 'public domain' license.
82454         * modules/alloca, modules/atexit, modules/memmove:
82455         Now public domain, not GPL.
82456         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
82457         * modules/realloc, modules/strerror, modules/strtod:
82458         Now LGPL, not GPL.
82459
82460 2005-07-05  Bruno Haible  <bruno@clisp.org>
82461
82462         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
82463         autoconf CVS. Needed for mingw.
82464
82465 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
82466
82467         Remove the dependency of the strftime module on the tzset module.
82468         * modules/strftime (Depends-on): Remove dependency on tzset.
82469
82470 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
82471
82472         Remove the dependency of the strftime module on the tzset module.
82473         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
82474         gl_FUNC_TZSET_CLOBBER.
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         * lib/strftime.c (my_strftime)
82480         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
82481         Copy the input structure, to work around some of the bug with
82482         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
82483         Solaris releases, you should also use the tzset module, but we won't
82484         require it as a dependency any more since we don't want LGPLed code
82485         to depend on GPLed code.
82486
82487 2005-07-02  Jim Meyering  <jim@meyering.net>
82488
82489         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
82490         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
82491         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
82492         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
82493
82494 2005-07-02  Jim Meyering  <jim@meyering.net>
82495
82496         * lib/backupfile.c (backup_args): Change a `0' to NULL.
82497
82498 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
82499
82500         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
82501         declares only 'struct timespec;' (!).
82502
82503 2005-07-01  Jim Meyering  <jim@meyering.net>
82504
82505         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
82506         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
82507         * lib/save-cwd.c, tempname.c:
82508         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
82509         and don't include <sys/file.h>).
82510
82511 2005-06-29  Jim Meyering  <jim@meyering.net>
82512
82513         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
82514         type name.  Use the variable name instead.
82515         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
82516         Likewise.
82517
82518 2005-06-28  Simon Josefsson  <jas@extundo.com>
82519
82520         * modules/check-version (Files): Add check-version.m4.
82521
82522 2005-06-28  Simon Josefsson  <jas@extundo.com>
82523
82524         * m4/check-version.m4: New file, suggested by Jim Meyering
82525         <jim@meyering.net>.
82526
82527 2005-06-28  Simon Josefsson  <jas@extundo.com>
82528
82529         * lib/check-version.h, lib/check-version.c: New files.
82530
82531 2005-06-28  Simon Josefsson  <jas@extundo.com>
82532
82533         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
82534         collision with global variable.  Better indentation.  Don't
82535         increment buffer pointer beyond buffer end.  Based on comments
82536         from Paul Eggert <eggert@cs.ucla.edu>.
82537
82538         * lib/base64.h: Indent.
82539
82540 2005-06-28  Simon Josefsson  <jas@extundo.com>
82541
82542         * doc/gnulib.texi (Library version handling): New section.
82543
82544 2005-06-28  Jim Meyering  <jim@meyering.net>
82545
82546         * check-module (find_included_lib_files): Hard-code another
82547         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
82548         but modules/fts-lgpl (correctly) does not list those files.
82549
82550         * modules/canonicalize (Files): Add lib/pathmax.h.
82551
82552 2005-06-25  Simon Josefsson  <jas@extundo.com>
82553
82554         * modules/check-version: New file.
82555
82556 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
82557
82558         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
82559         initializer of struct addrinfo, as an indication that we don't
82560         care how many members the structure has.
82561
82562 2005-06-24  Derek Price  <derek@ximbiot.com>
82563         and Bruno Haible  <bruno@clisp.org>
82564
82565         Remove stat module & update lstat.
82566         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
82567         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
82568         * m4/stat.m4: Remove this file.
82569
82570 2005-06-24  Derek Price  <derek@ximbiot.com>
82571         and Bruno Haible  <bruno@clisp.org>
82572
82573         Remove stat module & update lstat.
82574         * lib/stat.c: Remove this file...
82575         (slash_aware_lstat): ...moving this content and its support...
82576         * lib/lstat.c (rpl_lstat): ...into here.
82577         * lib/lstat.h: New file.
82578
82579 2005-06-24  Derek Price  <derek@ximbiot.com>
82580         and Bruno Haible  <bruno@clisp.org>
82581
82582         Remove stat module & update lstat.
82583         * config/srclist.txt (libc sources): Remove stat.
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         * MODULES.html.sh (stat): Remove.
82590         * MODULES.html: Regenerated.
82591         * modules/lstat (Description): Correct function name.
82592         (Files): Add "lstat.h".
82593         (Depends-on): Remove stat, add xalloc, stat-macros.
82594         * modules/stat: Remove this file.
82595         (Include): Add "lstat.h", remove <sys/stat.h>.
82596
82597 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
82598
82599         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
82600         (ranged_convert): Don't save conversion in a temporary struct.
82601         This causes a warning with GCC 4.0.0, and anyway in the typical
82602         case it's not worth the extra 100 bytes or so of code.
82603         (ranged_convert, __mktime_internal): When calling a function via a
82604         pointer P, use P () rather than (*P) (), as we now assume C89 or
82605         better.
82606
82607 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82608
82609         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
82610         "who -r" failed to give output.  Problem reported by Tim Waugh.
82611
82612         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
82613         (xcalloc): Use it to avoid needless tests.
82614         Problem reported by Jim Meyering.
82615
82616 2005-06-20  Derek Price  <derek@ximbiot.com>
82617
82618         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
82619         unnecessary for Autoconfs > 2.59c.
82620
82621 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82622
82623         * lib/argp.h (__option_is_short): Check upper limit of
82624         __key. Isprint() requires its argument to have the value
82625         of an unsigned char or EOF.
82626
82627 2005-06-16  Jim Meyering  <jim@meyering.net>
82628
82629         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
82630         when either N or S is zero.
82631
82632 2005-06-16  Derek Price  <derek@ximbiot.com>
82633
82634         * m4/bison.m4: Declare YACC & YFLAGS precious.
82635
82636 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
82637
82638         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
82639         multibyte string or pattern, fall back on unibyte matching.
82640         Problem reported by James Youngman.
82641
82642 2005-06-08  Bruno Haible  <bruno@clisp.org>
82643
82644         * modules/csharpcomp: New file.
82645         * MODULES.html.sh (C#): Add csharpcomp.
82646
82647 2005-06-08  Bruno Haible  <bruno@clisp.org>
82648
82649         * m4/csharpcomp.m4: New file, from GNU gettext.
82650
82651 2005-06-08  Bruno Haible  <bruno@clisp.org>
82652
82653         * lib/csharpcomp.h: New file, from GNU gettext.
82654         * lib/csharpcomp.c: New file, from GNU gettext.
82655         * lib/csharpcomp.sh.in: New file, from GNU gettext.
82656
82657 2005-06-08  Bruno Haible  <bruno@clisp.org>
82658
82659         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
82660         warning on mingw.
82661
82662 2005-06-07  Derek Price  <derek@ximbiot.com>
82663
82664         Sync from CVS.
82665         * lib/glob_.h: Indent nested #ifdef.
82666
82667 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
82668
82669         Sync from coreutils.
82670         Use "file name" when talking about file names, instead of "filename"
82671         or "path", as per the GNU coding standards.
82672         * lib/mkdir-p.c: Renamed from makepath.c.
82673         (make_dir_parents): Renamed from make_path.  All callers changed.
82674         * lib/mkdir-p.h: Likewise.  All includers changed.
82675         * lib/filenamecat.c: Renamed from path-concat.c.
82676         (file_name_concat): Renamed from path_concat.  All callers changed.
82677         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
82678         * lib/filenamecat.h: Likewise.  All includers changed.
82679         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
82680         in comments or local variable names.
82681         * lib/basename.c: Likewise.
82682         * lib/canonicalize.c, canonicalize.h: Likewise.
82683         * lib/dirname.c, dirname.h: Likewise.
82684         * lib/euidaccess.c: Likewise.
82685         * lib/exclude.c: Likewise
82686         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
82687         * lib/fsusage.c, fsuage.h: Likewise.
82688         * lib/fts.c, fts_.h: Likewise.
82689         * lib/getcwd.c: Likewise.
82690         * lib/getloadavg.c: Likewise.
82691         * lib/mkstemp.c: Likewise.
82692         * lib/mountlist.c, mountlist.h: Likewise.
82693         * lib/openat.c, openat.h: Likewise.
82694         * lib/readlink-stub.c: Likewise.
82695         * lib/readutmp.c, readutmp.h: Likewise.
82696         * lib/rename.c: Likewise.
82697         * lib/rmdir.c: Likewise.
82698         * lib/same.c: Likewise.
82699         * lib/savedir.c: Likewise.
82700         * lib/stripslash.c: Likewise.
82701         * lib/tempname.c: Likewise.
82702         * lib/xreadlink.c: Likewise.
82703         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
82704         All uses changed.
82705         * lib/exclude.h: Likewise.
82706
82707         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
82708         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
82709         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
82710         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
82711         * lib/pathmax.h: Include <limits.h> unconditionally, since other
82712         files have been getting away with it for years (MORE/BSD 4.3
82713         is extinct now).
82714         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
82715         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
82716
82717         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
82718         Define to 256, not 255, as per modern POSIX.
82719
82720 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
82721
82722         Sync from coreutils.
82723         Use "file name" when talking about file names, instead of "filename"
82724         or "path", as per the GNU coding standards.
82725         * MODULES.html.sh: mkdir-p renamed from makepath.
82726         filenamecat renamed from path-concat.
82727         * modules/filenamecat: Renamed from modules/path-concat.
82728         (Files): filenamecat.h and filenamecat.c renamed from
82729         path-concat.h and path-concat.c.
82730         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
82731         (Include): filenamecat.h, not path-concat.h.
82732         * modules/mkdir-p: Renamed from modules/makepath.
82733         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
82734         makepath.c.
82735         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
82736         (Include): mkdir-p.h, not makepath.h.
82737
82738 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
82739
82740         Sync from coreutils.
82741         * m4/mkdir-p.m4: Renamed from makepath.m4.
82742         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
82743         Rename files from makepath.c to mkdir-p.c, and from
82744         makepath.h to mkdir-p.h.
82745         * m4/filenamecat.m4: Renamed from path-concat.m4.
82746         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
82747         Rename files from path-concat.c to filenamecat.c,
82748         and from path-concat.h to filenamecat.h.
82749         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
82750         "file name" in local variables or comments.
82751         * m4/rename.m4: Likewise.
82752
82753 2005-06-01  Bruno Haible  <bruno@clisp.org>
82754
82755         * modules/csharpexec: New file.
82756         * MODULES.html.sh (C#): New section.
82757
82758 2005-06-01  Bruno Haible  <bruno@clisp.org>
82759
82760         * m4/csharp.m4: New file, from GNU gettext.
82761         * m4/csharpexec.m4: New file, from GNU gettext.
82762
82763 2005-06-01  Bruno Haible  <bruno@clisp.org>
82764
82765         * lib/csharpexec.h: New file, from GNU gettext.
82766         * lib/csharpexec.c: New file, from GNU gettext.
82767         * lib/csharpexec.sh.in: New file, from GNU gettext.
82768
82769 2005-05-31  Derek Price  <derek@ximbiot.com>
82770             Paul Eggert  <eggert@cs.ucla.edu>
82771
82772         Sync from cvs.
82773         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
82774
82775 2005-05-31  Derek Price  <derek@ximbiot.com>
82776             Paul Eggert  <eggert@cs.ucla.edu>
82777
82778         Sync from cvs.
82779         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
82780
82781 2005-05-29  Derek Price  <derek@ximbiot.com>
82782
82783         * config/srclist.txt (glob_.h, glob.c): Add these files.
82784
82785 2005-05-29  Derek Price  <derek@ximbiot.com>
82786
82787         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
82788         * modules/glob: New file.
82789         * modules/getlogin_r: Add link to POSIX spec in description.
82790
82791 2005-05-29  Derek Price  <derek@ximbiot.com>
82792             Paul Eggert  <eggert@cs.ucla.edu>
82793
82794         * m4/glob.m4: New file.
82795
82796 2005-05-29  Derek Price  <derek@ximbiot.com>
82797             Paul Eggert  <eggert@cs.ucla.edu>
82798
82799         * lib/glob_.h, lib/glob.c: New files.
82800
82801 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
82802
82803         * modules/fts (Files): Remove m4/inttypes-pri.m4.
82804         * modules/fts-lgpl (Depends-on): Remove gettext.
82805
82806 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
82807
82808         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
82809         and don't require gt_INTTYPES_PRI.
82810
82811 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
82812
82813         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
82814
82815         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
82816         the configuration hassle isn't worth it.
82817         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
82818         (LONGEST_MODIFIER, PRIuMAX): Remove.
82819
82820 2005-05-27  Bruno Haible  <bruno@clisp.org>
82821
82822         * lib/getlogin_r.h: Remove second include of <stddef.h>.
82823
82824 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
82825
82826         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
82827         _POSIX_PTHREAD_SEMANTICS for Solaris.
82828
82829 2005-05-25  Derek Price  <derek@ximbiot.com>
82830
82831         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
82832
82833 2005-05-25  Derek Price  <derek@ximbiot.com>
82834             Paul Eggert  <eggert@cs.ucla.edu>
82835
82836         * modules/getlogin_r, m4/getlogin_r.m4: New files.
82837         * lib/getlogin_r.c, getlogin_r.h: New files.
82838
82839 2005-05-25  Bruno Haible  <bruno@clisp.org>
82840             Derek Price  <derek@ximbiot.com>
82841
82842         * lib/getlogin_r.h: Simplify API documentation.
82843
82844 2005-05-23  Derek Price  <derek@ximbiot.com>
82845
82846         * modules/minmax (Files): Add m4/minmax.m4.
82847         (configure.ac): Add gl_MINMAX.
82848
82849 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
82850
82851         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
82852         so that unistd-safer.h (GPL'ed code) need not be included.
82853
82854 2005-05-22  Bruno Haible  <bruno@clisp.org>
82855
82856         * m4/minmax.m4: New file.
82857         Based on a patch by Derek Price <derek@ximbiot.com>.
82858
82859 2005-05-22  Bruno Haible  <bruno@clisp.org>
82860
82861         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
82862         (INT64_MIN): Fix definition.
82863         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
82864
82865         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
82866         NEED_SIGNED_INT_TYPES.
82867
82868         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
82869         HAVE_SYSTEM_INTTYPES.
82870
82871 2005-05-22  Bruno Haible  <bruno@clisp.org>
82872
82873         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
82874         Also include <sys/param.h> if it defines MIN, MAX.
82875         Based on a patch by Derek Price <derek@ximbiot.com>.
82876
82877 2005-05-21  Jim Meyering  <jim@meyering.net>
82878
82879         * modules/fts (Files): Add m4/inttypes-pri.m4.
82880         (Depends-on): Add lstat and remove gettext.  Alphabetize.
82881
82882 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
82883
82884         New fts module.
82885         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
82886         (setup_dir, free_dir): New functions.
82887         (enter_dir, leave_dir): Define trivial
82888         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
82889         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
82890         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
82891         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
82892         Move to fts-cycle.c.
82893         (fts_open): Use setup_dir.
82894         (fts_close): Use free_dir.
82895         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
82896         This adds a label and some gotos, but the alternatives were messier.
82897         Check for memory allocation failure when entering a dir.
82898         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
82899         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
82900         (FTS): New member fts_cycle, that is a union that contains the
82901         old active_dir_ht and cycle_state.  All uses changed to mention
82902         fts_cycle.ht and fts_cycle.state.
82903         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
82904         fts.c, with the following changes:
82905         (setup_dir, free_dir): New functions.
82906         (enter_dir): Now returns bool.  Return true if successful, false
82907         if memory exhausted.  All callers changed.
82908         Do not bother partly cleaning up on
82909         memory allocation failure; that is free_dir's job.
82910         However, free ad if hash_insert fails, to avoid memory leak.
82911         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
82912         fts->fts_options to see which union member to use.
82913
82914 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
82915
82916         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
82917         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
82918
82919 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
82920
82921         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
82922
82923 2005-05-20  Jim Meyering  <jim@meyering.net>
82924
82925         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
82926         Now a macro, to pacify GCC.
82927
82928 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
82929
82930         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
82931         of -1.
82932
82933 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
82934
82935         * lib/chown.c (rpl_chown): Return -1 on failure.
82936
82937 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
82938
82939         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
82940         Don't check for stddef.h.
82941         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
82942         don't use its results.
82943         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
82944         since we include them unconditionally.  Don't require
82945         AM_STDBOOL_H, since stdbool is a prerequisite.
82946         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
82947         since we assume C89 or better.
82948         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
82949         as we don't use their results.
82950         Don't check for fchdir, memmove, memset, strrchr, as we use
82951         them unconditionally.
82952         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
82953         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
82954
82955 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
82956
82957         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
82958         Include <stddef.h> unconditionally, since we assume C89 now.
82959         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
82960         * lib/fts.c: Include fts_.h first, to check interface.
82961         Do not include intprops.h; no longer needed.
82962         Include cycle-check.h and hash.h, since fts_.h no longer does.
82963         Remove unnecessary casts of closedir to void.
82964         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
82965         decide whether to decrement nlinks.
82966         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
82967         (FTS): Use struct hash_table * instead of Hash_table, so that
82968         we no longer need to include hash.h here.
82969
82970 2005-05-18  Jim Meyering  <jim@meyering.net>
82971
82972         * modules/dirfd (License): Change to LGPL.  Most of the code
82973         is already in the public domain.
82974
82975 2005-05-18  Jim Meyering  <jim@meyering.net>
82976
82977         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
82978         Reported by Yoann Vandoorselaere.
82979
82980 2005-05-17  Jim Meyering  <jim@meyering.net>
82981
82982         * m4/fts.m4: New file, from coreutils.
82983
82984 2005-05-17  Jim Meyering  <jim@meyering.net>
82985
82986         * lib/fts.c, lib/fts_.h: New files, from coreutils.
82987
82988 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
82989
82990         Sync from coreutils.
82991         * m4/unlinkdir.m4: New file.
82992
82993 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
82994
82995         Sync from coreutils.
82996         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
82997         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
82998         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
82999         White space changes only.
83000         * lib/makepath.c (make_path): Port to hosts where leading "//" is
83001         special.
83002         * lib/yesno.c: Include getline.h, not ctype.h.
83003         (yesno): Don't remove leading white space; POSIX doesn't allow it.
83004         Use getline to remove arbitrary restriction on response length.
83005
83006 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
83007
83008         * config/srclist-update: Spell out "Street" in FSF postal
83009         mail address; this is the style the FSF seems to prefer.
83010
83011         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
83012         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
83013         this updates FSF postal mail address.
83014
83015         Sync from coreutils.
83016         * modules/unlinkdir: New file.
83017         * modules/yesno (Depends-on): Add getline.
83018         * MODULES.html.sh (File system functions): Add unlinkdir.
83019
83020 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
83021
83022         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
83023         lib/strsep.h:
83024         Change the initial comment to refer to GPL, not LGPL.
83025         gnulib-tool will change it to LGPL as needed.
83026
83027         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
83028         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
83029         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
83030         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
83031         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
83032         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
83033         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
83034         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
83035         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
83036         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
83037         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
83038         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
83039         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
83040         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
83041         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
83042         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
83043         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
83044         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
83045         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
83046         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
83047         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
83048         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
83049         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
83050         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
83051         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
83052         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
83053         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
83054         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
83055         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
83056         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
83057         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
83058         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
83059         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
83060         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
83061         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
83062         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
83063         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
83064         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
83065         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
83066         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
83067         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
83068         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
83069         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
83070         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
83071         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
83072         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
83073         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
83074         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
83075         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
83076         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
83077         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
83078         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
83079         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
83080         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
83081         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
83082         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
83083         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
83084         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
83085         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
83086         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
83087         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
83088         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
83089         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
83090         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
83091         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
83092         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
83093         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
83094         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
83095         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
83096         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
83097         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
83098         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
83099         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
83100         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
83101         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
83102         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
83103         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
83104         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
83105         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
83106         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
83107         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
83108         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
83109         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
83110         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
83111         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
83112         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
83113         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
83114         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
83115         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
83116         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
83117         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
83118         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
83119         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
83120         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
83121         lib/yesno.c, lib/yesno.h:
83122         Update FSF postal mail address.
83123
83124 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
83125
83126         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
83127         tests/test-memmem.c, tests/test-stpncpy.c:
83128         Update FSF postal mail address.
83129
83130 2005-05-13  Bruno Haible  <bruno@clisp.org>
83131
83132         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
83133         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
83134         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
83135         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
83136         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
83137         Add support for 64-bit integers in the MSVC compiler.
83138
83139 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83140
83141         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
83142
83143 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
83144
83145         * gnulib-tool (func_import): Sort and uniquify recommended includes.
83146
83147 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
83148
83149         * doc/getdate.texi (General date syntax): Don't say that date
83150         date --iso-8601=ns generates acceptable dates; it doesn't yet.
83151         Problem reported by Nic Ferrier.
83152
83153 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83154
83155         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
83156         specified in ai_socktype. Fix invalid ai_protocol
83157         check. ai_protocol is usually set to 0 or depending on
83158         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
83159         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
83160         ai_socktype / ai_protocol in the returned addrinfo structure.
83161
83162 2005-05-10  Simon Josefsson  <jas@extundo.com>
83163
83164         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
83165         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
83166
83167 2005-05-10  Karl Berry  <karl@gnu.org>
83168
83169         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
83170         (from http://www.gnu.org/licenses).
83171         * doc/COPYING.LIB: also rename to COPYING.LESSER.
83172         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
83173         fdl.texi suffices.
83174
83175 2005-05-10  Karl Berry  <karl@gnu.org>
83176
83177         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
83178         (COPYING.DOC): remove.
83179
83180         * config/srclist-update: new FSF address.
83181
83182 2005-05-10  Derek Price  <derek@ximbiot.com>
83183
83184         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
83185         possible.
83186
83187 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83188             Bruno Haible  <bruno@clisp.org>
83189
83190         * modules/inet_ntop: New file.
83191         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83192         inet_ntop.
83193
83194 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83195             Bruno Haible  <bruno@clisp.org>
83196
83197         * m4/inet_ntop.m4: New file.
83198
83199 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83200             Bruno Haible  <bruno@clisp.org>
83201
83202         * lib/inet_ntop.h: New file.
83203         * lib/inet_ntop.c: New file, from glibc with modifications.
83204
83205 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
83206
83207         * modules/time_r (License): Change to LGPL.
83208         * modules/extensions (License): Change to LGPL.  Actually,
83209         the license is more permissive than that, but currently gnulib-tool
83210         doesn't know how to handle more-permissive licenses.
83211
83212         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
83213         Problem reported by Dave Love.
83214
83215 2005-05-08  Jim Meyering  <jim@meyering.net>
83216
83217         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
83218         blank.
83219
83220 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
83221
83222         * modules/argmatch (Depends-on): Add stdbool.
83223         * modules/backupfile (Depends-on): Likewise.
83224         * modules/chdir-long (Depends-on): Likewise.
83225         * modules/closeout (Depends-on): Likewise.
83226         * modules/cycle-check (Depends-on): Likewise.
83227         * modules/dirname (Depends-on): Likewise.
83228         * modules/fnmatch (Depends-on): Likewise.
83229         * modules/fsusage (Depends-on): Likewise.
83230         * modules/fwriteerror (Depends-on): Likewise.
83231         * modules/getcwd (Depends-on): Likewise.
83232         * modules/getloadavg (Depends-on): Likewise.
83233         * modules/hard-locale (Depends-on): Likewise.
83234         * modules/makepath (Depends-on): Likewise.
83235         * modules/mountlist (Depends-on): Likewise.
83236         * modules/nanosleep (Depends-on): Likewise.
83237         * modules/posixtm (Depends-on): Likewise.
83238         * modules/quotearg (Depends-on): Likewise.
83239         * modules/readtokens (Depends-on): Likewise.
83240         * modules/readtokens0 (Depends-on): Likewise.
83241         * modules/readutmp (Depends-on): Likewise.
83242         * modules/save-cwd (Depends-on): Likewise.
83243         * modules/strftime (Depends-on): Likewise.
83244         * modules/userspec (Depends-on): Likewise.
83245         * modules/utimecmp (Depends-on): Likewise.
83246         * modules/xgetcwd (Depends-on): Likewise.
83247         * modules/xnanosleep (Depends-on): Likewise.
83248         * modules/xstrtod (Depends-on): Likewise.
83249         * modules/yesno (Depends-on): Likewise.
83250
83251 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
83252
83253         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
83254         needless checks.
83255
83256 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
83257
83258         Merge from coreutils.  Among other things,
83259         add bulletproofing for cases where stdin, stdout, or stderr are closed.
83260         * lib/fd-safer.c: New file.
83261         * lib/fcntl-safer.h, open-safer.c: Remove.
83262         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
83263         * lib/dup-safer.c: Include unistd-safer.h first.
83264         Don't include errno.h.
83265         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
83266         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
83267         * lib/file-type.c: Rely on file-type.h change.
83268         * lib/getloadavg.c: Include unistd-safer.h.
83269         (getloadavg): Use safer open.
83270         * lib/getusershell.c: Include "stdio-safer.h".
83271         (getusershell): Use safer fopen.
83272         * lib/long-options.c (long_options): Use NULL rather than 0.
83273         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
83274         'free'.
83275         * lib/modechange.c: Likewise.
83276         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
83277         (MODE_DONE): New constant.
83278         (struct mode_change): Remove 'next' member.
83279         (make_node_op_equals): New function; like the old one of the
83280         same name, except it allocates an array.
83281         (mode_compile, mode_create_from_ref): Use it.
83282         (mode_compile): Allocate result as an array, not a linked list.
83283         Parse octal string ourself, so that we catch mistakes like "+0".
83284         (mode_adjust): Arg is an array, not a linked list.
83285         * lib/modechange.c: Include stat-macros.h, xalloc.h.
83286         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
83287         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
83288         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
83289         Remove.  This is now stat-macros.h's job.
83290         (talloc): Remove.  All callers replaced by xalloc, so that
83291         our invokers don't have to worry about reporting memory failures.
83292         (make_node_op_equals): Remove.
83293         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
83294         New constants.
83295         (struct mode_change): Moved here from modechange.h.
83296         (mode_append_entry): Remove.
83297         (mode_compile): Remove MASKED_OPS arg, since it encouraged
83298         apps to have incorrect behavior.  Use simpler algorithm for head
83299         and tail.  Don't futz with umask; that's now the job of mode_adjust.
83300         Detect more invalid usages rather than having somewhat-random behavior.
83301         Don't insert an "a=" action, as that leads to incorrect behavior.
83302         (mode_compile, mode_create_from_ref): Return NULL on error instead
83303         of an enum, since now there's only one way to have an error.  All
83304         callers changed.
83305         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
83306         at the correct time.  Simplify calculation of "+u" and its ilk.
83307         Don't mishandle "+X".
83308         (mode_free): Remove "register" and localize decls.
83309         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
83310         (struct mode_change): Move to modechange.c; callers don't
83311         need to see this stuff.
83312         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
83313         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
83314         (mode_change, mode_adjust): Reflect the new signatures noted above.
83315         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
83316         that might redefine system include files.
83317         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
83318         (my_usleep): Use NULL rather than (void *) 0.
83319         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
83320         Use siginterrupt to specify that system calls should be interrupted.
83321         (rpl_nanosleep): Move initialization of suspended closer to call of
83322         my_usleep.
83323         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
83324         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
83325         (desirable_utmp_entry): New function.
83326         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
83327         using x2nrealloc, to simplify logic.
83328         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
83329         size calculation.  Do not assume utmp file is a regular file.
83330         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
83331         (READ_UTMP_CHECK_PIDS): New constant.
83332         * lib/save-cwd.c: Include unistd-safer.h.
83333         (save_cwd): Use fd_safer.
83334         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
83335         [!_LIBC] Include "stat-macros.h" instead.
83336         * lib/unistd-safer.h (fd_safer): New decl.
83337
83338 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
83339
83340         * modules/getloadavg (Depends-on): Add unistd-safer.
83341         * modules/getusershell (Depends-on): Add stdio-safer.
83342         * modules/lstat (Depends-on): Remove xalloc.
83343         * modules/mkstemp (Depends-on): Add stat-macros.
83344         * modules/modechange (Depends-on): Remove xstrtol.
83345         Add stat-macros, xalloc.
83346         * modules/save-cwd (Depends-on): Add unistd-safer.
83347         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
83348         * modules/unistd-safer (Files): Add lib/fd-safer.c
83349         (Makefile.am): Remove lib_SOURCES.
83350
83351         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
83352         Remove fcntl-safer; unistd-safer supersedes it.
83353
83354 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
83355
83356         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
83357         AC_HEADER_STAT.
83358         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
83359         (gl_PREREQ_CHOWN): Remove.
83360         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
83361         it.  Don't require AC_HEADER_STAT.
83362         (gl_PREREQ_LSTAT): Remove.
83363         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
83364         Don't require AC_HEADER_STAT.
83365         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
83366         (gl_PREREQ_RMDIR): Remove.
83367         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
83368         mention stat-macros.h or AC_HEADER_STAT, since we'll make
83369         the stat-macros module a prerequisite.
83370         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
83371         * m4/filemode.m4 (gl_FILEMODE): Likewise.
83372         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
83373         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
83374         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
83375         variable names.
83376         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
83377         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
83378         variable prefixes.
83379         * m4/fcntl-safer.m4: Remove.
83380         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
83381         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
83382         Invoke gl_PREREQ_FD_SAFER.
83383         (gl_PREREQ_FD_SAFER): New macro.
83384         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
83385         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
83386         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
83387         Remove duplicate call to AC_LIBOBJ(readutmp).
83388         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
83389
83390         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
83391         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
83392
83393 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
83394
83395         * MODULES.html.sh (Misc): Add byteswap.
83396
83397 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
83398
83399         * modules/getcwd (Depends-on): Add extensions.
83400         * modules/openat (Depends-on): Likewise.
83401
83402 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
83403
83404         * modules/byteswap: New file.
83405
83406 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
83407
83408         * m4/byteswap.m4: New file.
83409
83410 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
83411
83412         * lib/byteswap_.h: New file.
83413
83414 2005-04-25  Karl Berry  <karl@gnu.org>
83415
83416         * m4/gettext.m4: Update from GNU gettext 0.14.4.
83417
83418 2005-04-25  Albert Chin  <china@thewrittenword.com>
83419
83420         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
83421         Toolkit C bug.
83422
83423 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
83424
83425         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
83426         (func_ln_if_changed): Remove forcibly for no error message
83427         in case file does not exist.
83428
83429 2005-04-19  Simon Josefsson  <jas@extundo.com>
83430
83431         * gnulib-tool (Options): Make --symlink mean --symbolic.
83432
83433 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
83434
83435         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
83436
83437 2005-04-16  Simon Josefsson  <jas@extundo.com>
83438
83439         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
83440
83441 2005-04-15  Simon Josefsson  <jas@extundo.com>
83442
83443         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
83444
83445 2005-04-15  Simon Josefsson  <jas@extundo.com>
83446
83447         * gnulib-tool: Rename --symlink to --symbolic.
83448
83449 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
83450
83451         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
83452         symbolic links to files instead of copying/moving.  Add --aux-dir,
83453         specifying directory relative --dir where auxiliary build tools
83454         are placed.
83455
83456 2005-04-14  Bruno Haible  <bruno@clisp.org>
83457
83458         * modules/allocsa (License): Change to LGPL.
83459         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
83460
83461 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
83462
83463         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
83464         that "UTC +1 second" continues to work.  Problem reported
83465         by Dmitry V. Levin.
83466         (relunit_snumber): New rule.
83467         (relunit): Use it.
83468
83469 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
83470
83471         * lib/getdate.y (universal_time_zone_table): New constant.
83472         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
83473         universal_time_zone_table.
83474         (lookup_zone): Prefer universal_time_zone_table to
83475         local_time_zone_table, so that "GMT" time stamps are allowed in
83476         London during the summer.  Problem reported by Ian Abbott.
83477
83478 2005-04-12  Jim Meyering  <jim@meyering.net>
83479
83480         * lib/human.c (humblock): Set *options even when returning due to
83481         xstrtoumax conversion failure.  Thanks to a used-uninitialized
83482         warning from gcc-4.
83483
83484 2005-04-09  Jim Meyering  <jim@meyering.net>
83485
83486         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
83487         -Wuninitialized: initialize tm0.tm_year.
83488
83489 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
83490
83491         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
83492         count, since there's no maximum.  All uses changed.
83493         Add member dsts_seen.
83494         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
83495         not being INT_MAX.
83496         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
83497         Use pc_rels_seen to decide whther a date is absolute.
83498
83499         * lib/getdate.y (number): Don't overwrite year.
83500         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
83501         check.
83502
83503 2005-04-02  Simon Josefsson  <jas@extundo.com>
83504
83505         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
83506         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
83507
83508 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
83509
83510         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
83511         where no absolute path name can be longer than PATH_MAX.
83512
83513 2005-03-27  Jim Meyering  <jim@meyering.net>
83514
83515         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
83516
83517 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
83518
83519         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
83520         "one's complement" -> "ones' complement" in comment, as per Knuth.
83521         "value of type" -> "type or expression" in comment.
83522         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
83523
83524 2005-03-26  Jim Meyering  <jim@meyering.net>
83525
83526         Comment nits.
83527         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
83528         Correct typos: s/or/of/.
83529
83530 2005-03-26  Jim Meyering  <jim@meyering.net>
83531
83532         * modules/check-include-files: Move to ../ and rename to...
83533         * check-module: ...this.
83534
83535 2005-03-25  Jim Meyering  <jim@meyering.net>
83536
83537         * modules/xvasprintf (Files): Add xalloc.h.
83538
83539 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
83540
83541         * modules/gettext (Files): config/config.rpath ->
83542         build-aux/config.rpath
83543         * modules/iconv (Files): Likewise.
83544         Problem reported by Oskar Liljeblad.
83545
83546 2005-03-23  Jim Meyering  <jim@meyering.net>
83547
83548         * modules/check-include-files: New script to check for
83549         missing dependencies, multiple includes, etc.
83550
83551         * modules/c-strtold (Depends-on): Add xalloc.
83552         * modules/c-strtod (Depends-on): Add xalloc.
83553         * modules/hash (Depends-on): Add xalloc.
83554         (Files): Remove lib/xalloc.h.
83555
83556         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
83557         * modules/userspec (Files): Add lib/inttostr.h.
83558
83559 2005-03-23  Jim Meyering  <jim@meyering.net>
83560
83561         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
83562
83563 2005-03-22  Jim Meyering  <jim@meyering.net>
83564
83565         * modules/stat-macros: New module.
83566         * modules/canonicalize, modules/euidaccess, modules/file-type,
83567         * modules/filemode, modules/lchown, modules/makepath,
83568         * modules/rmdir, modules/stat: Depend on new stat-macros module
83569         rather than listing lib/stat-macros.h manually.
83570         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
83571
83572 2005-03-22  Jim Meyering  <jim@meyering.net>
83573
83574         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
83575
83576 2005-03-22  Bruno Haible  <bruno@clisp.org>
83577
83578         * config/srclist.txt: Replace target directory 'config' with
83579         'build-aux'.
83580         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
83581         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
83582         ../build-aux/.
83583
83584 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
83585
83586         * modules/chdir-long (Depends-on): Add mempcpy.
83587
83588         * modules/acl, modules/backupfile, modules/c-strtod,
83589         modules/c-strtold, modules/canon-host, modules/canonicalize,
83590         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
83591         modules/exclude, modules/exitfail, modules/file-type,
83592         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
83593         modules/getdate, modules/getline, modules/getpagesize,
83594         modules/getpass, modules/getugroups, modules/group-member,
83595         modules/hard-locale, modules/hash, modules/human, modules/idcache,
83596         modules/inttostr, modules/long-options, modules/makepath,
83597         modules/md5, modules/memcasecmp, modules/memcoll,
83598         modules/modechange, modules/mountlist, modules/path-concat,
83599         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
83600         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
83601         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
83602         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
83603         modules/strftime, modules/strndup, modules/strverscmp,
83604         modules/timespec, modules/unlocked-io, modules/userspec,
83605         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
83606         modules/yesno:
83607         Remove lib_SOURCES line from Makefile.am section, as this is now
83608         done automatically by the corresponding Autoconf macro.
83609
83610 2005-03-21  Jim Meyering  <jim@meyering.net>
83611
83612         Changes imported from coreutils.
83613
83614         * lib/cycle-check.c: Don't include xalloc.h.
83615
83616         * lib/path-concat.c: Don't include assert.h.
83617         (path_concat): Remove assertion that would have triggered
83618         for ABASE starting with more than one slash.
83619         Reported by Andreas Schwab.
83620
83621         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
83622         properly when ABASE is an absolute file name.
83623         Correct the description of this function.
83624         Include <assert.h>.
83625         Add an assertion and a test driver.
83626         This fixes a bug introduced on 2004-07-02.
83627         Andreas Schwab reported the resulting failure of cp --parents:
83628         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
83629
83630 2005-03-21  Jim Meyering  <jim@meyering.net>
83631
83632         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
83633         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
83634
83635 2005-03-21  Jim Meyering  <jim@meyering.net>
83636         and  Paul Eggert  <eggert@cs.ucla.edu>
83637
83638         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
83639         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
83640         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
83641         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
83642         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
83643         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
83644         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
83645         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
83646         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
83647         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
83648         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
83649         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
83650         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
83651         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
83652         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
83653         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
83654         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
83655         for these modules.
83656
83657 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
83658
83659         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
83660         (which shouldn't happen), generate nothing instead of returning 0
83661         immediately, so that nstrftime (NULL, ...) doesn't return 0.
83662
83663 2005-03-16  Bruno Haible  <bruno@clisp.org>
83664
83665         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
83666         HAVE_LONGLONG_64BIT.
83667
83668 2005-03-16  Bruno Haible  <bruno@clisp.org>
83669
83670         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
83671         HAVE_LONGLONG_64BIT.
83672
83673 2005-03-16  Bruno Haible  <bruno@clisp.org>
83674
83675         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
83676         HAVE_LONGLONG_64BIT.
83677
83678 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
83679
83680         * lib/strftime.c (my_strftime): Prepend space to format so that we can
83681         reliably distinguish strftime failure from empty output on POSIX
83682         hosts.
83683
83684 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
83685
83686         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
83687         (iconv_string): Don't guess a size-zero buffer, as that might cause
83688         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
83689         result would be 'too large', where 'too large' is (heuristically)
83690         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
83691         overflow concerns.  This will prevent some unwanted malloc failures
83692         when the inputs are very large.
83693
83694 2005-03-15  Karl Berry  <karl@gnu.org>
83695
83696         * config/srclist.txt (config.rpath): from gettext.
83697         * config/config.rpath: update.
83698
83699 2005-03-15  Bruno Haible  <bruno@clisp.org>
83700
83701         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
83702         to 'negate'.
83703
83704         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
83705         variable.
83706
83707         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
83708         results.
83709
83710 2005-03-14  Simon Josefsson  <jas@extundo.com>
83711
83712         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
83713         <fx@gnu.org>.
83714
83715 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
83716
83717         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
83718         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
83719         intprops.h.
83720         * lib/strtol.c: Likewise.
83721
83722 2005-03-14  Jim Meyering  <jim@meyering.net>
83723
83724         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
83725         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
83726         to be nonzero so that we (and caller) can detect the difference
83727         between a valid zero-length expansion and an error return, even
83728         when the underlying strftime fails before writing anything into
83729         that location.
83730
83731 2005-03-14  Bruno Haible  <bruno@clisp.org>
83732
83733         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
83734         Update from GNU gettext 0.14.3.
83735
83736 2005-03-10  Jim Meyering  <jim@meyering.net>
83737
83738         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
83739
83740 2005-03-10  Jim Meyering  <jim@meyering.net>
83741
83742         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
83743         so that this module works on systems without fchdir.
83744
83745 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
83746
83747         Factor int-properties macros into a single file, except for
83748         glibc-related files.
83749         * lib/intprops.h: New file.
83750         * lib/getloadavg.c: Include it instead of limits.h.
83751         (INT_STRLEN_BOUND): Remove.
83752         * lib/human.c: Include intprops.h.
83753         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
83754         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
83755         302/1000.
83756         * lib/inttostr.h: Include intprops.h instead of limits.h.
83757         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
83758         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
83759         for consistency with intprops.h.
83760         (time_t_is_integer, twos_complement_arithmetic): Use them.
83761         * lib/sig2str.h: Include <signal.h>, intprops.h.
83762         (INT_STRLEN_BOUND): Remove.
83763         * lib/strftime.c (TYPE_SIGNED): Remove.
83764         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
83765         * lib/strtol.c: Adjust comments to match intprops.h.
83766         * lib/userspec.c: Include intprops.h.
83767         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
83768         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
83769         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
83770         instead of rolling our own expressions.
83771         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
83772
83773         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
83774         instead of int.
83775         (my_strftime): Do not mishandle years close to INT_MAX, by doing
83776         the right thing even if adding 1900 would overflow.  Similarly
83777         for tm_mon + 1 and tm_yday + 1.
83778         Make %Y always equivalent to %C%y, and similarly for %G and %g.
83779         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
83780         (DO_SIGNED_NUMBER): New macro.
83781         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
83782
83783 2005-03-07  Bruno Haible  <bruno@clisp.org>
83784
83785         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
83786
83787 2005-03-07  Bruno Haible  <bruno@clisp.org>
83788
83789         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
83790
83791 2005-03-04  Derek R. Price  <derek@ximbiot.com>
83792
83793         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
83794         (func_import): Only replace files via --import when they have actually
83795         changed.
83796
83797 2005-03-03  Derek R. Price  <derek@ximbiot.com>
83798
83799         * m4/mmap-anon.m4: New file.
83800         * m4/pagealign_alloc.m4: New file.
83801
83802 2005-03-03  Derek R. Price  <derek@ximbiot.com>
83803             Bruno Haible  <bruno@clisp.org>
83804
83805         * modules/pagealign_alloc: New file.
83806         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
83807
83808 2005-03-03  Derek R. Price  <derek@ximbiot.com>
83809             Bruno Haible  <bruno@clisp.org>
83810
83811         * lib/pagealign_alloc.h: New file.
83812         * lib/pagealign_alloc.c: New file.
83813
83814 2005-03-03  Bruno Haible  <bruno@clisp.org>
83815
83816         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
83817         Use an all-permissive copyright notice, recommended by RMS.
83818
83819 2005-03-02  Bruno Haible  <bruno@clisp.org>
83820
83821         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
83822         of AIX, the replacement has to be done only after <string.h> is
83823         included, therefore not in config.h. stpncpy.h does the replacement,
83824         and stpncpy.c uses it.
83825
83826 2005-03-02  Bruno Haible  <bruno@clisp.org>
83827
83828         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
83829         stpncpy.c uses it.
83830
83831 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
83832
83833         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
83834         The workaround isn't strictly needed for POSIX conformance, and
83835         it's too much of a pain to configure and maintain.  We'll ask
83836         people to fix their kernels instead.
83837         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
83838         (NANOSLEEP_BUG_WORKAROUND): Remove.
83839         (xnanosleep): Remove the workaround.
83840
83841 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
83842
83843         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
83844         Reported by Derek Price.
83845         (Include): Add "timespec.h".
83846
83847         * modules/xnanosleep (Depends-on): Remove gethrxtime.
83848
83849 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
83850
83851         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
83852         to detect nanosleep bug.
83853
83854 2005-03-01  Bruno Haible  <bruno@clisp.org>
83855
83856         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
83857
83858 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
83859
83860         * modules/gethrxtime: New file.
83861         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
83862         (Depends-on): Add gethrxtime.
83863         (configure.ac): Add gl_XNANOSLEEP.
83864         (Makefile.am): Remove lib_SOURCES line.
83865
83866 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
83867
83868         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
83869         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
83870
83871 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
83872
83873         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
83874         * lib/timespec.h (gettime): Return void, since it always
83875         succeeds now.  All uses changed.
83876         * lib/gettime.c (gettime): Likewise.
83877         [HAVE_NANOTIME]: Prefer nanotime.
83878         Assume gettimeofday succeeds, as POSIX requires.
83879         Assime time () succeeds, since other code already does.
83880         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
83881         (timespec_subtract): Remove.
83882         (NANOSLEEP_BUG_WORKAROUND): New constant.
83883         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
83884         things considerably.  Use it only on GNU/Linux hosts, since the
83885         workaround shouldn't be needed elsewhere.
83886
83887 2005-02-24  Bruno Haible  <bruno@clisp.org>
83888
83889         * modules/gettext (Files): Add m4/glibc2.m4.
83890
83891 2005-02-24  Bruno Haible  <bruno@clisp.org>
83892
83893         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
83894         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
83895         * m4/progtest.m4:
83896         Update from GNU gettext 0.14.2.
83897         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
83898
83899 2005-02-24  Bruno Haible  <bruno@clisp.org>
83900
83901         * lib/localcharset.c: Update from GNU gettext 0.14.2.
83902         * lib/config.charset: Update from GNU gettext 0.14.2.
83903
83904 2005-02-24  Bruno Haible  <bruno@clisp.org>
83905
83906         * lib/gettext.h: Update from GNU gettext 0.14.2.
83907
83908 2005-02-23  Simon Josefsson  <jas@extundo.com>
83909
83910         * m4/iconvme.m4: New file.
83911
83912 2005-02-23  Jim Meyering  <jim@meyering.net>
83913
83914         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
83915         change.
83916         Thanks to Bruno Haible for catching it.
83917
83918 2005-02-22  Simon Josefsson  <jas@extundo.com>
83919
83920         * modules/iconvme: New file.
83921
83922         * MODULES.html.sh: Add iconvme.
83923
83924 2005-02-22  Simon Josefsson  <jas@extundo.com>
83925
83926         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
83927
83928 2005-02-22  Simon Josefsson  <jas@extundo.com>
83929
83930         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
83931
83932 2005-02-22  Jim Meyering  <jim@meyering.net>
83933
83934         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
83935         s/ifndef/ifdef/.
83936
83937 2005-02-20  Neil Conway  <neilc@samurai.com>
83938
83939         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
83940         returned by OSX/Darwin if the specified buffer is not large
83941         enough for the hostname.
83942
83943 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83944
83945         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
83946         pass it to _help, otherwise the latter coredumps trying to
83947         dereference state.root_argp.
83948
83949 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
83950
83951         * modules/chdir-long (Depends-on): Add memrchr.
83952         * modules/memrchr (Files): Add lib/memrchr.h.
83953         (Include): "memrchr.h".
83954
83955 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
83956
83957         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
83958
83959 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
83960
83961         * lib/memrchr.h: New file.
83962         * lib/chdir-long.c: Include it.
83963         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
83964         Don't bother including stddef.h.
83965
83966 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
83967
83968         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
83969         inclusion.
83970         Include <sys/types.h>, for dev_t.
83971         (ME_DUMMY, ME_REMOTE): Move from here....
83972         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
83973         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
83974         Dmitry V. Levin.
83975         Include mountlist.h first, to test the interface.
83976
83977 2005-01-29  Bruno Haible  <bruno@clisp.org>
83978
83979         * lib/progname.c (program_name): Initialize.
83980         Needed when linking statically on MacOS X.
83981
83982 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
83983
83984         Sync from coreutils.
83985         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
83986         (Depends-on): Add c-strtod.
83987         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
83988
83989 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
83990
83991         Sync from coreutils.
83992         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
83993
83994         Remove files that are specific to coreutils.
83995         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
83996
83997 2005-01-28  Bruno Haible  <bruno@clisp.org>
83998
83999         * modules/javacomp: New file.
84000         * MODULES.html.sh (Java): Add javacomp.
84001
84002 2005-01-28  Bruno Haible  <bruno@clisp.org>
84003
84004         * m4/javacomp.m4: New file, from GNU gettext.
84005
84006 2005-01-28  Bruno Haible  <bruno@clisp.org>
84007
84008         * lib/javacomp.sh.in: New file, from GNU gettext.
84009         * lib/javacomp.h: New file, from GNU gettext.
84010         * lib/javacomp.c: New file, from GNU gettext.
84011
84012 2005-01-26  Simon Josefsson  <jas@extundo.com>
84013
84014         * lib/gai_strerror.c: Use GPL in header.
84015
84016 2005-01-26  Bruno Haible  <bruno@clisp.org>
84017
84018         * modules/javaexec: New file.
84019         * MODULES.html.sh (Java): Add javaexec.
84020
84021 2005-01-26  Bruno Haible  <bruno@clisp.org>
84022
84023         * m4/javaexec.m4: New file, from GNU gettext.
84024
84025 2005-01-26  Bruno Haible  <bruno@clisp.org>
84026
84027         * lib/javaexec.sh.in: New file, from GNU gettext.
84028         * lib/javaexec.h: New file, from GNU gettext.
84029         * lib/javaexec.c: New file, from GNU gettext.
84030
84031 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84032
84033         * modules/lchown (Depends-on): Remove lchown.h
84034
84035 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84036
84037         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
84038         must be defined if the header file was not found, in order
84039         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
84040
84041 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84042
84043         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
84044         initializers for struct pentry_state.
84045         (__argp_error): Check return value of __asprintf
84046         (__argp_failure): Translate error message
84047
84048         * lib/argp-parse.c: Removed braces around the expansion of N_()
84049
84050 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
84051
84052         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
84053         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
84054         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
84055         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
84056         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
84057         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
84058         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
84059         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
84060         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
84061         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
84062         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
84063         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
84064         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
84065         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
84066         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
84067         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
84068         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
84069         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
84070         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
84071         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
84072         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
84073         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
84074         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
84075         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
84076         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
84077         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
84078         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
84079         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
84080         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
84081         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
84082         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
84083         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
84084         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
84085         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
84086         xstrtol.m4, xstrtoumax.m4, yesno.m4:
84087         Use an all-permissive copyright notice, recommended by RMS.
84088
84089 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
84090
84091         * modules/chdir-long (Depends-on): Remove mempcpy.
84092
84093 2005-01-21  Jim Meyering  <jim@meyering.net>
84094
84095         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
84096         same value as for Solaris 9.
84097
84098         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
84099         component length.  This included changing the parameter to be
84100         of type `char *' rather than `char const *'.
84101         * lib/chdir-long.h (chdir_long): Update prototype.
84102
84103         * lib/openat.c (fdopendir, fstatat): New functions.
84104         * lib/openat.h: Include headers required for use of DIR and struct
84105         stat.
84106         [AT_SYMLINK_NOFOLLOW]: Define.
84107         (fdopendir, fstatat): Add prototypes.
84108
84109 2005-01-21  Bruno Haible  <bruno@clisp.org>
84110
84111         * modules/classpath: New file.
84112         * MODULES.html.sh (Java): Add classpath.
84113
84114 2005-01-21  Bruno Haible  <bruno@clisp.org>
84115
84116         * lib/classpath.h: New file, from GNU gettext.
84117         * lib/classpath.c: New file, from GNU gettext.
84118
84119 2005-01-20  Simon Josefsson  <jas@extundo.com>
84120
84121         * modules/version-etc-fsf: New file.
84122
84123 2005-01-20  Simon Josefsson  <jas@extundo.com>
84124
84125         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
84126         * lib/version-etc.c: Remove version_etc_copyright.
84127         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
84128         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
84129
84130 2005-01-20  Simon Josefsson  <jas@extundo.com>
84131
84132         * lib/base64.h (isbase64): Add.
84133
84134         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
84135         using a unsigned prototype, don't inline.
84136         (base64_decode): Use it.
84137
84138 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
84139
84140         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
84141         it.
84142
84143 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
84144
84145         * lib/save-cwd.c (save_cwd): Remove code to support the case
84146         where fchdir is missing or flaky.
84147
84148 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
84149
84150         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
84151
84152 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
84153
84154         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
84155         AC_LIBSOURCES now does this.
84156         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
84157         with new ullong_max module.
84158
84159 2005-01-19  Bruno Haible  <bruno@clisp.org>
84160
84161         * modules/sh-quote: New file.
84162         * MODULES.html.sh (Executing programs): Add sh-quote.
84163
84164 2005-01-19  Bruno Haible  <bruno@clisp.org>
84165
84166         * lib/sh-quote.h: New file, from GNU gettext.
84167         * lib/sh-quote.c: New file, from GNU gettext.
84168
84169 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
84170
84171         Merge from coreutils.
84172         * m4/ullong_max.m4: New file.
84173         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
84174         (gl_MACROS): Assume localeconv exists.
84175
84176 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
84177
84178         Merge changes from coreutils, as described below in several
84179         changelogs dated today.
84180
84181         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
84182         (O_DIRECTORY): Remove; not needed here, since "." must be
84183         a directory.  All uses removed.
84184         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
84185         universal on Suns, and we also need to test for IRIX.
84186         Revamp code to use 'if' rather than '#if'.
84187         Avoid unnecessary comparison of cwd->desc to 0.
84188
84189         * lib/utimens.c (futimens): Robustify the previous patch, by checking
84190         for known valid error numbers rather than observed invalid ones.
84191
84192 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
84193
84194         * modules/ullong_max: New file.
84195
84196         * modules/chdir-long, modules/openat: New files.
84197         * modules/save-cwd (Depends-on): Depend on chdir-long.
84198         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
84199
84200 2005-01-18  Jim Meyering  <jim@meyering.net>
84201
84202         Merge from coreutils.
84203         * m4/chdir-long.m4, m4/openat.m4: New files.
84204         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
84205         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
84206         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
84207         is sane and DOES follow symlinks.  Besides, testing 20 different
84208         systems found no broken chown implementations.
84209         Prompted by a change in rsync's copy of this macro.
84210         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
84211
84212         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
84213
84214         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
84215         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
84216         NULL-means-set-to-current-time semantics.
84217         Remove temporary file immediately, rather than waiting
84218         for configure's at-exit trap code to do it.
84219
84220 2005-01-18  Jim Meyering  <jim@meyering.net>
84221
84222         * lib/version-etc.c (version_etc_copyright): Update copyright date.
84223
84224         * lib/utimens.c (futimens): Account for the fact that futimes
84225         can also fail with errno == ENOSYS or errno == ENOENT.
84226         Patch from Dmitry V. Levin.
84227
84228         Change the name of the robust chdir function from chdir to chdir_long.
84229         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
84230         (restore_cwd): Use chdir_long, not chdir.
84231         * lib/chdir-long.c: Renamed from chdir.c.
84232         * lib/chdir-long.h: Renamed from chdir.h.
84233         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
84234         Hurd.
84235
84236 2005-01-18  Bruno Haible  <bruno@clisp.org>
84237
84238         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
84239         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
84240         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
84241         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
84242         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
84243         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
84244         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
84245         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
84246         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
84247         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
84248         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
84249         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
84250         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
84251         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
84252         Use an all-permissive copyright notice, recommended by RMS.
84253
84254 2005-01-18  Bob Proulx  <bob@proulx.com>
84255
84256         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
84257         simplify offsetof() macro construct to avoid compile failure with
84258         native HP-UX 11.0 ANSI C compiler.
84259
84260 2005-01-17  Bruno Haible  <bruno@clisp.org>
84261
84262         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
84263         redundant because stpncpy.m4 takes care of it.
84264
84265 2005-01-17  Bruno Haible  <bruno@clisp.org>
84266
84267         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
84268
84269 2005-01-17  Bruno Haible  <bruno@clisp.org>
84270
84271         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
84272         used.
84273
84274 2005-01-17  Bruno Haible  <bruno@clisp.org>
84275
84276         * lib/fwriteerror.h (fwriteerror): Change specification to include
84277         fclose.
84278         * lib/fwriteerror.c: Include <stdbool.h>.
84279         (fwriteerror): At the end, close the file stream. Record whether
84280         stdout was already closed.
84281
84282 2005-01-17  Bruno Haible  <bruno@clisp.org>
84283
84284         * lib/execute.c (environ): Declare if needed.
84285         * lib/pipe.c (environ): Likewise.
84286         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
84287
84288 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84289
84290         * modules/argp: Depend on vsnprintf
84291
84292 2005-01-10  Jim Meyering  <jim@meyering.net>
84293
84294         * modules/closeout (Depends-on): Add atexit.
84295
84296 2005-01-06  Bruno Haible  <bruno@clisp.org>
84297
84298         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
84299
84300 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
84301
84302         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
84303         definitions to be after all include files, to avoid collisions.
84304         Problem reported by Bob Proulx.
84305
84306 2005-01-04  Jim Meyering  <jim@meyering.net>
84307
84308         Changes imported from coreutils.
84309         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
84310         as the mkstemp template, use a temporary directory and an
84311         8.3-friendly template to avoid trouble on systems like DJGPP.
84312         Reported by Juan M. Guerrero via Stepan Kasal.
84313         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
84314         close. Remove the temporary directory right away, rather than waiting
84315         for configure's at-exit trap code to do it.
84316         Suggestion from Stepan Kasal.
84317
84318 2005-01-01  Simon Josefsson  <jas@extundo.com>
84319
84320         * gnulib-tool: Print #include directives when --import'ing.
84321
84322 2004-12-28  Simon Josefsson  <jas@extundo.com>
84323
84324         * tests/test-base64.c: Include required header files.  Remove
84325         unused variables.
84326
84327 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
84328
84329         * modules/error (Depends-on): Remove gettext.
84330
84331 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
84332
84333         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
84334         not needed.  This removes a dependency on the gettext module.
84335         [defined _LIBC]: Do not include <libintl.h>; not needed.
84336
84337 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
84338
84339         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
84340         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
84341
84342 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
84343
84344         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
84345         HAVE_DECL_STRTOLD.
84346
84347 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
84348
84349         * modules/getdate (Depends-on): Remove alloca-opt.
84350
84351 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
84352
84353         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
84354
84355 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
84356
84357         * lib/argp-parse.c: Include <stddef.h>.
84358         (alignof, alignto): New macros.
84359         (parser_init): Don't assume that void * is aligned sufficiently
84360         for struct option.
84361
84362         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
84363         need to extend the stack.
84364         (YYINITDEPTH): New macro, so that the initial stack isn't overly
84365         large.
84366
84367 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84368
84369         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
84370
84371 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
84372
84373         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
84374         (2004-10-24) change.  Apparently this was a false alarm.
84375
84376         * modules/getdate: Depend on alloca-opt, not alloca.
84377
84378 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
84379
84380         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
84381         Remove now-obsolete comment about AIX.
84382         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
84383         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
84384         (YYMAXDEPTH): New macro.
84385
84386 2004-12-18  Simon Josefsson  <jas@extundo.com>
84387
84388         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
84389
84390 2004-12-18  Bruno Haible  <bruno@clisp.org>
84391
84392         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
84393
84394 2004-12-18  Bruno Haible  <bruno@clisp.org>
84395
84396         * lib/fatal-signal.c (fatal_signals): Make non-const.
84397         (init_fatal_signals): New function.
84398         (uninstall_handlers, install_handlers): Ignore signals that were set to
84399         SIG_IGN.
84400         (at_fatal_signal): Call init_fatal_signals.
84401         (init_fatal_signal_set): Likewise. Ignore signals that were set to
84402         SIG_IGN.
84403         Reported by Paul Eggert.
84404
84405 2004-12-18  Bruno Haible  <bruno@clisp.org>
84406
84407         * doc/alloca.texi: New file.
84408         * doc/alloca-opt.texi: New file.
84409
84410 2004-12-17  Jim Meyering  <jim@meyering.net>
84411
84412         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
84413         Otherwise, install-sh could exit with improper exit status when
84414         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
84415
84416 2004-12-16  Simon Josefsson  <jas@extundo.com>
84417
84418         * tests/test-base64.c: Add license.
84419
84420 2004-12-15  Stepan Kasal  <address@hidden>
84421
84422         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
84423
84424 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
84425
84426         * modules/getcwd (Files): Add m4/d-ino.m4.
84427         Suggested by Mark D. Baushke.
84428
84429 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
84430
84431         * lib/getdate.y (textint): New member "negative".
84432         (time_zone_hhmm): New function.
84433         Expect 14 shift-reduce conflicts, not 13.
84434         (o_colon_minutes): New rule.
84435         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
84436         (yylex): Set the "negative" member of signed numbers.
84437
84438 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
84439
84440         * doc/getdate.texi (Time of day items, Time zone items):
84441         Describe new formats +00:00, UTC+00:00.
84442
84443 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
84444
84445         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
84446         spurious "-l"s.  Problem reported by Stepan Kasal.
84447
84448 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
84449
84450         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
84451         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
84452
84453 2004-12-04  Simon Josefsson  <jas@extundo.com>
84454
84455         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
84456         Vandoorselaere <yoann@prelude-ids.org>.
84457
84458 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
84459
84460         Changes imported from coreutils.
84461         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
84462         exist.
84463         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
84464
84465 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
84466
84467         Changes imported from coreutils.
84468         * lib/hard-locale.c: Assume <locale.h> exists.
84469         Include "strdup.h".
84470         (GLIBC_VERSION): New macro.
84471         (hard_locale): Assume setlocale exists.
84472         Rewrite to avoid #ifdef.
84473         Use strdup rather than malloc + strcpy.
84474         * lib/human.c: Assume <locale.h> exists.
84475         (human_readable): Assume localeconv exists.
84476
84477 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
84478
84479         * modules/hard-locale (Depends-on): Add strdup.
84480
84481 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
84482
84483         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
84484         convert T2, not T.  (Imported from libc.)
84485
84486 2004-11-30  Simon Josefsson  <jas@extundo.com>
84487
84488         * modules/restrict (License): Change to LGPL.
84489
84490 2004-11-30  Simon Josefsson  <jas@extundo.com>
84491
84492         * m4/restrict.m4: Add copyright and copying conditions.
84493
84494 2004-11-30  Simon Josefsson  <jas@extundo.com>
84495
84496         * m4/base64.m4: New file.
84497
84498 2004-11-30  Simon Josefsson  <jas@extundo.com>
84499
84500         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
84501         base64.
84502
84503         * tests/test-base64.c: New file.
84504
84505         * modules/base64: New file.
84506
84507 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
84508
84509         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
84510         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
84511
84512         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
84513
84514 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
84515
84516         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
84517         (__getcwd.c): Don't restore errno; glibc doesn't.
84518         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
84519         first, falling back to our code only if its results look suspicious.
84520         Ensure that the resulting buffer is only as large as necessary.
84521
84522         * lib/readutmp.c: Include readutmp.h first.
84523         Include <errno.h>, since readutmp.h no longer does that.
84524         * lib/readutmp.h: Don't include <errno.h>,
84525         <sys/param.h>, <time.h>; not needed to establish interface.
84526         (errno): Remove decl.
84527         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
84528         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
84529         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
84530
84531 2004-11-28  Simon Josefsson  <jas@extundo.com>
84532
84533         * lib/base64.h, base64.c: New file.
84534
84535 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
84536
84537         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
84538
84539 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
84540
84541         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
84542         (Depends-on): Remove pathmax, same.  Add mempcpy.
84543         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
84544         (Makefile.am): Append getcwd.h to lib_SOURCES.
84545         (Include): Add getcwd.h.
84546         (Maintainer): Change from Jim Meyering to "all, glibc",
84547         since getdate now uses intended-for-glibc code.
84548         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
84549         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
84550
84551 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
84552
84553         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
84554         HP's ANSI C compiler.
84555         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
84556         Declaring int functions causes warnings on some modern systems and
84557         shouldn't be needed to compile on ancient ones.
84558         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
84559         defined.
84560
84561         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
84562         with the following changes.
84563         (__set_errno): Parenthesize properly.
84564         Include <stdbool.h>.
84565         (MIN, MAX, MATCHING_INO): New macros.
84566         (__getcwd): Define with prototype, not K&R form.
84567         Use heuristics to allocate default buffer on stack if possible.
84568         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
84569         behavior, and to avoid the PATH_MAX limit when computing
84570         ../../../../...
84571         Use MATCHING_INO to compare inode number to file.
84572         Check for arithmetic overflow in size calculations.
84573         Fix bug in reallocation of dot array that caused getcwd to fail
84574         on directories nested deeper than 75.
84575         Be more careful about saving errno on error.
84576         Do not use realloc; use only free+malloc, as this is a bit
84577         more flexible and avoids a needless copy operation.
84578         Do not inspect st_dev and st_ino for symbolic links; POSIX
84579         doesn't specify the latter.
84580         Check for closedir errors.
84581         Avoid needless casts.
84582         Use "#ifdef weak_alias" around weak_alias, to be like other
84583         glibc code.
84584         The following changes to getcwd.c have effect only when used in
84585         gnulib; they have no effect inside glibc proper.
84586         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
84587         as alloca isn't used.
84588         (alloca, __alloca): Likewise.
84589         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
84590         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
84591         unconditionally, as gnulib assumes C89 or better.
84592         Do not include <sys/param.h>.
84593         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
84594         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
84595         better.
84596         (NULL) [!defined NULL]: Remove; we assume C89 or better.
84597         Include <dirent.h> in a way that is compatible with modern Autoconf.
84598         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
84599         New macros, if not already defined.
84600         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
84601         Use "_LIBC", not "defined _LIBC", for consistency.
84602         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
84603         a mempcpy module.
84604         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
84605         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
84606         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
84607         credit only to Jim Meyering and adjust the copyright dates.
84608         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
84609         <stdlib.h>, <unistd.h>, "pathmax.h".
84610         Instead, include "xgetcwd.h" (first) and "getcwd.h".
84611         (INITIAL_BUFFER_SIZE): Remove.
84612         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
84613
84614 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
84615
84616         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
84617         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
84618         Use the _ONCE methods, for efficiency.
84619         Check for fcntl.h.  In test program, include <errno.h>
84620         and <fcntl.h> if available.  Remove old K&R cruft from
84621         test program.  Check for common errors in GNU/Linux,
84622         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
84623         don't do AC_LIBOBJ, as that's getcwd.m4's job.
84624         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
84625         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
84626         name accordingly.
84627         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
84628         accommodate new getcwd.c.
84629         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
84630         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
84631         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
84632         that's all we need now.
84633
84634 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84635
84636         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
84637         argp-parse.c depends on getopt internals, that means we should
84638         always use our getopt, to be on the safe side.
84639         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
84640         order not to spoil the result of an eventual previous invocation
84641         of gl_GETOPT_SUBSTITUTE.
84642
84643 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84644
84645         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
84646         redefinition warnings. To avoid them, include the defines
84647         in `#if !defined __need_getopt ... #endif'. The only place
84648         where __getopt_argv_const is used is in definitions
84649         of getopt_long and getopt_long_only below, which are as well
84650         protected by `#ifndef __need_getopt'.
84651         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
84652         __need_getopt after including <stdio.h> and <unistd.h> These
84653         headers might have defined it.
84654
84655 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
84656
84657         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
84658
84659 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
84660
84661         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
84662         (futimens): New function, which uses futimes if available.
84663         (futimens, utimens): Support timespec==NULL, with same semantics
84664         as utime and utimens.
84665         * lib/utimens.h (futimens): New decl.
84666
84667 2004-11-23  Jim Meyering  <jim@meyering.net>
84668
84669         * lib/getopt_.h: Remove trailing blanks.
84670
84671 2004-11-23  Jim Meyering  <jim@meyering.net>
84672
84673         * lib/__fpending.c: Add comment.
84674
84675 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
84676
84677         * modules/canonicalize (Depends-on): Add xreadlink.
84678         Problem reported by James Youngman.
84679
84680 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
84681
84682         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
84683         New macros.
84684         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
84685         optopt): Use them instead of invoking ## directly; otherwise, the
84686         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
84687
84688 2004-11-19  Bruno Haible  <bruno@clisp.org>
84689
84690         * lib/strtok_r.c: Move comments from here...
84691         * lib/strtok_r.h: ... to here.
84692
84693 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
84694
84695         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
84696         implementations that mishandle size_t overflow.
84697
84698 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
84699
84700         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
84701         might fail.  Problem reported by Yoann Vandoorselaere.
84702         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
84703         implementations that mishandle size_t overflow.
84704
84705 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
84706
84707         * modules/canon-host (Depends-on): Add strdup.
84708
84709 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
84710
84711         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
84712
84713 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
84714
84715         * lib/canon-host.c: Include "strdup.h".
84716         (canon_host): Use getaddrinfo if available, so that IPv6 works.
84717         Use strdup instead of malloc/strcpy to duplicate strings.
84718
84719         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
84720         (human_space_before_unit): New constant.
84721         * lib/human.c (human_readable): Support it.
84722
84723         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
84724         (xgetcwd): Set errno correctly when failing.
84725         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
84726         the failure is actually due to a PATH_MAX problem.
84727
84728         Further getopt changes to make it more likely that glibc will
84729         buy the changes back.
84730         * lib/getopt.c (POSIXLY_CORRECT): New constant.
84731         (getopt): Use it, so to preserve glibc semantic
84732         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
84733         when compiling for libc.
84734         * lib/getopt_.h (__getopt_argv_const): Bring it back.
84735         (getopt_long, getopt_long_only): Use it.
84736
84737         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
84738         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
84739         (getopt): Argv is now char * const *, as per standard.
84740         (_getopt_internal_r, _getopt_internal): Argv is now char **,
84741         not char *__getopt_argv_const *.
84742         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
84743         _getopt_long_only_r): Likewise.
84744         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
84745         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
84746         _getopt_long_r, _getopt_long_only_r): Likewise.
84747         * lib/getopt_.h (__getopt_argv_const): Remove.
84748         (getopt): Argv is now char * const *, as per standard.
84749
84750         * lib/getdate.y (tORDINAL): New token.
84751         (day, relunit): Allow it for relative times.
84752         (relative_time_table): Use tORDINAL for ordinals.
84753
84754 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
84755
84756         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
84757         Document that "second" isn't allowed as an ordinal number.
84758
84759 2004-11-16  Jim Meyering  <jim@meyering.net>
84760
84761         * modules/closeout (Depends-on): Add fpending.
84762
84763 2004-11-15  Jim Meyering  <jim@meyering.net>
84764
84765         * lib/closeout.c: Include "__fpending.h" once again.
84766         Include <stdbool.h>.
84767         (close_stdout): Don't fail just because stdout was closed initially,
84768         since some programs don't write to stdout in the normal course of
84769         operation (other than --version and --help), and we don't want this
84770         function to make e.g. `touch file >&-' fail.
84771         But do fail if it was closed and someone has tried to write to it.
84772         E.g., `printf foo >&-' must fail.
84773
84774 2004-11-13  Jim Meyering  <jim@meyering.net>
84775
84776         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
84777
84778 2004-11-12  Simon Josefsson  <jas@extundo.com>
84779
84780         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
84781         small doc fix is still pending.
84782
84783 2004-11-11  Simon Josefsson  <jas@extundo.com>
84784
84785         * modules/strtok_r: New file.
84786
84787         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84788         strtok_r.
84789
84790 2004-11-11  Simon Josefsson  <jas@extundo.com>
84791
84792         * m4/strtok_r.m4: New file.
84793
84794         * m4/getopt.m4: Replace opterr.
84795
84796 2004-11-11  Simon Josefsson  <jas@extundo.com>
84797
84798         * lib/strtok_r.h, strtok_r.c: New file.
84799
84800 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
84801
84802         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
84803         of replacing opterr, getopt, etc.  This should handle the
84804         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
84805
84806 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
84807
84808         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
84809         we can stop lying to compilers about the constness of argv when we
84810         are compiled outside glibc.
84811         (getopt, getopt_long, getopt_long_only): Use it.
84812         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
84813         _getopt_internal, getopt): Likewise.
84814         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
84815         _getopt_long_only_r): Likewise.
84816         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
84817         _getopt_long_r, _getopt_long_only_r): Likewise.
84818
84819         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
84820         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
84821         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
84822         the other external symbols.
84823         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
84824         declaration, since the above renaming now works around collisions.
84825
84826 2004-11-11  Jim Meyering  <jim@meyering.net>
84827
84828         * lib/linebreak.c: Remove trailing blanks.
84829         * lib/alloca_.h: Likewise.
84830         * lib/acosl.c: Likewise.
84831         * lib/euidaccess.c: Likewise.
84832         * lib/allocsa.h: Likewise.
84833
84834 2004-11-10  Simon Josefsson  <jas@extundo.com>
84835
84836         * m4/getaddrinfo.m4: New file.
84837
84838 2004-11-10  Simon Josefsson  <jas@extundo.com>
84839
84840         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
84841
84842 2004-11-10  Simon Josefsson  <jas@extundo.com>
84843
84844         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84845         getaddrinfo.
84846
84847         * modules/getaddrinfo: New file.
84848
84849 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
84850
84851         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
84852
84853 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
84854
84855         * lib/mktime.c (SHR): New macro, which is a portable
84856         substitute for >> that should work even on Crays.
84857         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
84858         Problem reported by Mark D. Baushke in
84859         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
84860         * lib/getdate.y (SHR): Likewise.
84861         (tm_diff): Use it.
84862         * lib/strftime.c (SHR): Likewise.
84863         (tm_diff): Use it.
84864         * lib/quotearg.c (struct quoting_options): Use unsigned int for
84865         quote_these_too, so that right shifts are well defined.  All uses
84866         changed.
84867
84868 2004-11-10  Jim Meyering  <jim@meyering.net>
84869
84870         Ensure that no close failure goes unreported.
84871         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
84872         return early when it seems there's nothing to flush.
84873         Don't include __fpending.h.
84874
84875 2004-11-10  Jim Meyering  <jim@meyering.net>
84876
84877         * modules/closeout (Depends-on): Remove fpending.
84878
84879 2004-11-10  Jim Meyering  <jim@meyering.net>
84880
84881         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
84882
84883 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
84884
84885         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
84886         gl_FUNC_STRFTIME.
84887         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
84888         and AC_REQUIRE when possible, to avoid duplicate checks.
84889         Check for <wchar.h>.
84890
84891 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
84892
84893         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
84894
84895 2004-11-09  Bruno Haible  <bruno@clisp.org>
84896
84897         * m4/sockpfaf.m4: New file.
84898
84899 2004-11-05  Bruno Haible  <bruno@clisp.org>
84900
84901         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
84902         Reported by Mark D. Baushke <mdb@cvshome.org>.
84903
84904 2004-11-04  Bruno Haible  <bruno@clisp.org>
84905
84906         2004-09-11  Bruno Haible  <bruno@clisp.org>
84907                 * allocsa.valgrind: New file.
84908         2004-02-06  Bruno Haible  <bruno@clisp.org>
84909                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
84910                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
84911                 Reported by Christopher Seip <chris.seip@hp.com>.
84912
84913 2004-11-04  Bruno Haible  <bruno@clisp.org>
84914
84915         * modules/allocsa (Files): Add lib/allocsa.valgrind.
84916         (Makefile.am): Distribute it.
84917
84918 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
84919
84920         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
84921         with errno == ERANGE if the buffer is too small.
84922         Problem reported by Mark D. Baushke.
84923
84924 2004-11-03  Albert Chin  <china@thewrittenword.com>
84925             Paul Eggert  <eggert@cs.ucla.edu>
84926
84927         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
84928         equivalent, substitute $ac_type for equivalent type rather than
84929         blindly using uint32_t *always* which won't work if uint32_t is not
84930         available.  Define _UINT32_T to work around typedef of uint32_t if
84931         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
84932         2.5.1.
84933
84934 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
84935
84936         * m4/jm-macros.m4: Sync from coreutils.
84937         (gl_MACROS): Check for mbrlen, for pathchk.
84938         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
84939
84940 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
84941
84942         * lib/xreadlink.c (MAXSIZE): New macro.
84943         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
84944         size does not exceed MAXSIZE.  Avoid cast.
84945         As suggested by Mark D. Baushke in
84946         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
84947         if readlink fails with buffer size just under MAXSIZE, try again
84948         with MAXSIZE.
84949
84950 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
84951
84952         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
84953
84954 2004-11-02  Derek R. Price  <derek@ximbiot.com>
84955         and  Paul Eggert  <eggert@cs.ucla.edu>
84956
84957         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
84958         (get_date): Overparenthesize to avoid GCC warning.
84959
84960 2004-11-02  Bruno Haible  <bruno@clisp.org>
84961
84962         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
84963         returns void.
84964
84965 2004-11-02  Bruno Haible  <bruno@clisp.org>
84966
84967         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
84968         function returns void.
84969
84970 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
84971
84972         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
84973         fflush_unlocked, flockfile, funlockfile, funlockfile,
84974         fputs_unlocked, putc_unlocked.
84975
84976 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
84977
84978         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
84979         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
84980         already declared.
84981
84982 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
84983
84984         * modules/getdate (Files): Add doc/getdate.texi.
84985         (Depends-on): Add setenv, xalloc.
84986
84987 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
84988
84989         * lib/getdate.y: Add support for TZ="foo" within a date string.
84990         Fix some bugs near time_t boundaries.  Reject dates with
84991         out-of-range components, e.g., "Sept 31".
84992         Include <stdlib.h>, "setenv.h", "xalloc.h".
84993         (ISDIGIT_LOCALE): Remove; unused.
84994         Note that the TZ and time functions used here are not reentrant.
84995         (mktime_ok, get_tz): New functions.
84996         (TZBUFSIZE): New constant.
84997         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
84998         This requires that we sometimes generate our own TZ="XXX..." setting.
84999
85000 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
85001
85002         * doc/getdate.texi: New file, from coreutils with modifications for
85003         the new TZ parsing.
85004
85005 2004-10-27  Derek R. Price  <derek@ximbiot.com>
85006
85007         * lib/mktime.c (not_equal_tm): Remove redundant check.
85008
85009 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
85010
85011         * modules/regex (lib_SOURCES): Add regex.c.
85012         Reported by James Youngman in
85013         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
85014
85015 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
85016
85017         * lib/getdate.y: Use Bison 1.875 features, and some minor
85018         code cleanups.  This change does not affect semantics.
85019         Don't include <stdlib.h>; no longer needed.
85020         Don't include unlocked-io.h; only the "#if TEST" code uses
85021         stdio, and performance isn't crucial there.
85022         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
85023         Bison 1.875 features as described below.
85024         All uses of "PC." replaced by "pc->".
85025         (YYSTYPE): Add a forward declaration.
85026         (yylex, yyerror): Use full prototypes in forward decls.
85027         Use "%pure-parser" rather than obsolescent "%pure_parser".
85028         Use %parse-param and %lex-param instead of obsolescent
85029         YYPARSE_PARAM and YYLEX_PARAM.
85030         (meridian_table, month_and_day_table, time_units_table,
85031         relative_time_table, time_zone_table, military_table,
85032         lookup_zone, lookup_word, get_date):
85033         Use NULL instead of 0 where appropriate.
85034         (to_hour): Avoid abort (), to avoid a dependency on
85035         stdlib.h.
85036         (yyerror, yylex): Now accepts parser_control * arg.
85037         (main) [TEST]: Use '\0' rather than 0 for char.
85038
85039 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
85040
85041         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
85042
85043 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
85044
85045         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
85046         It's now the caller's responsibility to handle the case where
85047         !HAVE_GETPAGESIZE && !defined getpagesize.
85048
85049         * lib/mktime.c (leapyear): Arg is long int, not int.
85050
85051 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
85052
85053         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
85054
85055 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
85056
85057         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
85058         missing.  Problem reported by James Youngman.
85059
85060 2004-10-16  Simon Josefsson  <jas@extundo.com>
85061
85062         * gnulib-tool: Fix comments.  Fix parse problem.
85063         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
85064
85065 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
85066
85067         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
85068         implementation of getopt_long.  Problem reported by Alexander Taler in:
85069         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
85070
85071 2004-10-15  Bruno Haible  <bruno@clisp.org>
85072
85073         * gnulib-tool: Untabify. Initialize supplied_libname.
85074         (func_usage): More homogenous output.
85075         (func_modules_transitive_closure, func_modules_to_filelist,
85076         func_emit_lib_Makefile_am): New functions.
85077         (func_import): New function, extracted from big case statement. Use
85078         func_get_license, func_modules_transitive_closure,
85079         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
85080         opt_lgpl. Don't use test -a, as it's not portable.
85081         (func_create_testdir): Use func_modules_transitive_closure,
85082         func_modules_to_filelist, func_emit_lib_Makefile_am.
85083
85084 2004-10-15  Bruno Haible  <bruno@clisp.org>
85085
85086         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
85087
85088 2004-10-15  Bruno Haible  <bruno@clisp.org>
85089
85090         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
85091         the portions belonging to each module.
85092         Suggested by Derek Robert Price <derek@ximbiot.com>.
85093
85094 2004-10-12  Simon Josefsson  <jas@extundo.com>
85095
85096         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
85097         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
85098         to real functions.
85099
85100 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85101
85102         * modules/vsnprintf: New file.
85103
85104 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85105
85106         * m4/vsnprintf.m4: New file.
85107
85108 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85109
85110         * lib/vsnprintf.h: New file.
85111         * lib/vsnprintf.c: New file.
85112
85113 2004-10-11  Bruno Haible  <bruno@clisp.org>
85114
85115         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
85116         vsnprintf.
85117
85118 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
85119
85120         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
85121
85122 2004-10-07  Bruno Haible  <bruno@clisp.org>
85123
85124         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
85125         fits into the provided buffer.
85126
85127 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
85128
85129         * lib/diacrit.c, diacrit.h: Add GPL notice.
85130
85131         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
85132         notice.
85133         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
85134         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
85135         This avoids a potential constant-folding bug.
85136
85137 2004-10-05  Bruno Haible  <bruno@clisp.org>
85138
85139         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
85140         for the declaration of strsep.
85141
85142 2004-10-05  Bruno Haible  <bruno@clisp.org>
85143
85144         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
85145
85146 2004-10-04  Simon Josefsson  <jas@extundo.com>
85147
85148         * modules/memmem: New file.
85149         * tests/test-memmem.c: New file.
85150         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
85151
85152 2004-10-04  Simon Josefsson  <jas@extundo.com>
85153
85154         * m4/memmem.m4: New file.
85155
85156 2004-10-04  Simon Josefsson  <jas@extundo.com>
85157
85158         * lib/memmem.h: New file.
85159         * lib/memmem.c: New file, taken from glibc.
85160
85161 2004-10-04  Simon Josefsson  <jas@extundo.com>
85162
85163         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
85164         '#ifdef USE_UNLOCKED_IO'.
85165
85166 2004-10-04  Simon Josefsson  <jas@extundo.com>
85167
85168         * config/srclist.txt: Add memmem from glibc.
85169
85170 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85171
85172         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
85173
85174         * modules/argmatch, modules/argp, modules/closeout, modules/error,
85175         modules/exclude, modules/getdate, modules/getline,
85176         modules/getndelim2, modules/getpass, modules/getpass-gnu,
85177         modules/getusershell, modules/linebuffer, modules/md5,
85178         modules/mountlist, modules/posixtm, modules/readtokens,
85179         modules/readutmp, modules/regex, modules/sha1,
85180         modules/version-etc, modules/yesno:
85181         Remove dependency on unlocked-io.
85182
85183 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85184
85185         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
85186
85187         * m4/unlocked-io.m4: Add copyright notice.
85188         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
85189
85190 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85191
85192         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
85193         * lib/xmalloc.c (xmemdup): Likewise.
85194         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
85195         XFREE): Remove these long-obsolescent macros.
85196         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
85197         * lib/xstrdup.c: Remove.
85198
85199         * lib/regex.c (re_comp): Cast gettext return value to char *,
85200         Problem reported by Martin Neitzel via Mark D. Baushke.
85201
85202 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85203
85204         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
85205         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
85206         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
85207         regex.c, sha1.c, version-etc.c, yesno.c:
85208         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
85209         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
85210         the includer's responsibility.
85211
85212         Sync from coreutils.
85213
85214         * lib/modechange.c (mode_compile): Don't decrement a pointer that
85215         points to the start of a string, as the C Standard says the
85216         resulting behavior is undefined.
85217
85218         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
85219         simple -> simple_backups, numbered_existing ->
85220         numbered_existing_backups, numbered -> numbered_backups
85221         to avoid shadowing problems.  All uses changed.
85222         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
85223         * lib/backupfile.c (check_extension, numbered_backup):
85224         Rename locals to avoid shadowing 'basename'.
85225         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
85226         once.
85227
85228         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
85229         * lib/.cvsignore: Add getopt.h.
85230
85231 2004-10-04  Bruno Haible  <bruno@clisp.org>
85232
85233         * modules/README: New file.
85234         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
85235         not a module.
85236
85237 2004-10-02  Jim Meyering  <jim@meyering.net>
85238
85239         * lib/dirfd.h, getpagesize.h: Add copyright notice.
85240
85241 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85242
85243         * modules/strsep: New file.
85244
85245 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85246
85247         * m4/strsep.m4: New file.
85248
85249 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85250
85251         * lib/strsep.h: New file.
85252         * lib/strsep.c: New file.
85253
85254 2004-10-01  Simon Josefsson  <jas@extundo.com>
85255
85256         * lib/snprintf.c (snprintf): Handle size==0.
85257
85258 2004-10-01  Simon Josefsson  <jas@extundo.com>
85259             Bruno Haible  <bruno@clisp.org>
85260
85261         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
85262         (snprintf): Declare 'args'.
85263
85264 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
85265
85266         * lib/snprintf.c: Remove comments as to why each header is needed.
85267
85268 2004-10-01  Bruno Haible  <bruno@clisp.org>
85269
85270         * MODULES.html.sh: Add strsep.
85271
85272 2004-09-30  Simon Josefsson  <jas@extundo.com>
85273
85274         * modules/snprintf: New file.
85275
85276 2004-09-30  Simon Josefsson  <jas@extundo.com>
85277
85278         * m4/snprintf.m4: New file.
85279
85280 2004-09-30  Simon Josefsson  <jas@extundo.com>
85281
85282         * lib/snprintf.h, lib/snprintf.c: New files.
85283
85284 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85285
85286         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
85287         (hol_entry_help): Never translate an empty string.
85288         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
85289         * lib/argp.h (OPTION_NO_TRANS): New option.
85290
85291 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
85292
85293         * modules/argp (Maintainer): Replace Simon Josefsson
85294         by Sergey Poznyakoff.
85295
85296 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
85297
85298         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
85299         changes merged back into glibc.
85300
85301 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
85302
85303         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
85304
85305 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
85306
85307         * lib/xvasprintf.c: Include xalloc.h.
85308         (xvasprintf): Use xalloc_die, not xmalloc_die.
85309
85310 2004-09-29  Bruno Haible  <bruno@clisp.org>
85311
85312         * modules/alloca-opt: New file, derived from modules/alloca.
85313         * modules/allocsa: Depend on alloca-opt instead of alloca.
85314         * modules/setenv: Likewise.
85315         * modules/vasnprintf: Likewise.
85316         * MODULES.html.sh: Add alloca-opt.
85317
85318 2004-09-28  Simon Josefsson  <jas@extundo.com>
85319
85320         * gnulib-tool: New parameter --lgpl, to asseert that modules are
85321         LGPL, and to replace license template from GPL to LGPL.
85322
85323 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
85324
85325         * modules/dummy: Change license to LGPL.
85326
85327 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
85328
85329         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
85330
85331 2004-09-24  Simon Josefsson  <jas@extundo.com>
85332
85333         * modules/minmax (License): Change from GPL to LGPL.
85334
85335 2004-09-23  Simon Josefsson  <jas@extundo.com>
85336
85337         * gnulib-tool (--import): Typo.
85338
85339 2004-09-23  Simon Josefsson  <jas@extundo.com>
85340
85341         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
85342
85343 2004-09-22  Bruno Haible  <bruno@clisp.org>
85344
85345         * modules/*: Add 'License' field.
85346         * gnulib-tool: Accept --extract-license option.
85347         (func_get_license): New function.
85348
85349 2004-09-21  Bruno Haible  <bruno@clisp.org>
85350
85351         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
85352         Reported by Simon Josefsson.
85353
85354 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
85355
85356         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
85357         gl_AC_TYPE_LONG_LONG.
85358
85359 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
85360
85361         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
85362
85363 2004-09-18  Simon Josefsson  <jas@extundo.com>
85364         and  Paul Eggert  <eggert@cs.ucla.edu>
85365
85366         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
85367         calls with autoreconf.  Define GL_LIB.
85368
85369 2004-09-14  Karl Berry  <karl@gnu.org>
85370
85371         * config/srclist.txt: unsync setenv.c, sigh.
85372
85373 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
85374
85375         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
85376         Problem reported by Bruno Haible in:
85377         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
85378
85379 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
85380
85381         * config/srclist.txt: Comment out argp-pvh.c.
85382
85383 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
85384
85385         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
85386         in case some system header has #define'd it.  Problem reported by
85387         Soeren D. Schulze in
85388         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
85389
85390 2004-09-09  Karl Berry  <karl@gnu.org>
85391
85392         * regex.[ch]: delete from the root.  These were supposed to be
85393                 synced with emacs cvs, but this has not happened for about
85394                 a year, and anyway nothing else uses emacs regex.[ch].
85395                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
85396                 lib/regex[.ch] is untouched.
85397
85398 2004-09-09  Bruno Haible  <bruno@clisp.org>
85399
85400         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
85401
85402 2004-09-09  Bruno Haible  <bruno@clisp.org>
85403
85404         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
85405         modifications.
85406         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
85407
85408 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
85409
85410         * modules/xvasprintf: New file.
85411         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
85412
85413 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
85414
85415         * lib/xvasprintf.h: New file.
85416         * lib/xvasprintf.c: New file.
85417         * lib/xasprintf.c: New file.
85418
85419 2004-09-08  Bruno Haible  <bruno@clisp.org>
85420
85421         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
85422
85423 2004-09-08  Bruno Haible  <bruno@clisp.org>
85424
85425         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
85426         length is > INT_MAX.
85427         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
85428         more.
85429
85430 2004-09-08  Bruno Haible  <bruno@clisp.org>
85431
85432         * lib/stdint_.h: New file, taken from GNU clisp.
85433
85434 2004-09-08  Bruno Haible  <bruno@clisp.org>
85435             Oskar Liljeblad  <oskar@osk.mine.nu>
85436
85437         * modules/stdint: New file.
85438         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
85439
85440 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85441
85442         Import from coreutils.
85443         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
85444         strings on unbounded length.  alloca's performance benefits aren't
85445         that important here.
85446         (V_STRDUP): Remove.
85447         (parse_with_separator): New function, with most of the internals
85448         of the old parse_user_spec.  Allow user to omit both user and group,
85449         for compatibility with FreeBSD.
85450         Clone only the user name, not the entire spec.
85451         Do not set *uid, *gid unless entirely successful.
85452         Avoid memory leak in some failing cases.
85453         Fix regression for USER.GROUP reported by Dmitry V. Levin in
85454         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
85455         (parse_user_spec): Rewrite to use parse_with_separator.
85456
85457 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85458
85459         * modules/userspec: Don't depend on alloca.
85460
85461 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85462
85463         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
85464
85465 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
85466
85467         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
85468         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
85469         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
85470
85471 2004-08-16  Simon Josefsson  <jas@extundo.com>
85472
85473         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
85474         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
85475         Add --dry-run for --import.
85476         Let user provided command line parameters override configure.ac
85477         settings.
85478
85479 2004-08-12  Simon Josefsson  <jas@extundo.com>
85480
85481         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
85482         as discussed with Paul Eggert in threads rooted at
85483         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
85484         and
85485         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
85486         Before, the test was empty, and relied on ELIDE_CODE in source
85487         code.)
85488         (gl_PREREQ_GETOPT): New macro.
85489         (gl_GETOPT): Use them.
85490
85491 2004-08-12  Simon Josefsson  <jas@extundo.com>
85492
85493         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
85494         * lib/getopt_.h: Renamed from getopt.h.
85495
85496 2004-08-12  Simon Josefsson  <jas@extundo.com>
85497
85498         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
85499         Change default library name from libfoo to libgnu.
85500         Now, if you have a configure.ac that says:
85501                 gl_SOURCE_BASE(gl)
85502                 gl_M4_BASE(gl/m4)
85503                 gl_MODULES(error getopt etcetera)
85504                 gl_INIT
85505         you can import all you need by running:
85506                 ../gnulib/gnulib-tool --import
85507
85508         * modules/getopt (Files): Rename getopt.h to getopt_.h.
85509         (Makefile.am): Rewrite, use logic from argz.
85510         (Include): Use <getopt.h> instead of "getopt.h".
85511
85512 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
85513
85514         * modules/argp (Files): Add m4/unlocked-io.m4.
85515         (Depends-on): Add extensions.
85516
85517 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
85518
85519         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
85520         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
85521         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
85522         Check for program_invocation_name, program_invocation_short_name,
85523         flockfile, funlockfile, features.h, _getopt_long_only_r.
85524
85525 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
85526
85527         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
85528         its complicated substitute.
85529         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
85530         and program_invocation_name.
85531         (__argp_basename) [!_LIBC]: Remove; the only use was
85532         replaced by its body.
85533         (__argp_short_program_name): Change condition from
85534         !defined __argp_short_program_name to
85535         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
85536         to match argp-namefrob.h.
85537         (__argp_failure): Don't assume strerror_r returns char *.
85538         * lib/argp-parse.c (N_): Define unconditionally.
85539         (argp_default_options): Fill out initializers with 0 to avoid
85540         gcc warnings.
85541
85542 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
85543
85544         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
85545         getopt1.c.
85546
85547 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
85548
85549         Merge from coreutils.
85550
85551         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
85552
85553         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
85554         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
85555
85556 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
85557
85558         Merge from coreutils.
85559
85560         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
85561         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
85562         for Reliant Unix 5.43.
85563
85564         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
85565         (union fooround): Use uintmax_t, not long int.
85566         The rest is a merge from libc:
85567         [defined _LIBC]: Include <shlib-compat.h>.
85568         (_obstack) [defined _LIBC]: Remove after 2.3.4.
85569
85570         * lib/settime.c (settime): Recode to avoid warning with
85571         Sun Forte C 6U2.
85572
85573         * lib/strverscmp.c: Convert to UTF-8.
85574
85575 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
85576
85577         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
85578         m4/uintmax_t.m4.
85579
85580 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
85581
85582         * modules/xalloc-die: New file.
85583         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
85584
85585         * modules/md5 (Files): Add m4/uint32_t.m4.
85586         * modules/sha1: Renamed from modules/sha.
85587         (Files):
85588         Rename lib/sha.h to lib/sha1.h.
85589         Rename lib/sha.c to lib/sha1.c.
85590         Rename m4/sha.m4 to m4/sha1.m4.
85591         (lib_SOURCES): Likewise.
85592         (configure.ac): Rename gl_SHA to gl_SHA1.
85593         (Include): sha.h -> sha1.h.
85594
85595 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
85596
85597         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
85598         * m4/sha1.m4: Renamed from sha.m4.
85599         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
85600
85601 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
85602
85603         * lib/obstack.h (obstack_empty_p):
85604         Don't assume that chunk->contents is suitably aligned.
85605         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
85606         Likewise. Problem reported by Benno in
85607         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
85608
85609         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
85610         readable.  This could be improved further but it'd take some work.
85611
85612 2004-08-08  Simon Josefsson  <jas@extundo.com>
85613
85614         * modules/xgethostname (Depends-on): Remove exit and error (not
85615         used).
85616
85617         * modules/getpass-gnu: Add getpass.h.
85618         (Depends-on): Add stdbool.
85619         * modules/getpass: Add getpass.h.
85620
85621 2004-08-08  Simon Josefsson  <jas@extundo.com>
85622
85623         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
85624         Check getpass declaration.
85625
85626 2004-08-08  Simon Josefsson  <jas@extundo.com>
85627
85628         * lib/xgethostname.c: Don't include error.h (not used).
85629
85630         * lib/getpass.h: Add.
85631         * lib/getpass.c: Include getpass.h first.
85632
85633 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
85634
85635         * lib/xalloc-die.c: New file.
85636         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
85637         All uses removed.
85638         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
85639         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
85640         xalloc-die.c.
85641         (_, N_, xalloc_die): Move to xalloc-die.c.
85642         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
85643         so that we needn't mess with xalloc_msg_memory_exhausted.
85644
85645         * lib/sha1.h: Renamed from sha.h.
85646         (SHA1_H): Renamed from _SHA_H.
85647         (sha1_ctx): Renamed from sha_ctx.
85648         (sha1_init_ctx): Renamed from sha_init_ctx.
85649         (sha1_process_block): Renamed from sha_process_block.
85650         (sha1_process_bytes): Renamed from sha_process_bytes.
85651         (sha1_finish_ctx): Renamed from sha_finish_ctx.
85652         (sha1_read_ctx): Renamed from sha_read_ctx.
85653         (sha1_stream): Renamed from sha_stream.
85654         (sha1_buffer): Renamed from sha_buffer.
85655         * lib/sha1.c: Likewise; renamed from sha.c.
85656         Do not include <sys/types.h>.
85657         Include <stddef.h> rather than <stdlib.h>.
85658
85659 2004-08-08  Bruno Haible  <bruno@clisp.org>
85660
85661         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
85662         FILESYSTEM_PREFIX_LEN.
85663         * lib/progreloc.c: Likewise.
85664         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
85665
85666 2004-08-06  Simon Josefsson  <jas@extundo.com>
85667
85668         * modules/progname (Depends-on): Don't depend on stdbool.
85669
85670 2004-08-06  Simon Josefsson  <jas@extundo.com>
85671
85672         * modules/getsubopt: New file.
85673         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
85674         getsubopt.
85675
85676 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
85677
85678         More merge from coreutils.
85679
85680         * m4/utimens.m4, m4/utimecmp.m4: New files.
85681         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
85682         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
85683         prereq.m4, sha.m4: Import changes from coreutils.
85684
85685 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
85686
85687         More merge from coreutils.
85688         * modules/raise, modules/readtokens0, modules/utimens:
85689         * modules/utimecmp, module/xnanosleep: New files.
85690         * modules/strftime: Add lib/strftime.h.
85691         Change include from <time.h> to "strftime.h".
85692         * modules/yesno: Add lib/yesno.h.
85693         * modules/backupfile: Remove lib/addext.c.
85694         * modules/euidaccess: Add stat-macros.h.
85695         * modules/canonicalize, modules/euidaccess,
85696         modules/filemode, modules/lchown, modules/makepath,
85697         modules/rmdir, modules/stat: Likewise.
85698
85699 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
85700
85701         Merge from tar.
85702         * lib/argp-help.c (make_hol, hol_append): Don't assume that
85703         SIZE_MAX is a valid preprocessor constant.
85704         (__argp_basename): Change from "#ifndef _LIBC"
85705         to "#ifndef __argp_short_program_name", so that
85706         we don't compile these functions for tar.
85707
85708         More merges from coreutils.
85709         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
85710         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
85711         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
85712         * lib/addext.c: Remove; no longer needed.
85713         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
85714         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
85715         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
85716         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
85717         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
85718         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
85719         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
85720         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
85721         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
85722         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
85723         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
85724         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
85725         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
85726         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
85727         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
85728         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
85729         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
85730         Import changes from coreutils.
85731
85732 2004-08-05  Simon Josefsson  <jas@extundo.com>
85733
85734         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
85735
85736 2004-08-05  Simon Josefsson  <jas@extundo.com>
85737
85738         * m4/getsubopt.m4: New file.
85739
85740 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
85741
85742         Merge from coreutils.
85743
85744         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
85745         * m4/getcwd-path-max.m4: New files.
85746
85747         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
85748         FILESYSTEM_PREFIX_LEN ->
85749         FILE_SYSTEM_PREFIX_LEN.
85750         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
85751         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
85752         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
85753         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
85754
85755         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
85756         prerequisite modules now handle the DOS stuff.
85757         Don't check for unistd.h.
85758
85759 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
85760
85761         Merge from coreutils.
85762
85763         * lib/.gdb-history: Remove; this doesn't belong here.
85764
85765         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
85766         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
85767         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
85768         * lib/getcwd.c: New files.
85769
85770         * lib/dirname.h: Include <stdbool.h>.
85771         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
85772         for consistency with POSIX terminology.  All uses changed.
85773         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
85774         (strip_trailing_slashes): Use bool for booleans.
85775         * lib/stripslash.c (strip_trailing_slashes): Likewise.
85776
85777         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
85778         sometimes returns a positive errno value even when it succeeds.
85779         (print_errno_message) [!LIBC]: Fall back on strerror if
85780         __strerror_r fails.
85781
85782         * lib/path-concat.c (mempcpy): Don't define if a system header defines
85783         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
85784         (longest_relative_suffix): New function.
85785         (path_concat): Use it.  Assume first argument is not NULL.
85786         Port to DOS.  Omit redundant separators.
85787         Report an error instead of returning NULL.
85788         Use mempcpy instead of memcpy.
85789         (xpath_concat): Remove: not declared or used.
85790
85791         * lib/same.h: Include <stdbool.h>
85792         (same_name): Return bool, not int.
85793         * lib/same.c (same_name): Likewise.
85794         (errno): Don't declare; we assume C89 or better now.
85795
85796         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
85797         if not already defined.
85798
85799         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
85800         * lib/dup-safer.c (errno): Likewise.
85801
85802 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
85803
85804         Merge from coreutils.
85805         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
85806         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
85807         * modules/path-concat: Don't depend on strdup.
85808
85809 2004-08-03  Simon Josefsson  <jas@extundo.com>
85810
85811         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
85812         * lib/progname.h: Don't include stdbool.h.
85813
85814 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
85815
85816         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
85817         * MODULES.html.sh (func_all_modules): Remove fatal.
85818
85819 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
85820
85821         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
85822
85823 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
85824
85825         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
85826         working.
85827
85828 2004-08-02  Simon Josefsson  <jas@extundo.com>
85829
85830         * lib/getsubopt.h: New file, with comments from Bruno Haible.
85831         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
85832         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
85833
85834 2004-08-01  Simon Josefsson  <jas@extundo.com>
85835
85836         * lib/xgetdomainname.c: Include stdlib.h, for free().
85837
85838 2004-07-19  Bruno Haible  <bruno@clisp.org>
85839
85840         * MODULES.html.sh (func_all_modules): Add dummy.
85841
85842 2004-07-16  Simon Josefsson  <jas@extundo.com>
85843
85844         * modules/dummy: New file.
85845
85846 2004-07-16  Simon Josefsson  <jas@extundo.com>
85847
85848         * lib/dummy.c: New file.
85849
85850 2004-07-16  Bruno Haible  <bruno@clisp.org>
85851
85852         * lib/backupfile.h: Add extern "C" for C++.
85853         * lib/closeout.h: Likewise.
85854         * lib/copy-file.h: Likewise.
85855         * lib/findprog.h: Likewise.
85856         * lib/full-write.h: Likewise.
85857         * lib/pathname.h: Likewise.
85858         * lib/progname.h: Likewise.
85859         * lib/stpcpy.h: Likewise.
85860         * lib/stpncpy.h: Likewise.
85861         * lib/strcase.h: Likewise.
85862         * lib/strstr.h: Likewise.
85863         * lib/xalloc.h: Likewise.
85864
85865         * lib/mbswidth.h: Add extern "C" for C++.
85866         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
85867
85868 2004-07-13  Robert Millan  <robertmh@gnu.org>
85869
85870         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
85871
85872 2004-07-09  Simon Josefsson  <jas@extundo.com>
85873
85874         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
85875         failed without this.)
85876
85877 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
85878
85879         * modules/chown (Files): Add lib/fchown-stub.c, since
85880         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
85881
85882 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
85883
85884         * lib/fchown-stub.c: New file.
85885
85886 2004-06-24  Jim Meyering  <jim@meyering.net>
85887
85888         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
85889
85890 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
85891
85892         * modules/argz: Omit "#include".
85893
85894         * MODULES.html.sh (func_all_modules): Add calloc, to match
85895         2004-06-01 addition of calloc module.
85896
85897 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
85898
85899         * m4/argz.m4: New file, which is autoupdated from libtool.
85900
85901 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
85902
85903         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
85904         libtool.
85905
85906 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
85907
85908         * config/srclist-update: Don't insist on "USA." before the
85909         close-comment, as libtool omits the period and puts the */ on a
85910         separate line.
85911         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
85912         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
85913
85914 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
85915
85916         * modules/argz: New file.
85917         * MODULES.html.sh (func_all_modules): Add argz.
85918
85919 2004-06-12  Jim Meyering  <jim@meyering.net>
85920         and  Paul Eggert  <eggert@cs.ucla.edu>
85921
85922         * modules/hash (Files): Add lib/xalloc.h.
85923         * modules/pipe (Depends-on): Add wait-process.
85924         * modules/stat (Depends-on): Add xalloc.
85925         * modules/userspec (Files): Add lib/userspec.h.
85926         * modules/xstrto
85927
85928         Upgrade from gettext-0.13.
85929         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
85930         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
85931         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
85932
85933 2004-06-10  Jim Meyering  <jim@meyering.net>
85934
85935         * lib/calloc.c: New file.
85936
85937 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
85938
85939         * lib/getdate.y (yylex): Allow space between sign and number.
85940         Problem reported by Dan Jacobson.
85941
85942 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
85943
85944         Merge from coreutils CVS.
85945
85946         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
85947         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
85948         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
85949         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
85950         xstrtol.m4: Fix copyright date and/or serial number.
85951
85952         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
85953         See if we need an fchown replacement.
85954         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
85955         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
85956         and use the replacement function if we detect either defect.
85957
85958         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
85959         gl_UTIMECMP.
85960
85961 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
85962         and  Jim Meyering  <jim@meyering.net>
85963
85964         Merge from coreutils CVS.
85965
85966         * lib/stat-macros.h: New file, with contents from file-type.h
85967         and coreutils' system.h.
85968         * lib/file-type.c: Include "stat-macros.h".
85969         * lib/file-type.h (file_type): Move all macro definitions to new file,
85970         stat-macros.h.
85971
85972         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
85973         Wrap old code with this conditional.
85974         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
85975         function that does not dereference symlinks.
85976         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
85977
85978         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
85979         dependency problems.
85980         (xreadlink): Accept new arg SIZE, for efficiency.
85981         All decls and uses changed.
85982         * lib/xreadlink.h: Include <stddef.h>, for size_t.
85983
85984         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
85985         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
85986
85987         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
85988         sysexits.h.
85989
85990 2004-06-01  Jim Meyering  <jim@meyering.net>
85991
85992         * m4/calloc.m4: New file.
85993
85994 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
85995
85996         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
85997         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
85998         Also, fix a typo in a diagnostic.
85999
86000 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
86001
86002         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
86003         or AC_FUNC_REALLOC.
86004
86005 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
86006
86007         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
86008         macros to be defined.
86009         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
86010         the allocator returns NULL because the requested size is zero.
86011
86012 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86013
86014         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
86015         var.  Add comment explaining why libc still defines it.  This
86016         merges the following patch from glibc:
86017         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
86018
86019 2004-05-20  Andreas Schwab  <schwab@suse.de>
86020
86021         * m4/free.m4: Replace free if it not known to work, not the other
86022         way round.
86023
86024 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
86025
86026         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
86027         present in glibc since revision 1.1 of this file.
86028         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
86029         obstack_alignment_mask, obstack_alloc, obstack_base,
86030         obstack_blank, obstack_blank_fast, obstack_chunk_size,
86031         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
86032         obstack_grow0, obstack_init, obstack_int_grow,
86033         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
86034         obstack_next_free, obstack_object_size, obstack_ptr_grow,
86035         obstack_ptr_grow_fast, obstack_room): Remove declarations of
86036         nonexistent functions.
86037
86038 2004-05-18  Karl Berry  <karl@gnu.org>
86039
86040         * config/srclist.txt: break link for vasnprintf.c.
86041
86042 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
86043
86044         Port obstack to the AS/400, where pointers are 16 bytes wide and
86045         you cannot cast an integer to a valid pointer.  This patch is
86046         currently waiting to be integrated into glibc; see
86047         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
86048
86049         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
86050         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
86051         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
86052         (struct obstack): temp member is now a union of a pointer and
86053         an integer, instead of an integer.  All integer uses changed.
86054         This does not affect the physical layout of struct obstack,
86055         except on hosts (like the AS/400) where the size or alignment of
86056         void * is greater than that of ptrdiff_t.
86057         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
86058         __STDC__)]: Store temporary in pointer member of union, not
86059         integer member.
86060         * lib/obstack.c: Include <stddef.h>, for offsetof.
86061         (struct fooalign): Remove; it doesn't need a name.
86062         (union fooround): Change double to long double, and add void *.
86063         (DEFAULT_ALIGNMENT): Use offsetof to compute.
86064         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
86065         not a macro.  Hence the values are always int; so remove all
86066         casts-to-int in uses.
86067
86068 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
86069
86070         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
86071         we can get this patch merged into glibc.
86072
86073 2004-05-17  Derek R. Price  <derek@ximbiot.com>
86074             Paul Eggert  <eggert@cs.ucla.edu>
86075
86076         * m4/argp: Depend on alloca.
86077
86078 2004-05-17  Derek R. Price  <derek@ximbiot.com>
86079             Paul Eggert  <eggert@cs.ucla.edu>
86080
86081         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
86082         freecoding.
86083
86084 2004-05-17  Bruno Haible  <bruno@clisp.org>
86085
86086         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
86087         precision that consists of a '.' followed by an empty digit string.
86088         Patch by Tor Lillqvist <tml@iki.fi>.
86089
86090 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
86091
86092         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
86093         for backward compatibility with older code.  We need our own
86094         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
86095         it under some other name, and our alloca.h will define it.
86096
86097 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
86098             Derek Price  <derek@ximbiot.com>
86099
86100         * lib/alloca.c: Include <alloca.h>, to get our interface.
86101         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
86102         include <alloca.h> first.  Use C89 prototype for alloca; this
86103         requires including <stddef.h> for size_t.  Use extern "C" if C++.
86104         Use #elif for simplicity, since we can assume C89 now.
86105         Don't try to source the system alloca.h since it will not be found
86106         and to prevent recursively including its replacement.
86107         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
86108         * lib/regex.c: Likewise.
86109
86110 2004-05-16  Derek Price  <derek@ximbiot.com>
86111             Paul Eggert  <eggert@cs.ucla.edu>
86112
86113         getline cleanup.  This changes the getndelim2 API: both order of
86114         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
86115         no delimiter).
86116
86117         * lib/getline.c: Don't include stddef.h or stdio.h, since our
86118         interface does that.
86119         (getline): Always use getdelim, so that we don't have two
86120         copies of this code.
86121         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
86122         if available.
86123         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
86124         (GETNDELIM2_MAXIMUM): New macro.
86125         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
86126         instead of the old practice of delim2==0.  All callers changed.
86127         Return -1 on overflow, instead of returning junk.
86128         Do not set *linesize unless allocation succeeds.
86129         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
86130         that we include sys/types.h.
86131         * lib/getnline.h: Likewise.
86132         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
86133         (getndelim2): Reorder arguments.
86134         * lib/getnline.c (getnline, getndelim):
86135         Don't discard the NMAX argument.
86136         (getnline): Invoke getndelim, to avoid code duplication.
86137         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
86138         of (size_t) -1 by callers of the getnline family.
86139
86140 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
86141
86142         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
86143         Check for gettimeofday.
86144         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
86145         Check for settimeofday, stime.
86146
86147 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
86148
86149         * lib/nanosleep.c (suspended): Change its type from int to
86150         sig_atomic_t volatile.
86151         (first_call): Make it private to rpl_nanosleep, and have it
86152         be zero initially as that's a bit faster.
86153         (my_usleep): Round up fractional times instead of truncating them,
86154         as this is the usual meaning for 'sleep'.
86155
86156         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
86157         doesn't work.
86158         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
86159         (ENOSYS): Define if not defined.
86160         (settime): Fall back on stime if it exists and settimeofday fails.
86161         But don't bother with fallbacks if a method fails with errno == EPERM.
86162
86163 2004-05-11  Jim Meyering  <jim@meyering.net>
86164
86165         Prior to this change, the save_cwd caller required read access to the
86166         current directory on most systems (ones with the fchdir function).
86167
86168         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
86169         fails, try write-only, and finally, resort to using xgetcwd.
86170
86171 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
86172
86173         * lib/obstack.c, obstack.h: Import changes from libc.
86174
86175 2004-04-28  Bruno Haible  <bruno@clisp.org>
86176
86177         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
86178         also implicitly appends .exe to executables.
86179         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
86180         accepts Windows pathnames.
86181         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
86182         Treat Cygwin like Windows, since it now accepts Windows pathnames.
86183         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
86184         Treat Cygwin like Windows, since it now accepts Windows pathnames.
86185         Reported by Derek Robert Price <derek@ximbiot.com>.
86186
86187 2004-04-21  Karl Berry  <karl@gnu.org>
86188
86189         * config/srclist.txt (localcharset.c): break sync.
86190
86191 2004-04-20  Paul Eggert  <eggert@twinsun.com>
86192
86193         * m4/host-os.m4: Add a copyright notice.
86194
86195 2004-04-20  Jim Meyering  <jim@meyering.net>
86196
86197         Change UTILS_ to gl_ in AC_DEFINE'd names.
86198         Change utils_- and jm_-prefixed variables, too.
86199         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
86200         UTILS_FUNC_MKDIR_TRAILING_SLASH.
86201         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
86202
86203         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
86204         Don't emit trailing blanks.
86205         Also rename jm_-prefixed variables to have gl_ prefix.
86206
86207         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
86208         Also rename jm_-prefixed variables to have gl_ prefix.
86209
86210         * m4/jm-macros.m4: Reflect the renamings.
86211         * m4/prereq.m4: Likewise.
86212
86213 2004-04-20  Jim Meyering  <jim@meyering.net>
86214
86215         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
86216         memory.
86217
86218 2004-04-20  Jim Meyering  <jim@meyering.net>
86219             Bruno Haible  <bruno@clisp.org>
86220
86221         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
86222         memory when realloc fails.
86223
86224 2004-04-19  Jim Meyering  <jim@meyering.net>
86225
86226         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
86227         now that readutmp.c may call `free (0)'.
86228
86229 2004-04-19  Bruno Haible  <bruno@clisp.org>
86230
86231         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
86232         * m4/inttypes_h.m4: Likewise.
86233         * m4/stdint_h.m4: Likewise.
86234         * m4/intmax_t.m4: Likewise.
86235         * m4/uintmax_t.m4: Likewise.
86236
86237 2004-04-18  Jim Meyering  <jim@meyering.net>
86238
86239         * m4/prereq.m4: Don't forbid jm_ prefix.
86240
86241         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
86242         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
86243         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
86244         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
86245         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
86246         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
86247         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
86248         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
86249         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
86250         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
86251         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
86252         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
86253         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
86254         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
86255         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
86256         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
86257         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
86258         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
86259         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
86260
86261 2004-04-18  Jim Meyering  <jim@meyering.net>
86262
86263         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
86264         failure, don't leak memory and do call END_UTMP_ENT.
86265
86266 2004-04-16  Jim Meyering  <jim@meyering.net>
86267
86268         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
86269         coreutils' stat program.
86270         (gl_PREREQ): Don't require jm_PREREQ_STAT.
86271
86272 2004-04-11  Paul Eggert  <eggert@twinsun.com>
86273
86274         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
86275         C89.
86276         (CHAR_BIT): Remove, since we assume C89.
86277         Include <stdint.h> if available, as per current Autoconf CVS advice.
86278
86279 2004-03-31  Jim Meyering  <jim@meyering.net>
86280
86281         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
86282         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
86283         * m4/xalloc.m4: Likewise.
86284
86285 2004-03-30  Paul Eggert  <eggert@twinsun.com>
86286
86287         Merge from coreutils.
86288
86289         * m4/inttostr.m4: New file.
86290         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
86291         Require AM_STDBOOL_H and gl_TIMESPEC instead.
86292         Require gl_CLOCK_TIME.
86293         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
86294
86295 2004-03-30  Paul Eggert  <eggert@twinsun.com>
86296
86297         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
86298         not bool, to be more consistent with Unix conventions.
86299         Suggested by Bruno Haible.
86300
86301         Merge from coreutils.
86302
86303         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
86304         * lib/umaxtostr.c: New files.
86305
86306         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
86307         the usual <time.h> dance.
86308         (get_date): Change signature to support fractional time stamps.
86309         All callers changed.
86310         * lib/getdate.y: Include "getdate.h" first, as we can now
86311         assume C89 and don't need to worry about 'const'.
86312         Similarly, include "unlocked-io.h" near start, not in middle.
86313         Include <limits.h>.
86314         (textint.value): Use long int rather than int.
86315         (textint.digits): Use size_t rather than int.
86316         (BILLION, LOG10_BILLION): New constants.
86317         (parser_control): New member rel_ns.  Members day_ordinal,
86318         time_zone, month, day, hour, minutes, rel_year, rel_month,
86319         rel_day, rel_hour, rel_minutes, rel_seconds
86320         are now long int, not int.  Member seconds is now struct timespec,
86321         not int.  New member timespec_seen.  Members dates_seen, days_seen,
86322         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
86323         not int.
86324         (%union.intval): Now long int, not int.
86325         New member timespec.
86326         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
86327         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
86328         (spec): Now is a timespec or an item list.
86329         (timespec, items): New nonterminals.
86330         (time, rel, relunit, number, get_date):
86331         Add support for fractional seconds.
86332         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
86333         (gmtime, localtime, mktime): Remove decls; not needed with C89.
86334         (to_hour): First arg is now long int, not int.
86335         (to_year): Returns long int, not int.
86336         Don't treat year -70 like 70.
86337         (tm_diff): Returns long int, not int.
86338         (lookup_word): Use bool instead of int when appropriate.
86339         (yylex): Use size_t for count, not int.
86340         Detect overflow when parsing large integer constants.
86341         Add support for fractions.
86342         (get_date): Make pointers 'const' if possible.
86343         Use more-portable code to detect integer overflow.
86344         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
86345         Don't use ctime; it's not reliable if the year has >4 digits.
86346
86347         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
86348         This is for compatibility with BSD.
86349
86350         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
86351         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
86352         From coreutils' system.h.
86353
86354         * lib/userspec.c: Don't include "posixver.h".
86355         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
86356         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
86357         compatible extension.  Simplify code by removing a boolean int
86358         that was always nonzero if a string was nonnull.
86359
86360 2004-03-30  Jim Meyering  <jim@meyering.net>
86361
86362         Merge from coreutils.
86363
86364         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
86365         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
86366         on some systems one must include <grp.h> before it.
86367         Reported by Christian Krackowizer.
86368
86369 2004-03-30  Jim Meyering  <jim@meyering.net>
86370
86371         Merge from coreutils.
86372
86373         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
86374
86375         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
86376         an empty input stream.
86377
86378         * lib/readtokens.c: Include <stdbool.h>.
86379         (readtoken): Use `size_t' rather than int/long.
86380         All callers adjusted.
86381         Use `bool' rather than `int' where appropriate.
86382         Use memset rather than an explicit loop.
86383         Use x2nrealloc rather than xrealloc.
86384         Allow the use of `\0' as a delimiter.
86385         (readtokens): Likewise.
86386         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
86387
86388 2004-03-30  Jim Meyering  <jim@meyering.net>
86389
86390         * m4/realloc.m4: Remove file, since now it does no more than
86391         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
86392         the `configure.ac' section of module/realloc.
86393         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
86394
86395 2004-03-30  Bruno Haible  <bruno@clisp.org>
86396
86397         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
86398         nonnull.
86399
86400 2004-03-29  Paul Eggert  <eggert@twinsun.com>
86401
86402         Merge changes to getloadavg.c from coreutils and Emacs.
86403
86404         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
86405         Define to an expression, not to the empty string.
86406         Include cloexec.h and xalloc.h.
86407         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
86408         Use set_cloexec_flag rather than rolling our own.
86409         * lib/cloexec.c, lib/cloexec.h: New files.
86410
86411 2004-03-29  Paul Eggert  <eggert@twinsun.com>
86412
86413         * m4/cloexec.m4: New file.
86414
86415 2004-03-18  Paul Eggert  <eggert@twinsun.com>
86416
86417         * lib/getopt.h: Sync with libc CVS.
86418
86419 2004-03-18  Paul Eggert  <eggert@twinsun.com>
86420             Bruno Haible  <bruno@clisp.org>
86421
86422         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
86423         mbswidth.
86424
86425 2004-03-18  Paul Eggert  <eggert@twinsun.com>
86426             Bruno Haible  <bruno@clisp.org>
86427
86428         * lib/mbswidth.h: Include <wchar.h> only if
86429         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
86430         <wchar.h>.
86431         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
86432
86433 2004-03-09  Paul Eggert  <eggert@twinsun.com>
86434
86435         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
86436         Sync with libc CVS.
86437         * lib/getopt_int.h: New file, also synced from libc.
86438
86439 2004-03-09  Paul Eggert  <eggert@twinsun.com>
86440
86441         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
86442         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
86443         Bring back getopt.c, getopt.h, getopt1.c.
86444
86445 2004-03-07  Paul Eggert  <eggert@twinsun.com>
86446
86447         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
86448         All uses changed.  Check for sa_sigaction member; this fixes
86449         a bug first reported by Jason Andrade in
86450         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
86451
86452 2004-03-07  Paul Eggert  <eggert@twinsun.com>
86453
86454         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
86455         '#if' expressions.  Unlike the code it replaces, it does not
86456         depend on (defined _SC_PAGESIZE).  However, it does depend on
86457         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
86458         first reported by Jason Andrade in
86459         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
86460
86461 2004-02-25  Simon Josefsson  <jas@extundo.com>
86462
86463         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
86464
86465 2004-02-25  Simon Josefsson  <jas@extundo.com>
86466
86467         * lib/strdup.h: New file.
86468         * lib/strdup.c: Include it.
86469         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
86470         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
86471
86472 2004-02-23  Karl Berry  <karl@gnu.org>
86473
86474         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
86475         (from fencepost.gnu.org:/gd/gnuorg).
86476
86477 2004-02-23  Karl Berry  <karl@gnu.org>
86478
86479         * config/srclistvars.sh (GNUORG) [karl]: redefine.
86480         * config/srclist.txt: add maintain/standards documents.
86481
86482 2004-02-18  Bruno Haible  <bruno@clisp.org>
86483
86484         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
86485         Reported by Derek Robert Price <derek@ximbiot.com>.
86486
86487 2004-02-16  Karl Berry  <karl@gnu.org>
86488
86489         * config/mkinstalldirs, install-sh: update from automake.
86490
86491 2004-02-06  Karl Berry  <karl@gnu.org>
86492
86493         * m4/po.m4: update from gettext 0.14.1.
86494
86495 2004-02-06  Karl Berry  <karl@gnu.org>
86496
86497         * lib/config.charset: update from gettext 0.14.1.
86498
86499 2004-02-05  Paul Eggert  <eggert@twinsun.com>
86500
86501         Add comments and code, prompted by suggestions from Bruno Haible
86502         for sh-quote.
86503         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
86504         describing the enum quoting_style values.
86505         * lib/quotearg.c (quotearg_alloc): New function.
86506         (quotearg_buffer_restyled): Treat lone { and } as special.
86507         Treat = as special.  Work around bug with older shells
86508         that "see" a '\' that is really the 2nd byte of a multibyte char.
86509         Quote empty string with shell_quoting_style.
86510
86511 2004-02-03  Bruno Haible  <bruno@clisp.org>
86512
86513         * m4/pipe.m4: New file, from GNU gettext.
86514
86515 2004-02-03  Bruno Haible  <bruno@clisp.org>
86516
86517         * lib/pipe.h: New file, from GNU gettext.
86518         * lib/pipe.c: New file, from GNU gettext.
86519
86520 2004-01-27  Bruno Haible  <bruno@clisp.org>
86521
86522         * m4/execute.m4: New file, from GNU gettext.
86523
86524 2004-01-27  Bruno Haible  <bruno@clisp.org>
86525
86526         * lib/execute.h: New file, from GNU gettext.
86527         * lib/execute.c: New file, from GNU gettext.
86528         * lib/w32spawn.h: New file, from GNU gettext.
86529
86530 2004-01-24  Paul Eggert  <eggert@twinsun.com>
86531
86532         Merge from diffutils.
86533
86534         * lib/file-type.c (file_type): Add typed memory objects.
86535         * lib/file-type.h (S_TYPEISTMO): New macro.
86536
86537         * lib/c-stack.h (c_stack_action): Remove argv argument.
86538         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
86539         (die): Don't calculate message unless segv_action returns.
86540         (get_stack_location, min_address_from_argv, max_address_from_argv,
86541         volatile stack_base, volatile_stack_size): Remove.
86542         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
86543         that every segmentation violation is a stack overflow.  (Ouch!)
86544         See Debian bug 136249 (still outstanding) for more info about why
86545         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
86546
86547 2004-01-24  Paul Eggert  <eggert@twinsun.com>
86548
86549         Exit-status fix from coreutils.
86550
86551         Use exit_failure consistently in place of EXIT_FAILURE,
86552         so that program exit statuses are consistent on failure.
86553
86554         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
86555         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
86556         * lib/argmatch.h: Comment fix to match the above.
86557         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
86558         Now a macro referring to exit_failure, instead of a separate
86559         variable.  Include "exitfail.h" to get it.
86560         * lib/xstrtol.h: Include "exitfail.h".
86561         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
86562
86563         * lib/long-options.c (parse_long_options): Use prototype
86564         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
86565         for clarity.
86566
86567 2004-01-21  Jim Meyering  <jim@meyering.net>
86568
86569         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
86570         so as not to conflict with a different-sized __mktime_internal
86571         function in GNU libc.
86572         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
86573         Problem building statically-linked `ls' reported by Michael Brunnbauer.
86574
86575 2004-01-20  Karl Berry  <karl@gnu.org>
86576
86577         * config/config.guess: update from config.
86578
86579         * config/srclistvars.sh: GNUWWWLICENSES for karl.
86580
86581 2004-01-20  Bruno Haible  <bruno@clisp.org>
86582
86583         Safer stack allocation.
86584         * lib/setenv.c: Include allocsa.h.
86585         (alloca): Remove fallback definition.
86586         (freea): Remove macro.
86587         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
86588         instead of freea.
86589
86590 2004-01-20  Bruno Haible  <bruno@clisp.org>
86591
86592         * m4/eealloc.m4: New file, from GNU gettext.
86593
86594 2004-01-20  Bruno Haible  <bruno@clisp.org>
86595
86596         * m4/allocsa.m4: New file, from GNU gettext.
86597
86598 2004-01-20  Bruno Haible  <bruno@clisp.org>
86599
86600         * lib/xallocsa.h: New file, from GNU gettext.
86601         * lib/xallocsa.c: New file, from GNU gettext.
86602
86603 2004-01-20  Bruno Haible  <bruno@clisp.org>
86604
86605         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
86606
86607 2004-01-20  Bruno Haible  <bruno@clisp.org>
86608
86609         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
86610         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
86611         specially.
86612
86613 2004-01-20  Bruno Haible  <bruno@clisp.org>
86614
86615         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
86616         patch.
86617
86618 2004-01-20  Bruno Haible  <bruno@clisp.org>
86619
86620         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
86621
86622 2004-01-20  Bruno Haible  <bruno@clisp.org>
86623
86624         * lib/eealloc.h: New file.
86625
86626 2004-01-20  Bruno Haible  <bruno@clisp.org>
86627
86628         * lib/binary-io.h: Avoid warnings on Cygwin.
86629
86630 2004-01-20  Bruno Haible  <bruno@clisp.org>
86631
86632         * lib/allocsa.h: New file, from GNU gettext.
86633         * lib/allocsa.c: New file, from GNU gettext.
86634
86635 2004-01-18  Karl Berry  <karl@gnu.org>
86636
86637         * doc/gpl.texi, doc/lgpl.texi: new files.
86638
86639 2004-01-18  Karl Berry  <karl@gnu.org>
86640
86641         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
86642         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
86643
86644 2004-01-15  Paul Eggert  <eggert@twinsun.com>
86645
86646         Merge from coreutils.
86647
86648         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
86649         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
86650         (gl_DEFAULT_POSIX2_VERSION): Move
86651         the documentation from 'configure' into 'config.hin',
86652         so that 'configure --help' isn't burdened by it and
86653         we don't have to worry about its formatting there.
86654         Reword the documentation so that it's more succinct
86655         and can be run together into a single paragraph.
86656         * m4/same.m4 (gl_SAME): Check for pathconf.
86657
86658 2004-01-15  Paul Eggert  <eggert@twinsun.com>
86659
86660         Merge from coreutils.
86661
86662         * lib/posixver.c: Include posixver.h.
86663
86664         * lib/same.c: Include <stdbool.h>, <limits.h>.
86665         (_POSIX_NAME_MAX): Define if not defined.
86666         (MIN): New macro.
86667         (same_name): If file names are silently truncated, report
86668         that the file names are the same if they are the same after
86669         the silent truncation.
86670
86671         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
86672         conversion function.
86673         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
86674         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
86675         longer needed.
86676
86677 2004-01-15  Jim Meyering  <jim@meyering.net>
86678
86679         Merge from coreutils.
86680
86681         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
86682         if no library is required.
86683         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
86684         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
86685         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
86686         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
86687         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
86688         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
86689         value, $ac_cv_search_crypt, if it's "none required".
86690         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
86691         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
86692         not gl_FUNC_GETLOADAVG.
86693         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
86694         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
86695
86696 2004-01-15  Jim Meyering  <jim@meyering.net>
86697
86698         Merge from coreutils.
86699
86700         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
86701         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
86702         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
86703
86704         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
86705         optional configure-time default.
86706
86707         * lib/version-etc.c (version_etc_copyright): Update copyright date.
86708
86709         * lib/xreadlink.c (xreadlink): Correct outdated comment.
86710
86711 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
86712
86713         Merge from coreutils.
86714
86715         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
86716         value, $ac_cv_search_nanosleep, if it's "none required".
86717
86718 2004-01-14  Paul Eggert  <eggert@twinsun.com>
86719
86720         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
86721         with like-named macro in fnmatch.c.
86722         (EXT): Use an internal constant instead.
86723
86724         Merge fnmatch patches from glibc.
86725         * lib/fnmatch.c (mbsinit): Remove define.
86726         Add libc_hidden_ver (__fnmatch, fnmatch).
86727         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
86728         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
86729
86730 2004-01-14  Karl Berry  <karl@gnu.org>
86731
86732         * config/install-sh: update from automake.
86733
86734 2004-01-13  Karl Berry  <karl@gnu.org>
86735
86736         * config/install-sh: update from automake.
86737
86738 2004-01-09  Karl Berry  <karl@gnu.org>
86739
86740         * config/install-sh: update from automake.
86741
86742 2004-01-05  Karl Berry  <karl@gnu.org>
86743
86744         * config/config.{sub,guess}: update from config.
86745
86746 2003-12-31  Karl Berry  <karl@gnu.org>
86747
86748         * config/depcomp: update from automake.
86749
86750 2003-12-14  Karl Berry  <karl@gnu.org>
86751
86752         * lib/config.charset: update from gettext-runtime.
86753
86754 2003-12-03  Paul Eggert  <eggert@twinsun.com>
86755
86756         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
86757         Bug reported by Alfred M. Szmidt.
86758
86759 2003-12-03  Bruno Haible  <bruno@clisp.org>
86760
86761         * m4/gettext.m4: Upgrade from gettext-0.13.
86762         * m4/po.m4: Upgrade from gettext-0.13.
86763         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
86764         * m4/intmax.m4: New file, from gettext-0.13.
86765         * m4/printf-posix.m4: New file, from gettext-0.13.
86766
86767 2003-11-29  Karl Berry  <karl@gnu.org>
86768
86769         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
86770
86771 2003-11-25  Paul Eggert  <eggert@twinsun.com>
86772             Bruno Haible  <bruno@clisp.org>
86773
86774         * lib/printf-parse.h: Don't include sys/types.h.
86775         (ARG_NONE): New macro.
86776         (char_directive): Change type of *arg_index fields to size_t.
86777         * lib/printf-parse.c: Don't include sys/types.h.
86778         (SSIZE_MAX): Remove macro.
86779         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
86780         Remove unnecessary overflow check.
86781         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
86782         fields.
86783
86784 2003-11-25  Bruno Haible  <bruno@clisp.org>
86785
86786         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
86787
86788 2003-11-25  Bruno Haible  <bruno@clisp.org>
86789
86790         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
86791         gt_TYPE_SSIZE_T.
86792
86793 2003-11-24  Paul Eggert  <eggert@twinsun.com>
86794
86795         * modules/alloca: Remove dependency on xalloc.
86796
86797 2003-11-24  Paul Eggert  <eggert@twinsun.com>
86798
86799         * lib/alloca.c: Remove dependency on xalloc module.
86800         (xalloc_die): Remove.
86801         (memory_full) [!defined emacs]: New macro.
86802         [!defined emacs]: Don't include xalloc.h.
86803         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
86804         address arithmetic overflows.  Change datatypes a bit to avoid
86805         unnecessary casts.
86806
86807 2003-11-22  Jim Meyering  <jim@meyering.net>
86808
86809         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
86810         s/size/size_t/.
86811
86812 2003-11-21  Karl Berry  <karl@gnu.org>
86813
86814         * config/config.{sub,guess}: update from config.
86815
86816 2003-11-18  Karl Berry  <karl@gnu.org>
86817
86818         * config/config.{sub,guess}: update from config.
86819
86820         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
86821
86822 2003-11-17  Paul Eggert  <eggert@twinsun.com>
86823
86824         * README: Mention that S+T cannot overflow if S is the size of
86825         an existing object and T is sufficiently small.
86826
86827 2003-11-17  Jim Meyering  <jim@meyering.net>
86828
86829         On systems without utime and without a utimes function capable of
86830         dealing with a NULL struct utimbuf* argument, this utime replacement
86831         could -- in unusual circumstances -- leak a file descriptor.
86832         * lib/utime.c: Include <unistd.h> and <errno.h>.
86833         (utime_null): Be sure to close `fd' and to preserve errno.
86834         Reported by Geoff Collyer via Arnold Robbins.
86835
86836 2003-11-17  Bruno Haible  <bruno@clisp.org>
86837
86838         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
86839         (Depends-on): Add xsize.
86840
86841 2003-11-17  Bruno Haible  <bruno@clisp.org>
86842
86843         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
86844
86845 2003-11-17  Bruno Haible  <bruno@clisp.org>
86846
86847         * lib/vasnprintf.c (alloca): Remove fallback definition.
86848         (freea): Remove definition.
86849         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
86850         Reported by Paul Eggert.
86851
86852 2003-11-16  Paul Eggert  <eggert@twinsun.com>
86853             Bruno Haible  <bruno@clisp.org>
86854
86855         Protect against address arithmetic overflow.
86856         * lib/printf-args.h: Include stddef.h.
86857         (arguments): Change type of field 'count' to size_t.
86858         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
86859         'unsigned int' where appropriate.
86860         * lib/printf-parse.h: Include sys/types.h.
86861         (char_directive): Change type of *arg_index fields to ssize_t.
86862         (char_directives): Change type of fields 'count', max_*_length to
86863         size_t.
86864         * lib/printf-parse.c: Include sys/types.h and xsize.h.
86865         (SSIZE_MAX): Define fallback value.
86866         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
86867         instead of 'int' where appropriate. Check a_allocated, d_allocated
86868         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
86869         * lib/vasnprintf.c: Include xsize.h.
86870         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
86871         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
86872         overflow. Avoid wraparound when converting a width or precision from
86873         decimal to binary.
86874
86875 2003-11-16  Bruno Haible  <bruno@clisp.org>
86876
86877         Update from GNU gettext.
86878         * lib/printf-parse.c: Generalize to it can be compiled for wide
86879         strings.
86880         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
86881         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
86882         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
86883         SNPRINTF): New macros.
86884         Don't include <alloca.h> if the file is used inside libintl.
86885         (local_wcslen): New function, for Solaris 2.5.1.
86886         (VASNPRINTF): Use it instead of wcslen.
86887
86888 2003-11-16  Bruno Haible  <bruno@clisp.org>
86889
86890         * lib/xsize.h (xmax): New function.
86891         (xsum, xsum3, xsum4): Declare as "pure" functions.
86892
86893 2003-11-12  Paul Eggert  <eggert@twinsun.com>
86894
86895         * modules/xalloc (Files): Undo latest change, since xalloc.h
86896         no longer needs SIZE_MAX or PTRDIFF_MAX.
86897
86898 2003-11-12  Paul Eggert  <eggert@twinsun.com>
86899
86900         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
86901         gl_PTRDIFF_MAX.
86902
86903 2003-11-12  Paul Eggert  <eggert@twinsun.com>
86904
86905         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
86906         "return", to pacify some unknown compiler.  Problem reported
86907         by Joerg Schilling.
86908
86909 2003-11-12  Paul Eggert  <eggert@twinsun.com>
86910
86911         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
86912         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
86913         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
86914         heuristic is just as accurate as far as we know, and it removes a
86915         dependency on size_max.m4 and ptrdiff_max.m4.
86916
86917 2003-11-11  Bruno Haible  <bruno@clisp.org>
86918
86919         * modules/xsize (Files): Add m4/size_max.m4.
86920         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
86921
86922 2003-11-11  Bruno Haible  <bruno@clisp.org>
86923
86924         * m4/size_max.m4: New file.
86925         * m4/ptrdiff_max.m4: New file.
86926         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
86927         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
86928         (gl_XALLOC): Invoke it.
86929
86930 2003-11-11  Bruno Haible  <bruno@clisp.org>
86931
86932         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
86933         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
86934         defined.
86935
86936 2003-11-10  Paul Eggert  <eggert@twinsun.com>
86937
86938         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
86939         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
86940         rejected some allocations of exactly SIZE_MAX - 2 bytes.
86941         From Bruno Haible.
86942         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
86943         not (size_t) -1, since it's defined here.
86944
86945 2003-11-09  Karl Berry  <karl@gnu.org>
86946
86947         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
86948
86949 2003-11-06  Paul Eggert  <eggert@twinsun.com>
86950
86951         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
86952         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
86953         Reject sizes of exactly SIZE_MAX bytes.
86954         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
86955         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
86956
86957 2003-11-05  Bruno Haible  <bruno@clisp.org>
86958
86959         * lib/xsize.h: Include limits.h, to avoid a possible collision with
86960         SIZE_MAX defined in <limits.h> on Solaris.
86961
86962 2003-11-04  Jim Meyering  <jim@meyering.net>
86963
86964         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
86965         variable names, rather than @VAR@.
86966         * modules/poll: Likewise.
86967
86968 2003-11-04  Bruno Haible  <bruno@clisp.org>
86969
86970         * modules/xsize: New file.
86971         * modules/linebreak: Depend on xsize.
86972         * MODULES.html.sh (func_all_modules): Add xsize.
86973
86974 2003-11-04  Bruno Haible  <bruno@clisp.org>
86975
86976         * m4/xsize.m4: New file.
86977
86978 2003-11-04  Bruno Haible  <bruno@clisp.org>
86979
86980         * lib/xsize.h: New file.
86981         * lib/linebreak.c: Include xsize.h.
86982         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
86983         argument for overflow.
86984         Suggested by Paul Eggert.
86985
86986 2003-11-03  Karl Berry  <karl@gnu.org>
86987
86988         * config/config.{guess,sub}: update from config.
86989
86990 2003-11-03  Jim Meyering  <jim@meyering.net>
86991
86992         * modules/userspec (lib_SOURCES): Add userspec.h.
86993         (Include): Add "userspec.h".
86994         Improve description.
86995
86996 2003-11-03  Jim Meyering  <jim@meyering.net>
86997
86998         * lib/userspec.c: Include "userspec.h".
86999         * lib/userspec.h: New file.
87000
87001 2003-11-03  Bruno Haible  <bruno@clisp.org>
87002
87003         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
87004
87005 2003-11-03  Bruno Haible  <bruno@clisp.org>
87006
87007         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
87008         available, to avoid (extremely rare) race condition.
87009         Suggested by Paul Eggert.
87010
87011 2003-11-02  Karl Berry  <karl@gnu.org>
87012
87013         * config/srclist.txt (vasprintf.c): sync broken, sigh.
87014
87015 2003-10-31  Paul Eggert  <eggert@twinsun.com>
87016
87017         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
87018         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
87019         (read_filesystem_list): Set and use me_type_malloced.
87020         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
87021         whatever the type happens to be), for brevity and consistency.
87022         Check for size calculation overflow on Alphas running OSF/1.
87023
87024 2003-10-31  Jim Meyering  <jim@meyering.net>
87025
87026         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
87027
87028         * lib/linebuffer.c: Include <string.h> for declaration of memset.
87029
87030 2003-10-30  Paul Eggert  <eggert@twinsun.com>
87031             Bruno Haible  <bruno@clisp.org>
87032
87033         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
87034         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
87035
87036 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
87037
87038         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
87039         netbsd*-gnu*.  Suggested by Robert Millan.
87040
87041 2003-10-29  Paul Eggert  <eggert@twinsun.com>
87042
87043         * modules/group-member: Depend on stdbool.
87044
87045 2003-10-29  Paul Eggert  <eggert@twinsun.com>
87046
87047         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
87048
87049 2003-10-29  Paul Eggert  <eggert@twinsun.com>
87050
87051         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
87052         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
87053         after the 'gnu' in these cases.  This fixes some bugs in the
87054         previous change, and is based on suggestions by Robert Millan.
87055
87056 2003-10-29  Paul Eggert  <eggert@twinsun.com>
87057
87058         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
87059         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
87060         no longer needed.
87061         * lib/quotearg.c (quotearg_n_options): Use it.
87062         * lib/group-member.c: Include <stdbool.h>.
87063         (free_group_info): Arg is now const *; don't free arg.
87064         (get_group_info): Now returns bool and accepts struct group_info *,
87065         rather than returning a malloc'ed struct group_info *.
87066         All uses changed.  Check for overflow in internal size calculation.
87067
87068         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
87069         rather than xmalloc/xrealloc.
87070         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
87071         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
87072         conformance bug: the old code used a pointer after freeing the
87073         storage that it addressed.
87074         * lib/hash.c (hash_initialize): Simplify the code by using
87075         xalloc_oversized rather than doing it by hand.
87076         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
87077         the buffer preserved.  Use free and xmalloc instead.
87078         * lib/quotearg.c (quotearg_n_options): Likewise.
87079         Use a simpler test for size overflow.  Don't use xalloc_oversized
87080         because unsigned int might be wider than size_t (!); this suggests
87081         that we should switch from unsigned int to size_t for slot numbers.
87082
87083 2003-10-28  Paul Eggert  <eggert@twinsun.com>
87084
87085         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
87086         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
87087         NetBSD kernels.  Requested by Richard Stallman.
87088
87089 2003-10-27  Paul Eggert  <eggert@twinsun.com>
87090
87091         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
87092         to allocate the returned structure.  Do not allocate a subarray,
87093         as x2nrealloc will do that.
87094         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
87095         instead of xnrealloc.
87096         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
87097
87098 2003-10-27  Bruno Haible  <bruno@clisp.org>
87099
87100         * lib/stdbool_.h: Better support for BeOS.
87101
87102 2003-10-26  Paul Eggert  <eggert@twinsun.com>
87103
87104         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
87105         now uses inline.
87106
87107 2003-10-26  Paul Eggert  <eggert@twinsun.com>
87108
87109         * lib/xalloc.h (xalloc_oversized): New static inline function, for
87110         callers that want to do their own size-overflow checking.  Include
87111         <stdbool.h>, since xalloc_oversized returns bool.
87112         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
87113         to use xalloc_oversized.
87114
87115         Add two functions x2realloc, x2nrealloc, for programs that grow
87116         arrays dynamically by doubling their sizes.
87117         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
87118         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
87119         New functions.
87120
87121         Port to C99 semantics for 'inline' of external functions.
87122         Bug reported by Bruno Haible.
87123         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
87124         with the old contents of xnmalloc.
87125         (xnmalloc, xmalloc): Use it.
87126         (xnrealloc_inline): New static inline function,
87127         with the old contents of xnrealloc.
87128         (xnrealloc, xrealloc): Use it.
87129
87130         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
87131         that.
87132
87133 2003-10-26  Karl Berry  <karl@gnu.org>
87134
87135         * config/srclist.txt (COPYING.DOC): no longer available from
87136         /gd/gnuorg; don't know where the ultimate source is.
87137
87138 2003-10-25  Paul Eggert  <eggert@twinsun.com>
87139
87140         Fix several address-calculation bugs in the hash modules,
87141         plus some minor code cleanup.
87142
87143         * lib/hash.h: Include <stdbool.h>, for bool.
87144         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
87145         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
87146         hash_get_n_entries, hash_get_max_bucket_length,
87147         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
87148         hash_rehash): Use size_t rather than unsigned.
87149         * lib/hash.c (struct hash_table, hash_get_n_buckets,
87150         hash_get_n_buckets_used, hash_get_n_entries,
87151         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
87152         hash_get_entries, hash_do_for_each, hash_string, is_prime,
87153         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
87154         Likewise.
87155         (SIZE_MAX): Define if not defined.
87156         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
87157         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
87158         hash_print):
87159         Use const * when possible.
87160         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
87161         (check_tuning): Fix bug: if tuning parameters were very close to
87162         0 or 1, rounding errors could have caused subscript violations.
87163         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
87164         (hash_initialize): Add 'fail:' label
87165         to free table and return NULL, and use it to simplify code.
87166         Use calloc rather than clearing the storage ourself.
87167         (hash_initialize, hash_rehash): Check for arithmetic overflow in
87168         buffer size calculations.
87169         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
87170         Include <stddef.h>, for size_t.
87171         * lib/hash-pjw.c (hash_pjw): Likewise.
87172         Switch to method described by Bruno Haible.
87173         Include <limits.h>, for CHAR_BIT.
87174         (SIZE_BITS): New macro.
87175
87176 2003-10-23  Paul Eggert  <eggert@twinsun.com>
87177
87178         * m4/getline.m4 (AM_FUNC_GETLINE):
87179         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
87180         hosts.  Problem reported by Derek Robert Price in
87181         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
87182         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
87183         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
87184
87185 2003-10-21  Paul Eggert  <eggert@twinsun.com>
87186
87187         * lib/getndelim2.c (getndelim2): When size calculation overflows,
87188         ceiling the allocation at NMAX bytes rather than silently
87189         discarding input bytes before NMAX is reached.  This makes
87190         a difference only if NMAX exceeds SIZE_MAX / 2.
87191
87192         * lib/obstack.c: Merge from glibc.
87193         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
87194         Add libc_hidden_def (_obstack_newchunk).
87195         (_obstack_free) [! defined _LIBC]: Remove.
87196         [defined _LIBC]: Make a strong alias from obstack_free, rather than
87197         a clone of the function body.
87198         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
87199         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
87200
87201         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
87202         glibc.
87203         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
87204         arg to memcpy.
87205
87206         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
87207         (obstack_ptr_grow_fast, obstack_int_grow_fast):
87208         Don't use lvalue casts, as GCC plans to remove support for them
87209         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
87210         was also present in the non-GCC version, indicating that this
87211         code had always been buggy and had never been widely used.
87212         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
87213         Use the fast variant of each macro, rather than copying the
87214         definiens of the fast variant; that way, we'll be more likely to
87215         catch future bugs in the fast variants.
87216
87217 2003-10-20  Bruno Haible  <bruno@clisp.org>
87218
87219         * modules/wait-process: New file.
87220         * MODULES.html.sh (func_all_modules): Add wait-process.
87221
87222 2003-10-20  Bruno Haible  <bruno@clisp.org>
87223
87224         * m4/wait-process.m4: New file.
87225
87226 2003-10-20  Bruno Haible  <bruno@clisp.org>
87227
87228         * lib/wait-process.h: New file, from GNU gettext.
87229         * lib/wait-process.c: New file, from GNU gettext.
87230
87231 2003-10-19  Jim Meyering  <jim@meyering.net>
87232
87233         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
87234         HPUX 10.20.
87235
87236 2003-10-18  Karl Berry  <karl@gnu.org>
87237
87238         * config/config.guess: update from config.
87239
87240 2003-10-16  Paul Eggert  <eggert@twinsun.com>
87241
87242         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
87243         (getgroups): First arg is int, not size_t.
87244         Don't let 'free' mangle errno.
87245
87246 2003-10-16  Paul Eggert  <eggert@twinsun.com>
87247
87248         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
87249
87250 2003-10-16  Karl Berry  <karl@gnu.org>
87251
87252         * config/config.{guess,sub}: update from config.
87253
87254 2003-10-16  Jim Meyering  <jim@meyering.net>
87255
87256         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
87257         memcpy.
87258
87259 2003-10-15  Paul Eggert  <eggert@twinsun.com>
87260
87261         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
87262         (SIZE_MAX): Remove.
87263         (new_exclude, add_exclude_file): Initial size no longer needs to
87264         be a power of 2.
87265         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
87266         our own address arithmetic overflow checking.
87267
87268         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
87269         (fnmatch): Do not alloca more than 2000 wide characters;
87270         instead, use malloc for large buffers.
87271         Check for address arithmetic overflow, and return -1
87272         with errno set to ENOMEM in that case.
87273         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
87274         (NEW_PATTERN): Do not alloca more than 8000 bytes;
87275         instead, return -1.  Check for address arithmetic overflow.
87276
87277 2003-10-14  Paul Eggert  <eggert@twinsun.com>
87278
87279         Handle invalid suffixes and overflow independently, so that
87280         callers can treat them independently as needed.  Fix some bugs in
87281         suffix handling, e.g., "100k@" was not diagnosed as an invalid
87282         suffix for a human-readable blocksize.  The major caller-visible
87283         change is the addition of a new
87284         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
87285         that both overflow and suffix chars were found.
87286
87287         * lib/human.c (humblock): Don't check separately for invalid suffix
87288         char; that is xstrtoumax's job (now that its bug is fixed).
87289         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
87290         INTMAX_MAX]: New macros.
87291         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
87292         TYPE_MAXIMUM): New macros.
87293         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
87294         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
87295         if overflow occurs, as it's what __strtol does and it's more useful
87296         in practice.
87297         (__xstrtol): If __strtol reports some error other than ERANGE,
87298         reflect it to the caller as LONGINT_INVALID.  If it reports
87299         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
87300         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
87301         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
87302         value.
87303         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
87304         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
87305         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
87306         [defined UINTMAX_MAX]: New macros.
87307
87308 2003-10-14  Bruno Haible  <bruno@clisp.org>
87309
87310         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
87311
87312 2003-10-14  Bruno Haible  <bruno@clisp.org>
87313
87314         * m4/sig_atomic_t: New file, from GNU gettext.
87315         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
87316
87317 2003-10-14  Bruno Haible  <bruno@clisp.org>
87318
87319         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
87320         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
87321         Also use volatile where needed.
87322
87323 2003-10-12  Paul Eggert  <eggert@twinsun.com>
87324
87325         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
87326         Change maintainer from Bruno Haible to 'all'.
87327
87328 2003-10-12  Paul Eggert  <eggert@twinsun.com>
87329
87330         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
87331
87332 2003-10-12  Paul Eggert  <eggert@twinsun.com>
87333
87334         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
87335         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
87336         and define in terms of the other primitives.
87337         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
87338         (SIZE_MAX): Define if not already defined.
87339         (array_size_overflow): New function.
87340         (xalloc_die): Abort instead of exiting if 'error' returns.
87341         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
87342         (xmalloc, xrealloc): Use them.
87343         (xcalloc): Check for address arithmetic overflow.
87344         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
87345         a bit faster than strcpy.
87346
87347 2003-10-10  Simon Josefsson  <jas@extundo.com>
87348
87349         * modules/argp (Depends-on): Add restrict and strcase.
87350
87351 2003-10-10  Simon Josefsson  <jas@extundo.com>
87352
87353         * m4/argp.m4: Add AC_C_INLINE.
87354
87355 2003-10-08  Paul Eggert  <eggert@twinsun.com>
87356
87357         Merge getpass from libc, plus a few fixes.
87358
87359         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
87360         Include <stdbool.h>.
87361         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
87362         __fsetlocking to empty.
87363         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
87364         do include <bits/libc-lock.h>.
87365         Do not include <fcntl.h>; not needed.
87366         [_LIBC]: Include <wchar.h>.
87367         (NOTCANCEL_MODE): New macro.
87368         (flockfile, funlockfile) [_LIBC]: New macros.
87369         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
87370         [!_LIBC]: New macros.
87371         (call_fclose): New function.
87372         (getpass): Use it.  Save tty stream separately; this simplifies the
87373         code and makes it more reliable if stdin happens to equal stdout.
87374         Invoke __fsetlocking on tty.
87375         Handle thread cancellation if needed.
87376         Namespace cleanup (use __tcgetattr, __getline).
87377         Use bool for Booleans.
87378         [USE_IN_LIBIO]: Handle wide streams.
87379         [!_LIBC]: Unconditionally do the fseek, since we don't know what
87380         stream might go where.
87381
87382         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
87383         doesn't have to include <stdio.h> before us.
87384         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
87385         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
87386         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
87387         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
87388         if not declared, so that we can use getpass.c code from libc without
87389         rewriting it.
87390         (flockfile, ftrylockfile, funlockfile): New macros.
87391
87392 2003-10-08  Paul Eggert  <eggert@twinsun.com>
87393
87394         * modules/getpass: Depend on stdbool.
87395
87396 2003-10-08  Paul Eggert  <eggert@twinsun.com>
87397
87398         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
87399
87400 2003-10-07  Karl Berry  <karl@gnu.org>
87401
87402         * config/config.{guess,sub}: update from config.
87403
87404 2003-10-06  Jim Meyering  <jim@meyering.net>
87405             Bruno Haible  <bruno@clisp.org>
87406
87407         This lets translators provide better translations for the
87408         "Written by ..." part of --version output.
87409         * lib/version-etc.h: Include stdarg.h.
87410         (version_etc_copyright): Declare as readonly.
87411         (version_etc): Make this function variadic with a NULL-terminated list
87412         of author name strings.
87413         (version_etc_va): New declaration.
87414         * lib/version-etc.c: Include stdarg.h, stdlib.h.
87415         (version_etc_copyright): Declare as readonly.
87416         (version_etc_va): New function. Provide a different translatable string
87417         for each possible number of authors < 10. Abbreviate when there are 10
87418         authors or more.
87419         (version_etc): Make this function variadic. Call version_etc_va.
87420         Suggestion from Gary V. Vaughan.
87421
87422         * lib/long-options.h (parse_long_options): Change prototype: the
87423         authors string is moved to the end and becomes variadic.
87424         * lib/long-options.c: Include stdarg.h.
87425         (parse_long_options): Make this function variadic, too.
87426         Call version_etc_va, not version_etc.
87427
87428 2003-10-06  Bruno Haible  <bruno@clisp.org>
87429
87430         * modules/version-etc-2: Remove file.
87431         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
87432
87433 2003-10-06  Bruno Haible  <bruno@clisp.org>
87434
87435         * modules/fatal-signal: New file.
87436         * MODULES.html.sh (func_all_modules): Add fatal-signal.
87437
87438 2003-10-06  Bruno Haible  <bruno@clisp.org>
87439
87440         * m4/fatal-signal.m4: New file.
87441         * m4/signalblocking.m4: New file, from GNU gettext.
87442
87443 2003-10-06  Bruno Haible  <bruno@clisp.org>
87444
87445         * lib/version-etc-2.h: Remove file.
87446         * lib/version-etc-2.c: Remove file.
87447
87448 2003-10-06  Bruno Haible  <bruno@clisp.org>
87449
87450         * lib/fatal-signal.h: New file, from GNU gettext.
87451         * lib/fatal-signal.c: New file, from GNU gettext.
87452
87453 2003-10-05  Paul Eggert  <eggert@twinsun.com>
87454
87455         * README: Rework advice for preventing empty .o files.
87456         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
87457         not <sys/types.h>.
87458
87459 2003-10-04  Karl Berry  <karl@gnu.org>
87460
87461         * lib/argp*: update from libc.
87462
87463 2003-10-04  Karl Berry  <karl@gnu.org>
87464
87465         * config/config.{guess,sub}: update from config.
87466
87467 2003-10-02  Bruno Haible  <bruno@clisp.org>
87468
87469         * modules/lchown (Include): Add lchown.h.
87470         * modules/time_r (Include): Use "..." syntax.
87471         * modules/xgetdomainname (Include): Add xgetdomainname.h.
87472
87473 2003-10-01  Simon Josefsson  <jas@extundo.com>
87474
87475         * MODULES.html.sh (func_all_modules): Move gethostname from section
87476         'based on' to section 'lacking' POSIX:2001.
87477
87478 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
87479
87480         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
87481         to output mode on the same stream.
87482
87483 2003-09-29  Paul Eggert  <eggert@twinsun.com>
87484
87485         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
87486         Fix arg typo in previous patch.
87487
87488 2003-09-28  Jim Meyering  <jim@meyering.net>
87489
87490         * lib/error.c: Correct cpp indentation.
87491
87492 2003-09-27  Paul Eggert  <eggert@twinsun.com>
87493
87494         * modules/free: New file.
87495
87496 2003-09-27  Paul Eggert  <eggert@twinsun.com>
87497
87498         * m4/free.m4: New file.
87499
87500 2003-09-27  Paul Eggert  <eggert@twinsun.com>
87501
87502         * lib/minmax.h (MIN, MAX)
87503         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
87504         Omit the special code that used __typeof__, since we worry that
87505         it could be more trouble than it's worth.  See:
87506         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
87507         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
87508
87509         * lib/free.c: New file.
87510
87511 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
87512
87513         Trivial fixes to Makefile.am parts of module listings.
87514         * modules/strstr: Append strstr.h to lib_SOURCES.
87515         * modules/strcase: Likewise, for strcase.h.
87516
87517 2003-09-27  Karl Berry  <karl@gnu.org>
87518
87519         * config/mkinstalldirs: update from automake.
87520
87521 2003-09-26  Paul Eggert  <eggert@twinsun.com>
87522
87523         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
87524         (error_tail): Do not loop, reallocating temporary buffer, since
87525         the output cannot contain more wide characters than the input
87526         contains bytes, the size must be big enough already.  This avoids
87527         one potential size overflow calculation.  Check for size overflow
87528         when calculating temporary buffer size.  Free temporary buffer
87529         when done, if it was allocated with malloc; this plugs a memory
87530         leak.  Remove casts from void * to pointers, that are no longer
87531         needed now that we're assuming C89 or better.
87532
87533         Merge error changes from glibc.
87534
87535         * lib/error.c, error.h: Update copyright notice header to match glibc.
87536         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
87537         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
87538         Disable cancellation while printing error.
87539         * lib/error.h: Prepend __ to parameter names.
87540
87541 2003-09-26  Jim Meyering  <jim@meyering.net>
87542
87543         * lib/error.c (error_tail): Move some declarations
87544         into inner scope where the local variables are used.
87545
87546 2003-09-26  Bruno Haible  <bruno@clisp.org>
87547
87548         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
87549         stpncpy().
87550         Don't define stpncpy through config.h; it's now done through stpncpy.h.
87551
87552 2003-09-26  Bruno Haible  <bruno@clisp.org>
87553
87554         * lib/stpncpy.h (gnu_stpncpy): New declaration.
87555         (stpncpy): Define as alias for gnu_stpncpy.
87556         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
87557
87558 2003-09-25  Simon Josefsson  <jas@extundo.com>
87559
87560         * lib/xgetdomainname.h: New file.
87561         * lib/xgetdomainname.c: New file.
87562
87563 2003-09-25  Simon Josefsson  <jas@extundo.com>
87564             Bruno Haible  <bruno@clisp.org>
87565
87566         * modules/getdomainname: New file.
87567         * modules/xgetdomainname: New file.
87568         * MODULES.html.sh (func_all_modules): Add getdomainname,
87569         xgetdomainname.
87570
87571 2003-09-25  Simon Josefsson  <jas@extundo.com>
87572             Bruno Haible  <bruno@clisp.org>
87573
87574         * m4/getdomainname.m4: New file.
87575
87576 2003-09-25  Simon Josefsson  <jas@extundo.com>
87577             Bruno Haible  <bruno@clisp.org>
87578
87579         * lib/getdomainname.h: New file.
87580         * lib/getdomainname.c: New file.
87581
87582 2003-09-25  Karl Berry  <karl@gnu.org>
87583
87584         * lib/argp-fmtstream.c, argp-help.c: update from libc.
87585
87586 2003-09-25  Karl Berry  <karl@gnu.org>
87587
87588         * config/install-sh: update from automake.
87589
87590 2003-09-25  Bruno Haible  <bruno@clisp.org>
87591
87592         * modules/version-etc-2: New file, from modules/version-etc with
87593         modifications.
87594         * MODULES.html.sh (func_all_modules): Add version-etc-2.
87595
87596 2003-09-25  Bruno Haible  <bruno@clisp.org>
87597
87598         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
87599         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
87600
87601 2003-09-24  Simon Josefsson  <jas@extundo.com>
87602
87603         * modules/xgethostname: Add xgethostname.h.
87604
87605 2003-09-24  Paul Eggert  <eggert@twinsun.com>
87606
87607         * lib/linebuffer.c (freebuffer): Don't free the argument, just
87608         the buffer associated with the argument.  Bug reported by
87609         Simon Josefsson.
87610
87611 2003-09-24  Paul Eggert  <eggert@twinsun.com>
87612
87613         * README: Document assumptions that 'int' is at least 32 bits
87614         wide, that integer arithmetic is 2's complement without overflow,
87615         that there are no holes in integer values, that adding sizes of
87616         two nonoverlapping objects can't overflow, and that all-bits-zero
87617         yields scalar zero.  Fix spelling and capitalization typos.
87618
87619 2003-09-19  Karl Berry  <karl@gnu.org>
87620
87621         * lib/argp.h: update from libc.
87622
87623 2003-09-17  Paul Eggert  <eggert@twinsun.com>
87624
87625         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
87626         to avoid spurious warnings like "AC_RUN_IFELSE was called before
87627         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
87628
87629 2003-09-17  Paul Eggert  <eggert@twinsun.com>
87630
87631         * gnulib-tool: Use "test -h", not "test -L", for portability
87632         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
87633         (tags_regexp): Remove, since \| doesn't conform to POSIX.
87634         (sed_extract_prog): Issue s commands one-by-one, rather than
87635         using \| in one s command.
87636
87637 2003-09-16  Paul Eggert  <eggert@twinsun.com>
87638
87639         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
87640         input error, instead of returning NULL the next time we are called
87641         (and therefore losing track of errno).
87642
87643 2003-09-16  Bruno Haible  <bruno@clisp.org>
87644
87645         * gnulib-tool (func_create_testdir): Warn about duplicated
87646         dependencies.
87647
87648 2003-09-15  Paul Eggert  <eggert@twinsun.com>
87649
87650         * modules/argmatch, modules/fatal, modules/obstack,
87651         modules/xalloc, modules/xgethostname: Sort dependencies by
87652         importance, not alphabetically.
87653
87654 2003-09-15  Paul Eggert  <eggert@twinsun.com>
87655
87656         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
87657         fails, so that the caller gets the proper errno.
87658
87659         * lib/readutmp.c (read_utmp): Likewise.
87660         Check for fstat error.  Close stream and free storage
87661         when failing.
87662
87663 2003-09-14  Karl Berry  <karl@gnu.org>
87664
87665         * config/srclist.txt (strdup.c): disable for c89 changes.
87666
87667 2003-09-14  Jim Meyering  <jim@meyering.net>
87668
87669         * lib/getloadavg.c: Correct cpp indentation.
87670         * lib/strdup.c: Likewise.
87671         * lib/vasnprintf.c: Likewise.
87672
87673 2003-09-14  Bruno Haible  <bruno@clisp.org>
87674
87675         * modules/fwriteerror: New file.
87676         * MODULES.html.sh (func_all_modules): Add fwriteerror.
87677
87678 2003-09-14  Bruno Haible  <bruno@clisp.org>
87679
87680         * lib/fwriteerror.h: New file.
87681         * lib/fwriteerror.c: New file.
87682
87683 2003-09-12  Paul Eggert  <eggert@twinsun.com>
87684
87685         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
87686         modules/xgethostname, modules/xalloc: Depend on exit.
87687
87688 2003-09-12  Paul Eggert  <eggert@twinsun.com>
87689
87690         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
87691
87692         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
87693         and AC_MINIX, too, so that their extensions are available.
87694
87695         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
87696         This macro has been superseded by gl_BACKUPFILE.
87697
87698         More patches to assume C89 or better.
87699
87700         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
87701
87702         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
87703         unconditionally.
87704         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
87705         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
87706         Include <string.h>, <stdlib.h> unconditionally.
87707         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
87708         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
87709         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
87710         headers or for string.h.
87711         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
87712         or strtoul.
87713
87714         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
87715         headers.
87716         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
87717         * m4/userspec.m4 (gl_USERSPEC): Likewise.
87718         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
87719         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
87720         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
87721         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
87722         memcpy, memset.
87723         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
87724         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
87725         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
87726         strtol.
87727         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
87728         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
87729         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
87730         strtoul.
87731
87732 2003-09-12  Paul Eggert  <eggert@twinsun.com>
87733
87734         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
87735         * lib/obstack.c [!defined _LIBC]: Likewise.
87736         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
87737         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
87738         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
87739
87740         More changes to assume C89 or better.
87741
87742         * lib/error.c (error_tail): Assume vprintf.
87743
87744         * lib/argmatch.c (getenv): Remove decl.
87745         * lib/progreloc.c (get_full_program_name): Define via prototype.
87746         * lib/setenv.c (clearenv): Likewise.
87747         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
87748         needed.
87749         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
87750         (malloc, memcpy): Remove decls.
87751         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
87752         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
87753         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
87754         (memcpy): Remove macro.
87755         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
87756         (__P): Remove.  All uses removed.
87757         (PTR): Remove.  All uses changed to void *.
87758         (CHAR_BIT, NULL): Remove.
87759         (spaces, zeros, memset_space, memset_zero)
87760         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
87761         Remove.
87762         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
87763         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
87764         Define with prototype.
87765         Remove now-unnecessary prototype decl.
87766         (extra_args_spec): Assume ANSI C.  All uses changed.
87767         (extra_args_spec_iso): Remove.
87768         (my_strftime, emacs_strftimeu): Define via prototype.
87769         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
87770         unconditionally.
87771         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
87772         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
87773         (strtoul, strtol): Remove decls.
87774         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
87775         LONG_MAX): Remove.
87776         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
87777         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
87778         (LOCALE_PARAM_PROTO): New macro.
87779         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
87780         (INTERNAL (strtol), strtol): Define with a prototype.
87781         (PARAMS): Remove.  All uses removed.
87782         * lib/tempname.c: Include <string.h> unconditionally.
87783         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
87784         * lib/xgethostname.c (main): Define with a prototype.
87785         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
87786         Include <stdlib.h> unconditionally.
87787         (calloc, malloc, realloc, free): Remove decls.
87788         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
87789         Include <stdlib.h> unconditionally.  Sort include file names.
87790         (strtod): Remove.
87791         (xstrtod): Define with a prototype.
87792         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
87793         (strtol, strtoul): Remove decls.
87794
87795 2003-09-11  Paul Eggert  <eggert@twinsun.com>
87796
87797         More patches to assume C89 or better.
87798         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
87799         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
87800         string.h, memchr, STDC_HEADERS.
87801
87802 2003-09-11  Paul Eggert  <eggert@twinsun.com>
87803
87804         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
87805         Include <stdlib.h>, <string.h> unconditionally.
87806         Remove now-unnecessary cast to char *.
87807         * lib/strnlen.c: Include <string.h> unconditionally.
87808         * lib/yesno.c (yesno): Define with a prototype.
87809
87810 2003-09-11  Bruno Haible  <bruno@clisp.org>
87811
87812         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
87813
87814 2003-09-10  Jim Meyering  <jim@meyering.net>
87815
87816         * lib/error.c: Correct indentation of cpp directives.
87817
87818 2003-09-10  Bruno Haible  <bruno@clisp.org>
87819
87820         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
87821         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
87822         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
87823         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
87824         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
87825         <stdlib.h> and <string.h> checks.
87826         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
87827         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
87828
87829 2003-09-10  Bruno Haible  <bruno@clisp.org>
87830
87831         * lib/strcspn.c: Include <string.h> unconditionally.
87832         * lib/strpbrk.c: Include <string.h> unconditionally.
87833         * lib/strstr.c: Include <string.h> unconditionally.
87834         * lib/unicodeio.c: Include <string.h> unconditionally.
87835         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
87836         * lib/unsetenv.c: Likewise.
87837         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
87838         * lib/yesno.c: Include <stdlib.h> unconditionally.
87839         (rpmatch): Add prototype.
87840
87841 2003-09-09  Paul Eggert  <eggert@twinsun.com>
87842
87843         More patches to assume C89 or better.
87844         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
87845         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
87846         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
87847         or for string.h.
87848         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
87849         stdlib.h.
87850         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
87851         C headers.
87852         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
87853         string.h.
87854         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
87855         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
87856         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
87857         or for string.h.
87858         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
87859         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
87860         C headers.
87861         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
87862         memcpy.
87863         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
87864         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
87865         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
87866         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
87867         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
87868         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
87869         string.h, free.
87870         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
87871         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
87872         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
87873         C headers, or for string.h.
87874         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
87875         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
87876         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
87877         headers, memory.h, stdlib.h, string.h, strings.h.
87878         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
87879         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
87880         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
87881         strchr.
87882         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
87883         headers, memory.h, string.h.
87884         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
87885         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
87886         free.
87887         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
87888         headers.
87889         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
87890         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
87891         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
87892         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
87893         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
87894
87895 2003-09-09  Paul Eggert  <eggert@twinsun.com>
87896
87897         More K&R removal.
87898
87899         * lib/acosl.c (main): Use a prototype.
87900         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
87901         tanl.c: Likewise.
87902
87903         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
87904
87905         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
87906         (getopt, etopt_long, getopt_long_only, _getopt_internal)
87907         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
87908         with a prototype.
87909         * lib/getopt.c (const): Remove macro.
87910         Include <string.h> unconditionally.
87911         (my_index): Remove; all uses changed to strchr.
87912         (strlen): Remove decl.
87913         (exchange): Remove forward decl; no longer needed.
87914         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
87915         Define with prototype.
87916         * lib/getopt1.c (const): Remove macro.
87917         (getopt_long, getopt_long_only, main): Define with prototype.
87918
87919         * lib/getugroups.c: Include <string.h> unconditionally.
87920
87921         * lib/getusershell.c: Include <stdlib.h> unconditionally.
87922         (getusershell, setusershell, endusershell, readname, main):
87923         Define with prototypes.
87924
87925         * lib/group-member.c: Include group-member.h first.
87926         Include <stdlib.h> unconditionally.
87927
87928         * lib/hard-locale.c: Include hard-locale.h first.
87929         Include <stdlib.h>, <string.h> unconditionally.
87930
87931         * lib/hash.c (free, malloc): Remove decls.
87932         Include <stdlib.h> unconditionally.
87933
87934         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
87935         (getenv): Do not declare.
87936
87937         * lib/idcache.c: Include <string.h> unconditionally.
87938
87939         * lib/long-options.c: Include long-options.h first, to test interface.
87940         Include <stdlib.h> unconditionally.
87941
87942         * lib/makepath.c: Include makepath.h first, to test interface.
87943         Include <stdlib.h> and <string.h> unconditionally.
87944
87945         * lib/linebuffer.c: Include <stdlib.h>.
87946         (free): Remove decl.
87947
87948         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
87949         stddef.h. rpl_malloc returns void *, not char *.
87950         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
87951         prototype.
87952
87953         * lib/md5.h: Include <limits.h> unconditionally.
87954         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
87955         (__P): Remove; all uses removed.
87956         * lib/md5.c: Include "md5.h" first.
87957         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
87958         md5_buffer, md5_process_bytes, md5_process_block):
87959         Define with prototypes.
87960         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
87961         * lib/sha.c: Include "sha.h" first.
87962         Include <stdlib.h>, <string.h> unconditionally.
87963
87964         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
87965         * lib/memcmp.c (__ptr_t): Likewise.
87966         * lib/memrchr.c (__ptr_t): Likewise.
87967         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
87968         Include <string.h> unconditionally.
87969         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
87970         * lib/memchr.c: Include <stdlib.h> unconditionally.
87971         * lib/memchr.c (LONG_MAX): Remove.
87972         * lib/memrchr.c (LONG_MAX): Likewise.
87973         * lib/memchr.c (__memchr): Define via a prototype.
87974         * lib/memrchr.c (__memrchr): Likewise.
87975         * lib/memcmp.c (__P): Remove, and remove all uses.
87976         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
87977         Remove forward decls; no longer needed.
87978         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
87979         Use types required by C89 in prototype.
87980
87981         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
87982         * lib/savedir.c: Likewise.
87983         * lib/mkdir.c (free): Remove decl.
87984         * lib/rmdir.c (rmdir): Define with a prototype.
87985         * lib/savedir.c: Include savedir.h first, to test interface.
87986
87987         * lib/mktime.c (STDC_HEADERS): Remove.
87988         Include <stdlib.h>, <string.h> unconditionally.
87989
87990         * lib/modechange.c: Include <stdlib.h> unconditionally.
87991         (malloc): Remove decl.
87992
87993         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
87994         (free): Remove decl.
87995
87996         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
87997         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
87998         (This type really should be intptr_t, but that's a C99ism.)
87999         (_obstack_memcpy): Remove: all uses changed to memcpy.
88000         Include <string.h> unconditionally.
88001         (struct obstack): Assume __STDC__ for types of members
88002         chunkfun, freefun, extra_arg.
88003         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
88004         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
88005         obstack_begin, obstack_specify_allocation,
88006         obstack_specify_allocation_with_arg, obstack_chunkfun,
88007         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
88008         Remove unprototyped decls and the macros that use them.
88009         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
88010         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
88011         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
88012         (defined __STDC__ && __STDC__)]:
88013         Remove nonprototyped code.
88014         Include <stdlib.h> unconditionally.
88015         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
88016         _obstack_allocated_p, _obstack_free, obstack_free,
88017         _obstack_memory_used, print_and_abort):
88018         Define using prototypes.
88019         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
88020         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
88021         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
88022         obstack_next_free, obstack_object_size, obstack_room) [0]:
88023         Remove unused, unprototyped code.
88024
88025         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
88026
88027         * lib/physmem.c (physmem_total, physmem_available, main): Define
88028         with prototypes.
88029
88030         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
88031         (main): Define with a prototype.
88032
88033         * lib/posixver.c (getenv): Remove decl.
88034
88035         * lib/putenv.c (malloc): Returns void *, not char *.
88036         Include <string.h> unconditionally.
88037         (strchr, memcpy, NULL): Do not define.
88038
88039         * lib/readtokens.c: Include readtokens.h first, to test interface.
88040         Include <stdlib.h>, <string.h> unconditionally.
88041         (init_tokenbuffer): Define with a prototype.
88042
88043         * lib/regex.c (PARAMS): Remove.  All uses removed.
88044         All uses of _RE_ARGS removed, too.
88045         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
88046         unconditionally.
88047         (bzero): Assume memset exists.
88048         (memcmp, memcpy, NULL): Remove.
88049         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
88050         char, or assignments to local vars of type signed char.
88051         (init_syntax_once, PREFIX(extract_number_and_incr),
88052         PREFIX(print_partial_compiled_pattern),
88053         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
88054         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
88055         PREFIX(regex_grow_registers), PREFIX(regex_compile),
88056         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
88057         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
88058         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
88059         wcs_compile_range, byte_compile_range, truncate_wchar,
88060         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
88061         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
88062         count_mbs_length, wcs_re_match_2_internal,
88063         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
88064         PREFIX(alt_match_null_string_p),
88065         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
88066         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
88067         regfree, PREFIX(extract_number)): Define with prototype.  Remove
88068         now-unnecessary declaration, if any.
88069         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
88070         regcomp, regexec):
88071         Remove now-unnecessary casts among pointer types.
88072         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
88073
88074         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
88075         (free): Remove decl.
88076
88077         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
88078
88079         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
88080         (free): Remove decl.
88081
88082         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
88083         * lib/xgetcwd.c: Likewise.
88084
88085         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
88086         (free): Remove decl.
88087
88088         * lib/strchrnul.c (strchrnul): Define with a prototype.
88089         Fix bug: c_in was not converted to char before searching.
88090
88091         The following changes are not K&R related:
88092
88093         * lib/group-member.h: Include <sys/types.h>, so that this file is
88094         self-contained.
88095         * lib/makepath.h: Likewise.
88096
88097         * lib/getusershell.c (readname, default_index, line_size, readname):
88098         Use size_t, not int, for sizes.
88099         (readname): If the size overflows, report an error instead of
88100         looping forever.
88101
88102 2003-09-09  Paul Eggert  <eggert@twinsun.com>
88103
88104         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
88105         libc.
88106
88107 2003-09-09  Paul Eggert  <eggert@twinsun.com>
88108
88109         * README: New section: portability guidelines.
88110
88111 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
88112
88113         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
88114         C89 spec.
88115
88116 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
88117
88118         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
88119
88120 2003-09-08  Paul Eggert  <eggert@twinsun.com>
88121
88122         Assume C89 or better; remove K&R cruft.
88123         A few of these changes were first proposed by Derek Robert Price
88124         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
88125
88126         * lib/addext.c: Include <string.h> unconditionally.
88127         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
88128         Don't declare getenv or malloc.
88129
88130         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
88131         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
88132         (NULL): Remove.
88133         (find_stack_direction, alloca): Use prototypes.
88134
88135         * lib/atexit.c (atexit): Define using a prototype.
88136
88137         * lib/basename.c, dirname.c, stripslash.c:
88138         Include <string.h> unconditionally.
88139
88140         * lib/bcopy.c: Include <stddef.h>.
88141         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
88142
88143         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
88144
88145         * lib/error.h (error, error_at_line, error_print_progname)
88146         [! (defined (__STDC__) && __STDC__)]: Remove decls.
88147         * lib/error.c: Include error.h first, to check interface.
88148         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
88149         (VA_START): Remove; all uses changeed to va_start.
88150         (exit, strerror): Remove decls.
88151         (error_print_progname): Prototype uncondionally.
88152         Don't include <errno.h>; no longer needed.
88153         (private_strerror): Remove.
88154         (error_tail): Always define.
88155         (error, error_at_line): Assume C89 or better; always use prototypes.
88156         * lib/fatal.c: Include "fatal.h" first, to test interface.
88157         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
88158         (VA_START): Remove; all uses changed to va_start.
88159         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
88160         this case.
88161         (exit): Remove decl.
88162         (fatal): Prototype unconditionally.  Assume va_start works.
88163         Abort at end, to pacify gcc.
88164
88165         * lib/euidaccess.c (main): Define with a prototype.
88166
88167         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
88168
88169         * lib/exitfail.c: Include <stdlib.h> unconditionally.
88170
88171         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
88172         prototypes.
88173         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
88174         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
88175         (getenv): Remove decl.
88176         (fnmatch): Define using a prototype.
88177         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
88178         (FCT): Define using a prototype.
88179
88180         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
88181
88182         * lib/gethostname.c: Include <stddef.h>.
88183         (gethostname): Define with prototype.  Length is size_t, not int.
88184
88185 2003-09-08  Paul Eggert  <eggert@twinsun.com>
88186
88187         Assume C89 or better; remove K&R cruft.
88188         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
88189         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
88190         string.h, getenv, malloc.
88191         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
88192         headers.
88193         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
88194         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
88195         do not check for strerror.
88196         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
88197         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
88198         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
88199         do not check for doprnt or vprintf.
88200         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
88201         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
88202
88203 2003-09-08  Paul Eggert  <eggert@twinsun.com>
88204
88205         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
88206         getversion.c should have been removed then, but was accidentally
88207         preserved.
88208
88209         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
88210         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
88211
88212 2003-09-08  Karl Berry  <karl@gnu.org>
88213
88214         * config/config.sub, config.guess, srclistvars.sh: update from savannah
88215                 config, forget about prep.
88216
88217         * config/depcomp, missing: update from automake.
88218
88219 2003-09-07  Paul Eggert  <eggert@twinsun.com>
88220
88221         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
88222         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
88223
88224 2003-09-07  Paul Eggert  <eggert@twinsun.com>
88225
88226         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
88227         copy_tm_result.  Bug reported by Simon Josefsson in
88228         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
88229
88230 2003-09-06  Paul Eggert  <eggert@twinsun.com>
88231
88232         * m4/time_r.m4: New file.
88233         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
88234         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
88235         is. Check for timegm declaration.
88236         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
88237         Do not check for gmtime_r.
88238         Replace mktime if __mktime_internal does not exist and if mktime
88239         hasn't been replaced already.
88240
88241 2003-09-06  Paul Eggert  <eggert@twinsun.com>
88242
88243         * lib/time_r.c, lib/time_r.h: New files.
88244
88245         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
88246         __localtime_r.
88247         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
88248         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
88249
88250         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
88251         __gmtime_r.
88252         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
88253         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
88254         Include <time_r.h>.
88255
88256         * lib/timegm.c: Switch to glibc implementation, with the following
88257         changes:
88258         [defined HAVE_CONFIG_H]: Include <config.h>.
88259         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
88260         (__mktime_internal) [!defined _LIBC]: New decl.
88261         (__gmtime_r) [!defined _LIBC]: New macro and function.
88262         (timegm): Use a prototype, since gnulib assumes C89.
88263         Do not bother declaring tmp to be const, as it's not really usefu.
88264         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
88265         (timegm): Declare only if HAVE_DECL_TIMEGM.
88266
88267 2003-09-06  Paul Eggert  <eggert@twinsun.com>
88268
88269         * MODULES.html.sh (func_all_modules): Add time_r.
88270         * modules/time_r: New file.
88271         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
88272         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
88273
88274 2003-09-03  Paul Eggert  <eggert@twinsun.com>
88275
88276         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
88277         Bug reported by Lute Kamstra in
88278         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
88279
88280         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
88281         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
88282         course with correspondingly smaller numbers for tomorrow and
88283         yesterday.  From Tadayoshi Funaba.  Originally installed into
88284         sh-utils on 1999-08-07, but the patch got lost (I guess during the
88285         coreutils merge?).
88286
88287 2003-08-31  Simon Josefsson  <jas@extundo.com>
88288
88289         * modules/timegm: New file.
88290         * MODULES.html.sh (func_all_modules): Add timegm.
88291
88292 2003-08-31  Simon Josefsson  <jas@extundo.com>
88293
88294         * m4/timegm.m4: New file.
88295
88296 2003-08-31  Simon Josefsson  <jas@extundo.com>
88297
88298         * lib/timegm.h: New file.
88299         * lib/timegm.c: New file.  Based on
88300         wget-1.8.2/src/http.c:mktime_from_utc.
88301
88302 2003-08-31  Karl Berry  <karl@gnu.org>
88303
88304         * lib/argp.h: update from libc.
88305
88306 2003-08-28  Bruno Haible  <bruno@clisp.org>
88307
88308         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
88309         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
88310         followed by '#define fnmatch fnmatch_posix' gives an error.
88311
88312 2003-08-28  Bruno Haible  <bruno@clisp.org>
88313
88314         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
88315         warning on QNX, which defines O_BINARY to 000000.
88316
88317 2003-08-27  Jim Meyering  <jim@meyering.net>
88318
88319         * m4/mkstemp.m4: Require that the system mkstemp be able to create
88320         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
88321         would fail after 32.  Reported by Danny Levinson.  Details here:
88322         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
88323
88324 2003-08-24  Bruno Haible  <bruno@clisp.org>
88325
88326         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
88327         MSVC7 <stdio.h> is included later.
88328
88329 2003-08-22  Simon Josefsson  <jas@extundo.com>
88330
88331         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
88332
88333 2003-08-20  Karl Berry  <karl@gnu.org>
88334
88335         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
88336
88337 2003-08-20  Bruno Haible  <bruno@clisp.org>
88338
88339         * modules/progname: New file.
88340         * MODULES.html.sh (func_all_modules): Add progname.
88341
88342 2003-08-20  Bruno Haible  <bruno@clisp.org>
88343
88344         * lib/progname.h: New file, from GNU gettext.
88345         * lib/progname.c: New file, from GNU gettext.
88346         * lib/progreloc.c: New file, from GNU gettext.
88347
88348 2003-08-19  Jim Meyering  <jim@meyering.net>
88349
88350         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
88351         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
88352
88353 2003-08-19  Bruno Haible  <bruno@clisp.org>
88354
88355         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
88356         more.
88357
88358 2003-08-19  Bruno Haible  <bruno@clisp.org>
88359
88360         * lib/xstrdup.c: Assume <string.h> exists.
88361
88362 2003-08-18  Paul Eggert  <eggert@twinsun.com>
88363
88364         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
88365         in makefile rules.
88366
88367 2003-08-18  Jim Meyering  <jim@meyering.net>
88368
88369         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
88370         * m4/lib-ld.m4: Likewise.
88371
88372 2003-08-18  Jim Meyering  <jim@meyering.net>
88373
88374         * lib/setenv.h: Indent nested cpp directive.
88375         * lib/vasnprintf.c: Remove trailing blanks.
88376
88377 2003-08-17  Simon Josefsson  <jas@extundo.com>
88378
88379         * modules/xstrndup: New file.
88380         * MODULES.html.sh (func_all_modules): Add xstrndup.
88381
88382 2003-08-17  Simon Josefsson  <jas@extundo.com>
88383
88384         * modules/argp: Fix autoconf macro name. Add more dependencies.
88385
88386 2003-08-17  Simon Josefsson  <jas@extundo.com>
88387
88388         * m4/xstrndup.m4: New file.
88389
88390 2003-08-17  Simon Josefsson  <jas@extundo.com>
88391
88392         * m4/argp.m4: New file.
88393
88394 2003-08-17  Simon Josefsson  <jas@extundo.com>
88395             Bruno Haible  <bruno@clisp.org>
88396
88397         * lib/xstrndup.h: New file.
88398         * lib/xstrndup.c: New file.
88399
88400 2003-08-17  Bruno Haible  <bruno@clisp.org>
88401
88402         * modules/strndup (Files, Include): Add lib/strndup.h.
88403
88404 2003-08-17  Bruno Haible  <bruno@clisp.org>
88405
88406         * modules/euidaccess (Files): Add lib/euidaccess.h.
88407
88408 2003-08-17  Bruno Haible  <bruno@clisp.org>
88409
88410         * lib/strndup.h: New file.
88411
88412 2003-08-17  Bruno Haible  <bruno@clisp.org>
88413
88414         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
88415         like AC_GNU_SOURCE.
88416         * modules/extensions (configure.ac): Comment out the invocation of
88417         gl_USE_SYSTEM_EXTENSIONS.
88418
88419 2003-08-16  Paul Eggert  <eggert@twinsun.com>
88420
88421         Merges from coreutils, etc.
88422         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
88423         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
88424         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
88425         fixing a typo.
88426         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
88427         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
88428
88429 2003-08-16  Paul Eggert  <eggert@twinsun.com>
88430
88431         Document merge from coreutils.
88432         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
88433         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
88434         * modules/utime: Add m4/utimes-null.m4.
88435
88436 2003-08-16  Paul Eggert  <eggert@twinsun.com>
88437
88438         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
88439         space, undoing this 2003-08-12 change:
88440         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
88441
88442 2003-08-16  Paul Eggert  <eggert@twinsun.com>
88443
88444         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
88445         strtoul.c from libc, undoing this 2003-08-12 change:
88446         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
88447
88448 2003-08-16  Jim Meyering  <jim@meyering.net>
88449
88450         Merges from coreutils.
88451         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
88452         prefix.  Adjust cache variables similarly.  Create 500 rather than
88453         just 300 files, to exercise bug on Darwin6.5, too.
88454         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
88455         $missing_dir.
88456         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
88457         AM_SYS_POSIX_TERMIOS.
88458         Reported by mkc@mathdogs.com.
88459         Also change use of $am_cv_sys_posix_termios
88460         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
88461         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
88462         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
88463         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
88464         in /proc/mounts until it finds one with matching device number.  This
88465         is unnecessary when the FILE argument *is* a mount point.  No stat call
88466         is necessary in that case.  So, disable the statvfs-testing code on
88467         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
88468         as RedHat bug# 84846.
88469         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
88470         to 1MB, so as not to render systems with no stack size limit (e.g.,
88471         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
88472         Include <unistd.h>.  On some systems,
88473         it is required for the definition of _SC_PAGESIZE.
88474
88475 2003-08-16  Jim Meyering  <jim@meyering.net>
88476
88477         Merge from coreutils.
88478         * lib/xstrtoimax.c: #else #if -> #elif.
88479         * lib/xstrtoumax.c: Likewise.
88480
88481 2003-08-16  Jim Meyering  <jim@meyering.net>
88482
88483         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
88484         * m4/utimes.m4: Removed.
88485         * m4/utimes-null.m4: Renamed from utimes.m4.
88486
88487         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
88488         to 1MB, so as not to render systems with no stack size limit (e.g.,
88489         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
88490         Include <unistd.h>.  On some systems,
88491         it is required for the definition of _SC_PAGESIZE.
88492
88493 2003-08-16  Jim Meyering  <jim@meyering.net>
88494         and Paul Eggert  <eggert@cs.ucla.edu>
88495
88496         Merges from coreutils, etc.
88497
88498         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
88499         using the latest version from cvs.  This avoids problems with #line
88500         directives using a vendor (Sun) compiler.
88501         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
88502         Don't set GETGROUPS_LIB here; now it's
88503         done via getgroups.m4's wrapper function.
88504         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
88505         rather than just in sh-util/configure.in, so that the
88506         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
88507         same.
88508         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
88509         AC_FUNC_GETLOADAVG where to find getloadavg.c.
88510         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
88511         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
88512         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
88513         Remove code that is now done by the newly-required macros.
88514         Append $(EXEEXT) to DF_PROG.
88515         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
88516         Do not invoke or require the following here,
88517         since prereq.m4 or some gnulib .m4 now does this for us:
88518         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
88519         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
88520         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
88521         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
88522         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
88523         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
88524         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
88525         AC_FUNC_OBSTACK.
88526         Do not replace the following functions, as this is now the job
88527         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
88528         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
88529         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
88530         atexit getpass, strdup, getpagesize.
88531         Replace 'raise'.
88532         Do not check for the following functions, as this is now the job
88533         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
88534         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
88535         setregid.
88536         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
88537         Check for sys/sysctl.h.
88538         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
88539         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
88540         of checking for ssize_t ourselves.
88541
88542         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
88543         Require every macro that gnulib/modules/* suggests for us.
88544         (jm_PREREQ_ADDEXT): New macro.
88545         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
88546         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
88547
88548         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
88549         (gl_PHYSMEM): Use it.
88550         Also check for `table' function.
88551         Check for new headers and functions.
88552         Add check for sys/sysmp.h.
88553         With suggestions from Kaveh Ghazi.
88554         Ignore headers that are present but cannot be compiled.  This
88555         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
88556         C 5.4.
88557
88558 2003-08-15  Paul Eggert  <eggert@twinsun.com>
88559
88560         Document merge from coreutils.
88561         * modules/userspec: Depend on posixver.
88562         * modules/strftime: Depend on tzset.
88563
88564 2003-08-15  Paul Eggert  <eggert@twinsun.com>
88565
88566         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
88567         rather than tab, after '#' in shell-script copyright notices.
88568         Suggested by Bruno Haible.
88569
88570 2003-08-15  Paul Eggert  <eggert@twinsun.com>
88571
88572         * config/srclist-update: Use three spaces, rather than tab, after '#'
88573         in shell-script copyright notices.  Suggested by Bruno Haible.
88574         Remove unnecessary parenthesization in regular expression.
88575
88576 2003-08-15  Jim Meyering  <jim@meyering.net>
88577
88578         Merge from coreutils.
88579         * lib/xgethostname.c: Include <stdlib.h>.
88580         (xghostname): Don't exit for anything other than memory-related
88581         failure; just return NULL.
88582         * lib/userspec.c: Include "posixver.h".
88583         (parse_user_spec): Accept `.' as a separator only
88584         in pre-POSIX-200112 mode.
88585         * lib/strtoimax.c: Use #elif rather than #else #if.
88586         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
88587         Remove function, now that we can rely on a working tzset function.
88588         [!_LIBC]: Ensure that the required autoconf test has been run.
88589         [!defined _NL_CURRENT && HAVE_STRFTIME]:
88590         Use underlying_strftime for %r.
88591         * lib/sha.c: Merge in some clean-up and optimization changes from
88592         glibc.
88593         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
88594         Ensure that it is a multiple of 64.
88595         Rearrange loop exit tests so as to avoid performing an
88596         additional fread after encountering an error or EOF.
88597         * lib/realloc.c: Update copyright date.
88598
88599 2003-08-15  Jim Meyering  <jim@meyering.net>
88600         and Paul Eggert  <eggert@twinsun.com>
88601
88602         Merge from coreutils.
88603         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
88604         member but strut utmpx does not.  Needed for AIX 4.3.3.
88605         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
88606
88607 2003-08-15  Jim Meyering  <jim@meyering.net>
88608         and Paul Eggert  <eggert@cs.ucla.edu>
88609
88610         Merges from coreutils, etc.
88611         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
88612         Require gl_FUNC_TZSET_CLOBBER.
88613         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
88614         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
88615         members.
88616
88617 2003-08-14  Paul Eggert  <eggert@twinsun.com>
88618
88619         Help the merge from coreutils.
88620         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
88621         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
88622         * m4/tzset.m4: Use it too.
88623
88624 2003-08-14  Paul Eggert  <eggert@twinsun.com>
88625
88626         * modules/tzset: New file.
88627
88628 2003-08-14  Jim Meyering  <jim@meyering.net>
88629
88630         Merges from coreutils.
88631         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
88632         variable names, rather than @FNMATCH_H@.
88633         * modules/alloca: Likewise for $(ALLOCA_H).
88634
88635         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
88636         the three copies of the literal target, `fnmatch.h'.
88637         * modules/alloca (alloca.h): Likewise.
88638
88639 2003-08-14  Jim Meyering  <jim@meyering.net>
88640
88641         Merge from coreutils.
88642         * m4/tzset.m4: New file.
88643         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
88644         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
88645         otherwise, AIX 5.1 systems would end up using the latter.
88646         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
88647         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
88648         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
88649         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
88650
88651 2003-08-14  Jim Meyering  <jim@meyering.net>
88652
88653         Merge from coreutils.
88654         * lib/obstack.h: Whitespace changes.
88655         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
88656         and xcalloc return values.
88657         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
88658         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
88659         hang on OSF/1 5.1 for DIR on both local and remote file systems.
88660         Reported by (and fix confirmed by) Nelson H. F. Beebe.
88661         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
88662         error from mntctl.
88663         Use mntctl's return value to drive the entry-processing loop, since
88664         we can't rely on the value of the vmt_length member in the last
88665         entry.  On some systems doing so could result in exhausting
88666         virtual memory.  Based in part on a patch from Mike Jetzer.
88667
88668 2003-08-14  Jim Meyering  <jim@meyering.net>
88669         and Paul Eggert  <eggert@twinsun.com>
88670
88671         Merges from coreutils, plus other fixes.
88672         * lib/physmem.c: Merge in portability changes from gcc/libiberty
88673         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
88674         for credits and details.  Thanks to Kaveh Ghazi for helping
88675         to keep these files in sync.
88676         (ARRAY_SIZE): Define it.
88677         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
88678         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
88679         (memcasecmp): Don't assume size_t fits in unsigned int.
88680         Remove casts and duplicate code.
88681         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
88682         (memcpy): Remove definition.
88683         Merge in some clean-up and optimization changes from glibc.
88684         [BLOCKSIZE]: Move definition to top of file.
88685         Ensure that it is a multiple of 64.
88686         Rearrange loop exit tests so as to avoid performing an
88687         additional fread after encountering an error or EOF.
88688         * lib/md5.h (md5_uintptr): Define.
88689         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
88690         return to the initial working directory.  Preserve errno
88691         for caller.
88692         * lib/idcache.c: Include "xalloc.h".
88693         (xmalloc, xrealloc): Remove decls.
88694         (getuser): Remove casts no longer required in C89.
88695         * lib/human.c: Include stdio.h, for sprintf.
88696         * lib/group-member.c: Include "xalloc.h".
88697         (xmalloc, xrealloc): Remove decls.
88698         (get_group_info): Remove casts no longer required in C89.
88699         * lib/getusershell.c (readname): Remove casts no longer required in
88700         C89.
88701         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
88702         * lib/getline.c: Whitespace fix, from coreutils.
88703
88704 2003-08-13  Paul Eggert  <eggert@twinsun.com>
88705
88706         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
88707         Check for isascii.
88708
88709         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
88710         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
88711         Undo previous (whitespace-only) change.
88712
88713 2003-08-13  Paul Eggert  <eggert@twinsun.com>
88714
88715         * lib/exclude.c: Include <ctype.h>
88716         (IN_CTYPE_DOMAIN): New macro.
88717         (is_space): New fn.
88718         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
88719         and empty lines.
88720
88721         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
88722         Undo previous (whitespace-only) change.
88723
88724 2003-08-13  Paul Eggert  <eggert@twinsun.com>
88725
88726         * config/srclist-update: Change update back to the old behavior,
88727         leaving whitespace alone.  Use one 'sed' command rather than a
88728         pipeline.
88729         (fixlicense): Now a variable, not a function.
88730         (remove_trailing_blanks): Remove.
88731         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
88732         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
88733         Undo previous (whitespace-only) change.
88734
88735 2003-08-12  Paul Eggert  <eggert@twinsun.com>
88736
88737         Merge from coreutils.
88738         * modules/euidaccess: Add lib_SOURCES, include for new
88739         file euidaccess.h
88740
88741 2003-08-12  Paul Eggert  <eggert@twinsun.com>
88742
88743         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
88744         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
88745         Normalize leading white space and remove trailing white space.
88746
88747         Merge from coreutils
88748         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
88749
88750         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
88751         0.12.1.  These files are now being upgraded automatically by
88752         ../config/srclist-update.
88753
88754 2003-08-12  Paul Eggert  <eggert@twinsun.com>
88755
88756         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
88757         Normalize leading white space and remove trailing white space.
88758         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
88759         notice, as per ../config/srclist-update.
88760
88761         Merge from coreutils.
88762         * lib/euidaccess.h: New file.
88763         * lib/euidaccess.c: Include it.
88764         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
88765         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
88766         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
88767
88768 2003-08-12  Paul Eggert  <eggert@twinsun.com>
88769
88770         * config/srclist-update: Add copyright notice.
88771         (remove_id_lines, remove_trailing_blanks): New constants.
88772         (fixfile): Use them to normalize spacing a bit in copied files.
88773         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
88774         Normalize leading white space and remove trailing white space.
88775
88776         * config/texinfo.tex: Sync with texinfo.
88777
88778         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
88779         strtoul.c from libc, to merge coreutils whitespace changes.
88780
88781         * config/srclist.txt: Get the following m4 files from gettext:
88782         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
88783         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
88784         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
88785         wint_t.m4.
88786
88787 2003-08-12  Karl Berry  <karl@gnu.org>
88788
88789         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
88790         been made.
88791
88792 2003-08-11  Paul Eggert  <eggert@twinsun.com>
88793
88794         * modules/gnu-source, m4/gnu-source.m4:
88795         Remove; we're assuming Autoconf 2.54 or later now.
88796         Suggested by Bruno Haible.
88797         * MODULES.html.sh (func_all_modules): Remove gnu-source.
88798
88799 2003-08-11  Bruno Haible  <bruno@clisp.org>
88800
88801         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
88802
88803 2003-08-11  Bruno Haible  <bruno@clisp.org>
88804
88805         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
88806         (vasnprintf): Use it instead of wcslen.
88807
88808 2003-08-11  Bruno Haible  <bruno@clisp.org>
88809
88810         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
88811         value to ensure that _Bool promotes to int. Use #define for _Bool when
88812         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
88813
88814 2003-08-10  Karl Berry  <karl@gnu.org>
88815
88816         * lib/regex.h: update from libc (whitespace fix).
88817
88818 2003-08-09  Paul Eggert  <eggert@twinsun.com>
88819
88820         Merge some files from coreutils.  These changes were
88821         originally made by Jim Meyering.
88822         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
88823         many older Unixes require this.
88824         * lib/alloca.c (alloca): Remove cast to argument of free;
88825         no longer needed in C89.
88826         * lib/alloca_.h, regex.h: Fix white space to match
88827         what GNU indent does.
88828
88829 2003-08-09  Paul Eggert  <eggert@twinsun.com>
88830
88831         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
88832         apparently Emacs's Unicode mode got confused before my 2003-08-05
88833         checkin.
88834
88835 2003-08-08  Paul Eggert  <eggert@twinsun.com>
88836
88837         * m4/extensions.m4: New file.
88838         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
88839         Require gl_USE_SYSTEM_EXTENSIONS.
88840         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
88841         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
88842
88843 2003-08-08  Paul Eggert  <eggert@twinsun.com>
88844
88845         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
88846         * modules/extensions, modules/gnu-source: New files.
88847         * modules/timespec, modules/unlocked-io: Depend on extensions.
88848
88849 2003-08-07  Paul Eggert  <eggert@twinsun.com>
88850
88851         * modules/restrict: New file.
88852         * MODULES.html.sh (func_all_modules): Add restrict.
88853         * modules/regex: Depend on restrict.
88854
88855 2003-08-07  Paul Eggert  <eggert@twinsun.com>
88856
88857         * m4/restrict.m4: New file.
88858         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
88859
88860 2003-08-07  Bruno Haible  <bruno@clisp.org>
88861
88862         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
88863         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
88864
88865 2003-08-07  Bruno Haible  <bruno@clisp.org>
88866
88867         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
88868         makes the module 'getndelim2' compatible with the module 'getline'.
88869
88870 2003-08-05  Paul Eggert  <eggert@twinsun.com>
88871
88872         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
88873         byte with "\201" to avoid glitches when editing that source file
88874         with multi-gnome-terminal.
88875
88876 2003-08-05  Paul Eggert  <eggert@twinsun.com>
88877
88878         * lib/bumpalloc.h: Remove.
88879
88880 2003-08-05  Paul Eggert  <eggert@twinsun.com>
88881
88882         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
88883         * modules/bumpalloc: Remove.
88884
88885 2003-08-04  Paul Eggert  <eggert@twinsun.com>
88886
88887         * lib/getloadavg.c: Change copyright notice and spacing to conform to
88888         GNU coding style.
88889
88890         Merge from coreutils.
88891         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
88892         1. From glibc.
88893         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
88894         from Karl Berry, implemented by Jim Meyering.
88895         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
88896         from Dmitry V. Levin.
88897         Remove anachronistic cast of xrealloc.
88898         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
88899         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
88900         type. Otherwise, it wouldn't compile with at least /bin/cc on
88901         ymp-cray-unicos9.0.2.X.
88902         Combine two mostly-identical uses of alloca into one.
88903         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
88904
88905 2003-08-04  Dave Love  <d.love@dl.ac.uk>
88906
88907         [From Emacs.]
88908
88909         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
88910         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
88911         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
88912         obsolete NLIST_NAME_UNION.
88913         [__GNU__]: Undef BSD and FSCALE.
88914         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
88915
88916 2003-08-03  Paul Eggert  <eggert@twinsun.com>
88917
88918         * lib/stdbool_.h (_Bool): Make it signed char, instead of
88919         an enum type, so that it's guaranteed to promote to int.  See:
88920         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
88921
88922 2003-08-03  Karl Berry  <karl@gnu.org>
88923
88924         * config/depcomp: update from automake.
88925
88926 2003-07-31  Paul Eggert  <eggert@twinsun.com>
88927
88928         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
88929         (strerror): Don't assume that a printable int fits in 14 bytes.
88930
88931 2003-07-31  Bruno Haible  <bruno@clisp.org>
88932
88933         * modules/getpass-gnu: New file.
88934         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
88935
88936 2003-07-31  Bruno Haible  <bruno@clisp.org>
88937
88938         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
88939
88940 2003-07-24  Karl Berry  <karl@gnu.org>
88941
88942         * config/missing: update from automake.
88943
88944 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
88945             Bruno Haible  <bruno@clisp.org>
88946
88947         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
88948         * lib/getline.c (getline, getdelim): Likewise.
88949         Remove _GNU_SOURCE define; now it's defined in config.h through
88950         m4/getline.m4.
88951
88952 2003-07-23  Karl Berry  <karl@gnu.org>
88953
88954         * config/config.sub: update from prep.
88955
88956 2003-07-22  Paul Eggert  <eggert@twinsun.com>
88957
88958         * modules/xalloc (Depends-on): Add exitfail.
88959         * modules/xmemcoll: Likewise.
88960
88961 2003-07-22  Paul Eggert  <eggert@twinsun.com>
88962
88963         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
88964         over-parenthesization in macros.
88965
88966         Sync with coreutils.
88967
88968         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
88969         required by C99.
88970
88971         Use `exit_failure' for xalloc and xmemcoll instead of their own
88972         private exit-failure variables.
88973         * lib/xalloc.h (xalloc_exit_failure): Remove.
88974         * lib/xmalloc.c: Likewise.  Include exitfail.h.
88975         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
88976         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
88977         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
88978         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
88979
88980 2003-07-20  Jim Meyering  <jim@meyering.net>
88981
88982         * modules/closeout (Depends-on): Add exitfail.
88983         Suggestion from Bruno Haible.
88984
88985 2003-07-19  Karl Berry  <karl@gnu.org>
88986
88987         * config/config.sub: update from prep.
88988
88989 2003-07-18  Paul Eggert  <eggert@twinsun.com>
88990
88991         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
88992         Remove.
88993         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
88994         to test that it can stand by itself.  Include "exitfail.h".
88995         Clients should set exit_failure instead.
88996         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
88997
88998 2003-07-18  Bruno Haible  <bruno@clisp.org>
88999
89000         * modules/getndelim2: New file.
89001         * modules/getline: Share files with module getndelim2.
89002         * modules/getnline: Depend on getndelim2 instead of sharing files with
89003         it. Add getnline.c to lib_SOURCES.
89004         * MODULES.html.sh (func_all_modules): Add getndelim2.
89005
89006 2003-07-18  Bruno Haible  <bruno@clisp.org>
89007
89008         * m4/getndelim2.m4: New file.
89009         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
89010         invoke gl_PREREQ_GETNDELIM2.
89011         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
89012         gl_PREREQ_GETNDELIM2.
89013         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
89014         gl_GETNDELIM2.
89015
89016 2003-07-18  Bruno Haible  <bruno@clisp.org>
89017
89018         * lib/getndelim2.h: New file.
89019         * lib/getndelim2.c: Make into a module of its own. Include config.h,
89020         getndelim2.h.
89021         (getndelim2): Make non-static. Change return type to ssize_t.
89022         * lib/getline.h: Change argument names.
89023         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
89024         * lib/getnline.c: Include getndelim2.h.
89025
89026 2003-07-18  Andreas Schwab  <schwab@suse.de>
89027
89028         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
89029
89030 2003-07-17  Karl Berry  <karl@gnu.org>
89031
89032         * config/config.sub: update from prep.
89033
89034 2003-07-17  Bruno Haible  <bruno@clisp.org>
89035
89036         * modules/getnline: New file.
89037         * modules/getline: Add lib/getndelim2.c to source file list.
89038         * MODULES.html.sh (func_all_modules): Add getnline.
89039
89040 2003-07-17  Bruno Haible  <bruno@clisp.org>
89041
89042         * m4/getnline.m4: New file.
89043
89044 2003-07-17  Bruno Haible  <bruno@clisp.org>
89045
89046         * m4/Makefile.am.in: Remove file.
89047         * m4/Makefile.am: Remove file.
89048         * m4/Makefile.in: Remove file.
89049
89050 2003-07-17  Bruno Haible  <bruno@clisp.org>
89051
89052         * lib/getnline.h: New file.
89053         * lib/getnline.c: New file.
89054         * lib/getndelim2.c: New file, extracted from getline.c.
89055         (getndelim2): Renamed from getdelim2, with added nmax argument.
89056         * lib/getline.c: Include getndelim2.c.
89057         (getdelim2): Moved out to getndelim2.c.
89058         (getline, getdelim): Update.
89059
89060 2003-07-17  Bruno Haible  <bruno@clisp.org>
89061
89062         * lib/Makefile.am: Remove file.
89063         * lib/Makefile.in: Remove file.
89064
89065 2003-07-17  Bruno Haible  <bruno@clisp.org>
89066
89067         * configure.in: Remove file.
89068         * Makefile.in: Remove file.
89069
89070 2003-07-17  Bruno Haible  <bruno@clisp.org>
89071
89072         * MODULES.html.sh: Put the </BODY> right before </HTML>.
89073
89074 2003-07-16  Karl Berry  <karl@gnu.org>
89075
89076         * config/srclist-update: was running fixlicense twice, which caused
89077                 texinfo.tex to be nullified for some reason.  Simplify,
89078                 $gplsrc is no longer needed as far as I can see?
89079
89080 2003-07-16  Jim Meyering  <jim@meyering.net>
89081
89082         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
89083
89084 2003-07-15  Paul Eggert  <eggert@twinsun.com>
89085
89086         * config/srclist.txt: Get the following files from gettext-runtime/intl
89087         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
89088         ref-del.sin.  From Bruno Haible.
89089         * config/srclist-update (fixfile): Change grep pattern again, since the
89090         previous fix didn't work (there was another trailing $).  Use
89091         '[$]' to escape the $s.
89092
89093 2003-07-15  Karl Berry  <karl@gnu.org>
89094
89095         * lib/vasnprintf.c: update from gettext.
89096
89097 2003-07-15  Karl Berry  <karl@gnu.org>
89098
89099         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
89100         gets expanded when surrounded by '$'.
89101
89102 2003-07-15  Jim Meyering  <jim@meyering.net>
89103
89104         * modules/save-cwd: Don't depend on error.  From Derek Price.
89105
89106 2003-07-15  Jim Meyering  <jim@meyering.net>
89107
89108         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
89109
89110 2003-07-14  Simon Josefsson  <jas@extundo.com>
89111
89112         * modules/mempcpy: New file.
89113         * MODULES.html.sh (func_all_modules): Add mempcpy.
89114
89115 2003-07-14  Simon Josefsson  <jas@extundo.com>
89116
89117         * m4/mempcpy.m4: New file.
89118
89119 2003-07-14  Simon Josefsson  <jas@extundo.com>
89120
89121         * lib/mempcpy.h: New file.
89122         * lib/mempcpy.c: New file.
89123
89124 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89125
89126         * modules/getdate, modules/posixtm: Depend on mktime.
89127
89128 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89129
89130         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
89131         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
89132         unicodeio.c, unicodeio.h, unlocked-io.h:
89133         Switch from LGPL to GPL.
89134
89135 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89136
89137         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
89138         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
89139         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
89140         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
89141         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
89142         updated automatically by ../config/srclist-update.  This changes
89143         their license from LPGL to GPL.
89144
89145 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89146
89147         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
89148         assumed to refer to the root of the most recent stable gettext version.
89149         * config/srclistvars.sh: Add defaults for eggert.
89150         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
89151         Match "This program" as well as "The program".  This is needed
89152         for gettext.
89153
89154 2003-07-14  Jim Meyering  <jim@meyering.net>
89155
89156         Don't emit diagnostics.  Let callers do that.
89157         * lib/save-cwd.c: Don't include "error.h".
89158         (save_cwd): Don't call error.  Ensure that errno is valid
89159         when returning nonzero.
89160
89161         * lib/save-cwd.h (restore_cwd): Update prototype.
89162         * lib/save-cwd.c (restore_cwd): Remove two parameters.
89163         Simplify.  Don't call error upon failure.  Let callers do that.
89164         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
89165         when auditing is enabled.  But don't bother updating the #if.
89166
89167 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
89168
89169         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
89170         it breaks C++ compilation.
89171         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
89172
89173 2003-07-10  Simon Josefsson  <jas@extundo.com>
89174
89175         * modules/strchrnul (Makefile.am): Add strchrnul.h.
89176
89177 2003-07-10  Jim Meyering  <jim@meyering.net>
89178
89179         * m4/clock_time.m4: Remove trailing blank.
89180         * m4/intmax_t.m4: Likewise.
89181
89182 2003-07-10  Jim Meyering  <jim@meyering.net>
89183
89184         * lib/vasnprintf.c: Remove trailing blanks.
89185         Make cpp indentation consistent.
89186
89187 2003-07-09  Paul Eggert  <eggert@twinsun.com>
89188
89189         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
89190         posixver.c, strftime.c, strnlen.c, strverscmp.c:
89191         Switch from LGPL to GPL.
89192
89193 2003-07-09  Paul Eggert  <eggert@twinsun.com>
89194
89195         * config/srclist.txt: Sort sublists.  Add
89196         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
89197         that differ from gnulib for one reason or another; we'd like this list
89198         to be smaller but for now let's document what we have.
89199
89200 2003-07-08  Paul Eggert  <eggert@twinsun.com>
89201
89202         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
89203         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
89204         and sweeter "eval x=$x".
89205         * config/srclist.txt: Get lib/argp* from glibc.
89206
89207 2003-07-07  Paul Eggert  <eggert@twinsun.com>
89208
89209         * lib/mktime.c: Fix some boundary cases and remove need for floating
89210         point.
89211
89212         Issue a compile-time diagnostic if time_t is floating point, or if
89213         two's complement arithmetic is not in effect, or if arithmetic
89214         right shift does not propagate the sign.  These assumptions were
89215         all in the original code but they weren't checked.
89216
89217         (TIME_T_MIDPOINT, verify): New macros.
89218         (__isleap): Remove; it has integer overflow problems.
89219         (leapyear): New function, without those problems.
89220         (ydhms_tm_diff): Remove; splitting into two parts.
89221         (ydhms_diff): New function, containing the arithmetic part of
89222         the old ydhms_tm_diff function.  Issue a compile-time
89223         diagnostic if we are not using C99 integer division.
89224         Avoid casts when possible.
89225         (guess_time_tm): New function, containing the checking part of
89226         the old ydhms_tm_diff function.  Return the new value, rather than
89227         the difference between it and the old.  Accept a new argument T
89228         so that *T specifies the old value.  Check for overflow in the result.
89229
89230         (__mktime_internal): Use a time_t offset, not a long int offset.
89231         This undoes the 2003-06-04 change, which is no longer needed now
89232         that we have better overflow checking.
89233         (localtime_offset): Likewise.
89234
89235         (__mktime_internal): Avoid harmful overflow on hosts where time_t
89236         and long are 64-bit but int is only 32-bit.
89237         (ydhms_diff): Use long int to store year1 and yday1.
89238         Issue a compile-time diagnostic if long int is not wide enough.
89239
89240         (__mktime_internal): Use long int to store adjusted year and yday.
89241         Use plain C rather than preprocessor commands, if that doesn't
89242         affect efficiency.
89243         Check for overflow (and try to repair) after each probe
89244         rather than checking only at the very end.  This avoids some bugs
89245         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
89246         does not equal GMT offset at maximum time).
89247         Use integer to check for overflow rather than floating point; this
89248         is more portable to non-IEEE hosts, and is a tad faster.
89249         When we detect that we are oscillating between two values,
89250         don't check whether tm_isdst has the requested value, since
89251         we already know the answer.  When tm_isdst has the wrong value,
89252         use a different heuristic to find the right one, based on the
89253         extreme values actually observed in practice in tz2003a,
89254         rather than the (overly optimistic) "previous 3 calendar quarters".
89255
89256         (not_equal_tm, print_tm, check_result): Use "const T" rather than
89257         "T const" to accommodate glibc style.
89258         (check_result): Use less-confusing report format.  "long" -> "long int.
89259         (main): Likewise.
89260         Don't loop if the iteration overflows time_t.
89261         Allow a negative step in the iteration.
89262
89263 2003-07-06  Karl Berry  <karl@gnu.org>
89264
89265         * config/depcomp: update from automake.
89266         * config/config.sub: update from prep.
89267
89268 2003-07-03  Karl Berry  <karl@gnu.org>
89269
89270         * config/config.guess: update from prep.
89271
89272 2003-07-01  Paul Eggert  <eggert@twinsun.com>
89273
89274         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
89275         xreadlink.c now includes it unconditionally.
89276
89277 2003-07-01  Paul Eggert  <eggert@twinsun.com>
89278
89279         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
89280         having it depend on HAVE_SYS_TYPES_H.
89281
89282 2003-07-01  Bruno Haible  <bruno@clisp.org>
89283
89284         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
89285         <sys/types.h> should be sufficient.
89286         Reported by Paul Eggert.
89287
89288 2003-06-26  Karl Berry  <karl@gnu.org>
89289
89290         * config/depcomp: update from automake.
89291
89292 2003-06-26  Bruno Haible  <bruno@clisp.org>
89293
89294         * modules/human: Depend on module stdbool.
89295
89296 2003-06-25  Bruno Haible  <bruno@clisp.org>
89297
89298         * modules/readlink: New file.
89299         * modules/xreadlink: Depend on it.
89300         * MODULES.html.sh (func_all_modules): Add readlink.
89301
89302 2003-06-25  Bruno Haible  <bruno@clisp.org>
89303
89304         * m4/readlink.m4: New file.
89305
89306 2003-06-25  Bruno Haible  <bruno@clisp.org>
89307
89308         * lib/readlink.c: New file.
89309
89310 2003-06-22  Karl Berry  <karl@gnu.org>
89311
89312         * config/srclist.txt: update mkinstalldirs from automake.
89313         * config/mkinstalldirs: update.
89314
89315 2003-06-22  Bruno Haible  <bruno@clisp.org>
89316
89317         Portability to mingw32.
89318         * m4/ssize_t.m4: New file, from GNU gettext.
89319         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
89320         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
89321
89322 2003-06-22  Bruno Haible  <bruno@clisp.org>
89323
89324         * modules/safe-read: Add m4/ssize_t.m4.
89325         * modules/xreadlink: Add m4/ssize_t.m4.
89326
89327 2003-06-20  Bruno Haible  <bruno@clisp.org>
89328
89329         Assume C89, so PARAMS isn't needed.
89330         * lib/unicodeio.h (PARAMS): Remove.
89331         * lib/unicodeio.c: Don't use PARAMS.
89332
89333 2003-06-18  Karl Berry  <karl@gnu.org>
89334
89335         * config/config.{guess,sub}: update from prep.
89336
89337 2003-06-18  Jim Meyering  <jim@meyering.net>
89338
89339         Merge changes from coreutils.
89340         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
89341         Remove explicit declarations of xmalloc and realloc.
89342         Include xalloc.h.
89343         (read_utmp): Remove anachronistic cast of xmalloc.
89344
89345 2003-06-17  Paul Eggert  <eggert@twinsun.com>
89346
89347         Assume C89, so PARAMS isn't needed.
89348         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
89349         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
89350         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
89351         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
89352         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
89353         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
89354         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
89355         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
89356         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
89357         lib/xstrtod.h, lib/xstrtol.h: Likewise.
89358         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
89359         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
89360         no longer needed. Anyway, config.h should always be included before any
89361         other file.
89362
89363 2003-06-11  Simon Josefsson  <jas@extundo.com>
89364
89365         * modules/sysexits: New file.
89366         * MODULES.html.sh (func_all_modules): Add sysexits.
89367
89368 2003-06-11  Simon Josefsson  <jas@extundo.com>
89369
89370         * lib/sysexit_.h: New file.
89371
89372 2003-06-11  Derek Price  <derek@ximbiot.com>
89373
89374         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
89375         necessary.
89376
89377 2003-06-11  Bruno Haible  <bruno@clisp.org>
89378
89379         * m4/sysexits.m4: New file.
89380
89381 2003-06-10  Simon Josefsson  <jas@extundo.com>
89382
89383         * lib/argp.h: New file, from glibc.
89384         * lib/argp-ba.c: New file, from glibc.
89385         * lib/argp-eexst.c: New file, from glibc.
89386         * lib/argp-fmtstream.c: New file, from glibc.
89387         * lib/argp-fmtstream.h: New file, from glibc.
89388         * lib/argp-fs-xinl.c: New file, from glibc.
89389         * lib/argp-help.c: New file, from glibc.
89390         * lib/argp-namefrob.h: New file, from glibc.
89391         * lib/argp-parse.c: New file, from glibc.
89392         * lib/argp-pv.c: New file, from glibc.
89393         * lib/argp-pvh.c: New file, from glibc.
89394         * lib/argp-xinl.c: New file, from glibc.
89395
89396 2003-06-10  Simon Josefsson  <jas@extundo.com>
89397
89398         * modules/strchrnul: New file.
89399
89400 2003-06-10  Simon Josefsson  <jas@extundo.com>
89401
89402         * modules/argp: New file.
89403
89404 2003-06-10  Simon Josefsson  <jas@extundo.com>
89405
89406         * m4/strchrnul.m4: New file.
89407
89408 2003-06-10  Simon Josefsson  <jas@extundo.com>
89409
89410         * lib/strchrnul.h: New file.
89411         * lib/strchrnul.c: New file.
89412
89413 2003-06-10  Bruno Haible  <bruno@clisp.org>
89414
89415         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
89416
89417 2003-06-07  Karl Berry  <karl@gnu.org>
89418
89419         * config/config.{guess,sub}: update from prep.
89420
89421 2003-06-07  Jim Meyering  <jim@meyering.net>
89422
89423         * modules/strtod: Use $(...) notation, not @...@ for
89424         AC_REPLACE'd variables.
89425         * modules/localcharset: Likewise.
89426
89427 2003-06-07  Jim Meyering  <jim@meyering.net>
89428
89429         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
89430         in place of my name in the copyright comment.
89431         Remove definition and uses of __P.
89432
89433         From coreutils.
89434         * lib/stat.c: Don't declare xmalloc explicitly.
89435         Instead, include "xalloc.h".
89436         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
89437         xrealloc, and xcalloc return values.
89438         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
89439         Improve comment.
89440         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
89441
89442 2003-06-07  Bruno Haible  <bruno@clisp.org>
89443
89444         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
89445         avoid AC_CONFIG_LINKS.
89446         * modules/fnmatch (Makefile.am): Use explicit creation rule for
89447         fnmatch.h, to avoid AC_CONFIG_LINKS.
89448         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
89449
89450 2003-06-07  Bruno Haible  <bruno@clisp.org>
89451
89452         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
89453         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
89454         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
89455         directory.
89456         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
89457         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
89458         directory.
89459
89460 2003-06-06  Jim Meyering  <jim@meyering.net>
89461
89462         Merge from coreutils.
89463         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
89464         Consolidate declarations and initializations of *_base* locals.
89465
89466         Merge from coreutils.
89467         This avoids a core dump on systems without GNU putenv,
89468         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
89469         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
89470         (unsetenv): New static function, from GNU libc.
89471         (rpl_putenv): Use it.
89472
89473         * lib/modechange.c: Remove trailing blanks.
89474
89475         Merge from coreutils.
89476         * lib/fsusage.c: Remove declaration of statfs.
89477         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
89478
89479         * lib/posixtm.c: Include <stdbool.h> unconditionally.
89480
89481 2003-06-06  Jim Meyering  <jim@meyering.net>
89482
89483         * lib/stdbool_.h: Renamed from stdbool.h.in.
89484
89485 2003-06-06  Jim Meyering  <jim@meyering.net>
89486             Bruno Haible  <bruno@clisp.org>
89487
89488         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
89489         Adjust Makefile.am snippet not to redirect directly to target.
89490         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
89491
89492 2003-06-05  Paul Eggert  <eggert@twinsun.com>
89493
89494         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
89495         mismatch, look in future quarters as well as past.  This fixes a
89496         bug when processing fall-backwards gaps immediately after a long
89497         period of daylight-saving time.
89498
89499         * lib/mktime.c: Assume freestanding C89 or better.
89500         (HAVE_LIMITS_H): Remove.  Assume it's 1.
89501         (__P): Remove; not used.
89502         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
89503         (mktime, not_equal_tm, print_tm, check_result,
89504         main): Use prototypes.  Use const * where appropriate.
89505         (main): Fix typo in testing code that uncovered by above changes.
89506         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
89507
89508 2003-06-04  Paul Eggert  <eggert@twinsun.com>
89509
89510         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
89511         locale.h, localeconv.  This merges changes from coreutils.
89512
89513         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
89514         It can be removed after the next Autoconf is released.
89515         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
89516         needed.
89517
89518 2003-06-04  Paul Eggert  <eggert@twinsun.com>
89519
89520         * lib/mktime.c: Fix Debian bug 177940
89521         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
89522         (localtime_offset): Now long int, not time_t, because we want it
89523         to be guaranteed to be signed.  All uses changed.
89524         (__mktime_internal): If overflow would occur when adding offset,
89525         don't add it.
89526
89527         Merge 'human' changes from coreutils.  Rewrite to support
89528         locale-specific notations like thousands separators.
89529         * lib/human.c: Simplify authorship notice.
89530         Include human.h immediately after config.h.
89531         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
89532         <limits.h>: Do not include, since human.h does.
89533         (SIZE_MAX, UINTMAX_MAX): New macros.
89534         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
89535         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
89536         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
89537         (power_letter): Renamed from suffixes.
89538         (generate_suffix_backwards): Remove.
89539         (adjust_value): Now takes int style (because of human.h changes)
89540         and long double value (for greater precision on some platforms).
89541         (group_number): New function.
89542         (human_readable): Use it.  Use integer options, not enum.
89543         Put the options before the sizes in the arg list.
89544         Support all the new options.
89545         The old human_readable function has been removed;
89546         use inttostr.h instead.
89547         (human_readable, default_block_size, humblock):
89548         Use uintmax_t, not int, for block sizes.
89549         (human_readable_inexact, block_size_types): Remove.
89550         (block_size_opts): New constant.
89551         (human_options): Renamed from human_block_size, with new signature
89552         that allows block sizes up to UINTMAX_MAX.  All callers changed.
89553         * lib/human.h: Add copyright and authorship notice.
89554         Include <limits.h> and <stdbool.h> unconditionally.
89555         (PARAMS): Remove.  All uses removed.
89556         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
89557         (enum human_inexact_style): Remove tag; now a nameless enum.
89558         (human_floor, human_ceiling, human_round_to_even): Now have
89559         values 2, 0, 1 rather than -1, 1, 0.
89560         (human_group_digits, human_suppress_point_zero, human_autoscale,
89561         human_base_1024, human_SI, human_B): New constants.
89562         (human_readable_inexact, human_block_size): Remove.
89563         (human_readable): Size args are now uintmax_t, not int.
89564         (human_options): New decl.
89565
89566         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
89567         unnecessary now that we assume C89 or better.  This change
89568         imported from coreutils.
89569
89570         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
89571         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
89572         in the 2003-05-30 sync from glibc.
89573
89574         .h files should stand alone, but we shouldn't include <sys/types.h>
89575         if we can get away with just <stddef.h>.
89576
89577         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
89578         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
89579         rather than <sys/types.h>, as we merely need size_t.
89580         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
89581         to get size_t.
89582         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
89583         Include <stdio.h>, to get FILE.
89584         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
89585         memcasecmp.h has included <stddef.h> and all we need is size_t.
89586         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
89587         our interface, instead of including <sys/types.h>
89588
89589 2003-06-04  Paul Eggert  <eggert@twinsun.com>
89590
89591         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
89592         now, as glibc mktime is buggy on non-glibc systems.
89593
89594 2003-06-03  Karl Berry  <karl@gnu.org>
89595
89596         * config/config.sub: update from prep.
89597
89598 2003-06-02  Paul Eggert  <eggert@twinsun.com>
89599
89600         [from coreutils]
89601         Fix some minor time-related bugs with POSIX time arguments.
89602         Some valid time stamps were being rejected (notably -1, and
89603         time stamps before 1900 on 64-bit hosts).  And some invalid
89604         time stamps were being accepted, e.g. September 31.
89605
89606         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
89607         that we can return (time_t) -1 successfully.
89608         * lib/posixtm.c: Likewise.
89609         [HAVE_STDBOOL_H]: Include <stdbool.h>.
89610         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
89611         (t): Remove static var.
89612         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
89613         of static var.  All uses changed.
89614         (year): Do not reject years before 1900; they can occur with
89615         64-bit time_t.
89616         (posix_time_parse): Do not check for out-of-range components;
89617         that is now the caller's responsibility, since our checks were
89618         only approximations.
89619         (posixtime): Use mktime to check for out-of-range components,
89620         since it knows them exactly.
89621         If mktime returns (time_t) -1, check whether an error actually occurred
89622         by invoking localtime on -1.
89623         (main) [TEST_POSIXTIME]: Check for input data errors, and report
89624         posixtime failures better.
89625         Improve the test data (in comments only).
89626
89627 2003-06-02  Karl Berry  <karl@gnu.org>
89628
89629         * config/mkinstalldirs (version): new variable.
89630         (--version): new option.
89631         (usage): improve message.
89632
89633 2003-05-30  Karl Berry  <karl@gnu.org>
89634
89635         * lib/mktime.c: update from libc.
89636
89637 2003-05-30  Bruno Haible  <bruno@clisp.org>
89638
89639         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
89640         * config/config.rpath: Upgrade to gettext-0.12.1.
89641
89642 2003-05-30  Bruno Haible  <bruno@clisp.org>
89643
89644         * m4/gettext.m4: Upgrade to gettext-0.12.1.
89645         * m4/nls.m4: New file, from gettext-0.12.1.
89646         * m4/po.m4: New file, from gettext-0.12.1.
89647         * m4/progtest.m4: Upgrade to gettext-0.12.1.
89648
89649 2003-05-30  Bruno Haible  <bruno@clisp.org>
89650
89651         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
89652         * lib/localcharset.h: Likewise.
89653         * lib/localcharset.c: Likewise.
89654
89655 2003-05-29  Karl Berry  <karl@gnu.org>
89656
89657         * config/config.rpath: update from gettext.
89658
89659 2003-05-28  Paul Eggert  <eggert@twinsun.com>
89660
89661         Assume the headers required for C89 freestanding compilers.
89662         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
89663         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
89664         * m4/human.m4 (gl_HUMAN): Likewise.
89665         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
89666         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
89667         * m4/userspec.m4 (gl_USERSPEC): Likewise.
89668         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
89669         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
89670         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
89671
89672 2003-05-28  Paul Eggert  <eggert@twinsun.com>
89673
89674         Assume the headers required for C89 freestanding compilers.
89675         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
89676         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
89677         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
89678         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
89679         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
89680         define, since <limits.h> is guaranteed to do that.
89681         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
89682         * lib/exclude.c: Include <stdbool.h> unconditionally.
89683         * lib/tempname.c: Include <stddef.h> unconditionally.
89684         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
89685         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
89686         <stddef.h> does that.
89687         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
89688         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
89689         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
89690         needed.
89691         * lib/xstrtol.c: Likewise.
89692         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
89693         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
89694
89695         * lib/addext.c (addext): Use assignment rather than cast, to avoid
89696         warnings on some platforms.
89697
89698         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
89699         arbitrarily.
89700
89701 2003-05-26  Jim Meyering  <jim@meyering.net>
89702
89703         Merge in a change from coreutils:
89704         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
89705         that is guaranteed to be `no'.  Use `no_such_member' to indicate
89706         that condition, rather than `-1' which is slightly misleading.
89707         Change the name of the cache variable to have the gl_ prefix.
89708         Prompted by a patch from Richard Dawe for DJGPP.
89709
89710 2003-05-24  Karl Berry  <karl@gnu.org>
89711
89712         * config/config.guess: update from prep.
89713
89714 2003-05-22  Karl Berry  <karl@gnu.org>
89715
89716         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
89717
89718 2003-05-20  Karl Berry  <karl@gnu.org>
89719
89720         * config/config.guess: update from prep.
89721
89722 2003-05-18  Karl Berry  <karl@gnu.org>
89723
89724         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
89725         might actually be set by the user.
89726
89727         * config/depcomp, install-sh, mdate-sh: update from automake.
89728
89729 2003-05-17  Bruno Haible  <bruno@clisp.org>
89730
89731         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
89732         invalid expansion for AC_EGREP_CPP.
89733         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
89734         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
89735         Suggested by Akim Demaille <akim@epita.fr> in
89736         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
89737
89738 2003-05-12  Jim Meyering  <jim@meyering.net>
89739
89740         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
89741         the space-padded-by-default conversion specifiers, %e, %k, %l.
89742
89743 2003-05-12  Bruno Haible  <bruno@clisp.org>
89744
89745         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
89746         the string is longer than 4 KB.
89747
89748 2003-05-11  Karl Berry  <karl@gnu.org>
89749
89750         * config/config.{guess,sub}: update from prep.
89751
89752 2003-05-09  Bruno Haible  <bruno@clisp.org>
89753
89754         * modules/error: Add m4/strerror_r.m4 to file list.
89755
89756 2003-05-03  Bruno Haible  <bruno@clisp.org>
89757
89758         Upgrade to Unicode-4.0.
89759         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
89760         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
89761         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
89762         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
89763         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
89764         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
89765         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
89766         Change width of U+E0100..U+E01EF from 1 to 0.
89767
89768 2003-04-25  Jim Meyering  <jim@meyering.net>
89769
89770         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
89771         of type size_t, not int.
89772
89773 2003-04-25  Bruno Haible  <bruno@clisp.org>
89774
89775         * lib/copy-file.c: Include <stddef.h>, for size_t.
89776
89777 2003-04-21  Paul Eggert  <eggert@twinsun.com>
89778
89779         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
89780         code which expansion is under static control.  Patch imported from
89781         Akim Demaille's patch to Bison; see
89782         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
89783
89784 2003-04-14  Bruno Haible  <bruno@clisp.org>
89785
89786         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
89787
89788 2003-04-11  Jim Meyering  <jim@meyering.net>
89789
89790         Merge changes from Coreutils.
89791
89792         2003-03-22  Jim Meyering  <jim@meyering.net>
89793
89794         * lib/strftime.c (widen): Cast alloca return value to proper type.
89795
89796         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
89797
89798         From GNU libc.
89799         * lib/strftime.c (my_strftime): Handle very large width
89800         specifications for numeric values correctly.  Improve checks for
89801         overflow.
89802
89803         2003-01-19  Jim Meyering  <jim@meyering.net>
89804
89805         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
89806         definitions.
89807         (nl_get_alt_digit) [! defined my_strftime]: Define.
89808         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
89809         _nl_get_alt_digit and _nl_get_walt_digit.
89810
89811         * lib/strftime.c (my_strftime): Merge in locale-related changes from
89812         libc. These changes have no effect outside of _LIBC.
89813
89814 2003-04-10  Bruno Haible  <bruno@clisp.org>
89815
89816         * modules/findprog: New file.
89817         * MODULES.html.sh (func_all_modules): Add it.
89818
89819 2003-04-10  Bruno Haible  <bruno@clisp.org>
89820
89821         * m4/findprog.m4: New file.
89822         * m4/eaccess.m4: New file.
89823
89824 2003-04-10  Bruno Haible  <bruno@clisp.org>
89825
89826         * lib/findprog.h: New file, from GNU gettext.
89827         * lib/findprog.c: New file, from GNU gettext.
89828
89829 2003-04-05  Jim Meyering  <jim@meyering.net>
89830
89831         Merge changes from Coreutils.
89832
89833         * lib/exclude.h (PARAMS): Remove definition and uses.
89834         * lib/exclude.c: Remove uses of `PARAMS'.
89835
89836         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
89837         Add test-cases for DOS filenames. Declare program_name.
89838         (main): Set up program_name.  Patch by Rich Dawe.
89839
89840         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
89841         error from mntctl.
89842         Use mntctl's return value to drive the entry-processing loop, since
89843         we can't rely on the value of the vmt_length member in the last
89844         entry.  On some systems doing so could result in exhausting
89845         virtual memory.  Based in part on a patch from Mike Jetzer.
89846
89847 2003-04-04  Bruno Haible  <bruno@clisp.org>
89848
89849         * modules/linebreak: New file.
89850         * MODULES.html.sh (func_all_modules): Add it.
89851
89852 2003-04-04  Bruno Haible  <bruno@clisp.org>
89853
89854         * m4/linebreak.m4: New file.
89855
89856 2003-04-04  Bruno Haible  <bruno@clisp.org>
89857
89858         * lib/linebreak.h: New file, from GNU gettext.
89859         * lib/linebreak.c: New file, from GNU gettext with slight
89860         modifications.
89861         * lib/lbrkprop.h: New file, from GNU gettext.
89862
89863 2003-04-03  Bruno Haible  <bruno@clisp.org>
89864
89865         * modules/utf8-ucs4: New file.
89866         * modules/utf16-ucs4: New file.
89867         * modules/ucs4-utf8: New file.
89868         * modules/ucs4-utf16: New file.
89869         * MODULES.html.sh (func_all_modules): Add them.
89870
89871 2003-04-03  Bruno Haible  <bruno@clisp.org>
89872
89873         * m4/utf-ucs4.m4: New file.
89874         * m4/ucs4-utf.m4: New file.
89875
89876 2003-04-03  Bruno Haible  <bruno@clisp.org>
89877
89878         * lib/utf8-ucs4.h: New file, from GNU gettext.
89879         * lib/utf16-ucs4.h: New file, from GNU gettext.
89880         * lib/ucs4-utf8.h: New file, from GNU gettext.
89881         * lib/ucs4-utf16.h: New file, from GNU gettext.
89882
89883 2003-04-02  Bruno Haible  <bruno@clisp.org>
89884
89885         * modules/binary-io: New file.
89886         * MODULES.html.sh (func_all_modules): Add it.
89887
89888 2003-04-02  Bruno Haible  <bruno@clisp.org>
89889
89890         * lib/binary-io.h: New file, from GNU gettext.
89891
89892 2003-04-01  Bruno Haible  <bruno@clisp.org>
89893
89894         * modules/pathname: New file.
89895         * MODULES.html.sh (func_all_modules): Add it.
89896
89897 2003-04-01  Bruno Haible  <bruno@clisp.org>
89898
89899         * lib/pathname.h: New file, from GNU gettext.
89900         * lib/concatpath.c: New file, from GNU gettext.
89901
89902 2003-03-30  Bruno Haible  <bruno@clisp.org>
89903
89904         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
89905
89906 2003-03-30  Bruno Haible  <bruno@clisp.org>
89907
89908         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
89909         function chown() doesn't exist.
89910
89911 2003-03-28  Bruno Haible  <bruno@clisp.org>
89912
89913         * modules/copy-file: New file.
89914         * MODULES.html.sh (func_all_modules): Add it.
89915
89916 2003-03-28  Bruno Haible  <bruno@clisp.org>
89917
89918         * m4/copy-file.m4: New file.
89919
89920 2003-03-28  Bruno Haible  <bruno@clisp.org>
89921
89922         * lib/copy-file.h: New file, from GNU gettext.
89923         * lib/copy-file.c: New file, from GNU gettext.
89924
89925 2003-03-18  Jim Meyering  <jim@meyering.net>
89926
89927         * lib/quote.c (quote_n): Fix typo in comment.
89928
89929 2003-03-18  Bruno Haible  <bruno@clisp.org>
89930
89931         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
89932         checking.
89933         * m4/onceonly_2_57.m4: Likewise.
89934
89935 2003-03-17  Bruno Haible  <bruno@clisp.org>
89936
89937         * m4/onceonly.m4: Require autoconf 2.54 or newer.
89938         (m4_quote): Remove macro.
89939         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
89940
89941 2003-03-14  Jim Meyering  <jim@meyering.net>
89942
89943         Merge changes from Coreutils.
89944         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
89945         to be const, in order to avoid warnings.
89946         (obstack_room): Likewise.
89947         (obstack_empty_p): Likewise.
89948
89949 2003-03-14  Bruno Haible  <bruno@clisp.org>
89950
89951         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
89952         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
89953
89954 2003-03-13  Paul Eggert  <eggert@twinsun.com>
89955
89956         Merge changes from Bison.
89957         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
89958         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
89959         when compiling Bison 1.875's `bitset bset = obstack_alloc
89960         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
89961         * lib/hash.c: Include <stdbool.h> unconditionally.
89962
89963 2003-03-13  Paul Eggert  <eggert@twinsun.com>
89964
89965         * m4/onceonly.m4 (m4_quote): New macro.
89966         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
89967         Quote AC_FOREACH variable-expansions properly.
89968
89969 2003-03-13  Paul Eggert  <eggert@twinsun.com>
89970
89971         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
89972
89973 2003-03-09  Paul Eggert  <eggert@twinsun.com>
89974
89975         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
89976         Reported by Bruce Becker; see:
89977         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
89978
89979 2003-03-03  Paul Eggert  <eggert@twinsun.com>
89980             Bruno Haible  <bruno@clisp.org>
89981
89982         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
89983         Reported by John Hughes, see
89984         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
89985
89986 2003-02-20  Bruno Haible  <bruno@clisp.org>
89987
89988         * MODULES.html.sh (func_all_modules): Add poll.
89989
89990 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
89991
89992         * modules/poll: New file.
89993
89994 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
89995
89996         * lib/poll_.h: New file.
89997         * lib/poll.c: New file.
89998
89999 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
90000
90001         * m4/poll.m4: New file.
90002
90003 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
90004
90005         * modules/mathl: New file.
90006
90007 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
90008
90009         * lib/mathl.h: New file.
90010         * lib/acosl.c: New file.
90011         * lib/asinl.c: New file.
90012         * lib/atanl.c: New file.
90013         * lib/ceill.c: New file.
90014         * lib/cosl.c: New file.
90015         * lib/expl.c: New file.
90016         * lib/floorl.c: New file.
90017         * lib/frexpl.c: New file.
90018         * lib/ldexpl.c: New file.
90019         * lib/logl.c: New file.
90020         * lib/sincosl.c: New file.
90021         * lib/sinl.c: New file.
90022         * lib/sqrtl.c: New file.
90023         * lib/tanl.c: New file.
90024         * lib/trigl.c: New file.
90025         * lib/trigl.h: New file.
90026
90027 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
90028
90029         * m4/mathl.m4: New file.
90030
90031 2003-02-18  Bruno Haible  <bruno@clisp.org>
90032
90033         * MODULES.html.sh (func_all_modules): Add mathl.
90034
90035 2003-02-17  Bruno Haible  <bruno@clisp.org>
90036
90037         * modules/mkdtemp: New module.
90038         * MODULES.html.sh (func_all_modules): Add it.
90039
90040 2003-02-17  Bruno Haible  <bruno@clisp.org>
90041
90042         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
90043
90044 2003-02-17  Bruno Haible  <bruno@clisp.org>
90045
90046         * lib/mkdtemp.h: New file, from GNU gettext.
90047         * lib/mkdtemp.c: New file, from GNU gettext.
90048
90049 2003-02-02  Jim Meyering  <jim@meyering.net>
90050
90051         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
90052         e.g. glibc-2.2.93.
90053
90054 2003-01-31  Bruno Haible  <bruno@clisp.org>
90055
90056         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
90057         'rpl_rename'.
90058         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
90059         'rpl_strnlen'.
90060         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
90061         'rpl_strtod'.
90062         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
90063         'rpl_utime'.
90064
90065 2003-01-31  Bruno Haible  <bruno@clisp.org>
90066
90067         * lib/rename.c: #undef rename before defining rpl_rename.
90068         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
90069
90070 2003-01-30  Bruno Haible  <bruno@clisp.org>
90071
90072         * modules/vasnprintf, modules/vasprintf: New modules.
90073         * MODULES.html.sh (func_all_modules): Add them.
90074
90075 2003-01-30  Bruno Haible  <bruno@clisp.org>
90076
90077         * m4/signed.m4: New file, from GNU gettext.
90078         * m4/longdouble.m4: New file, from GNU gettext.
90079         * m4/wchar_t.m4: New file, from GNU gettext.
90080         * m4/wint_t.m4: New file, from GNU gettext.
90081         * m4/vasnprintf.m4: New file.
90082         * m4/vasprintf.m4: New file.
90083
90084 2003-01-30  Bruno Haible  <bruno@clisp.org>
90085
90086         * lib/printf-args.h: New file, from GNU gettext.
90087         * lib/printf-args.c: New file, from GNU gettext.
90088         * lib/printf-parse.h: New file, from GNU gettext.
90089         * lib/printf-parse.c: New file, from GNU gettext.
90090         * lib/vasnprintf.h: New file, from GNU gettext.
90091         * lib/vasnprintf.c: New file, from GNU gettext.
90092         * lib/asnprintf.c: New file, from GNU gettext.
90093         * lib/vasprintf.h: New file, from GNU gettext with modifications.
90094         * lib/vasprintf.c: New file, from GNU gettext.
90095         * lib/asprintf.c: New file, from GNU gettext.
90096
90097 2003-01-29  Bruno Haible  <bruno@clisp.org>
90098
90099         * modules/stpncpy: New module.
90100         * MODULES.html.sh (func_all_modules): Add it.
90101
90102 2003-01-29  Bruno Haible  <bruno@clisp.org>
90103
90104         * m4/stpncpy.m4: New file.
90105
90106 2003-01-29  Bruno Haible  <bruno@clisp.org>
90107
90108         * lib/stpncpy.h: New file, from GNU gettext with modifications.
90109         * lib/stpncpy.c: New file, from GNU gettext with modifications.
90110
90111 2003-01-28  Bruno Haible  <bruno@clisp.org>
90112
90113         * modules/c-ctype: New module.
90114         * MODULES.html.sh (func_all_modules): Add it.
90115
90116 2003-01-28  Bruno Haible  <bruno@clisp.org>
90117
90118         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
90119         Paul Eggert.
90120         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
90121         Paul Eggert.
90122
90123 2003-01-27  Bruno Haible  <bruno@clisp.org>
90124
90125         * modules/xsetenv: New module.
90126         * MODULES.html.sh (func_all_modules): Add it.
90127
90128 2003-01-27  Bruno Haible  <bruno@clisp.org>
90129
90130         * lib/xsetenv.h: New file, from GNU gettext.
90131         * lib/xsetenv.c: New file, from GNU gettext.
90132
90133 2003-01-23  Jim Meyering  <jim@meyering.net>
90134
90135         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
90136         from working on systems without dirfd (at least Irix and OSF1/Tru64).
90137
90138 2003-01-23  Bruno Haible  <bruno@clisp.org>
90139
90140         * modules/minmax: New module.
90141         * MODULES.html.sh (func_all_modules): Add it.
90142
90143 2003-01-23  Bruno Haible  <bruno@clisp.org>
90144
90145         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
90146         Eggert.
90147
90148 2003-01-22  Bruno Haible  <bruno@clisp.org>
90149
90150         * modules/exit: New module.
90151         * MODULES.html.sh (func_all_modules): Add it.
90152
90153 2003-01-22  Bruno Haible  <bruno@clisp.org>
90154
90155         * lib/exit.h: New file, from GNU gettext.
90156
90157 2003-01-19  Bruno Haible  <bruno@clisp.org>
90158
90159         * gnulib-tool: Recognize option --extract-maintainer.
90160         (func_get_maintainer): New function.
90161         * modules/*: Add Maintainer entry.
90162
90163 2003-01-16  Jim Meyering  <jim@meyering.net>
90164
90165         * m4/regex.m4: The `regex' struct is both input and output.
90166         Initialize it before each use.  Patch by Tim Waugh.
90167
90168 2003-01-16  Bruno Haible  <bruno@clisp.org>
90169
90170         * MODULES.html.sh: Add a table of contents. Add the module name as
90171         leftmost column. Add hyperlinks.
90172
90173 2003-01-15  Bruno Haible  <bruno@clisp.org>
90174
90175         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
90176
90177 2003-01-15  Bruno Haible  <bruno@clisp.org>
90178
90179         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
90180         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
90181         suffix.
90182
90183 2003-01-15  Bruno Haible  <bruno@clisp.org>
90184
90185         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
90186
90187 2003-01-15  Bruno Haible  <bruno@clisp.org>
90188
90189         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
90190         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
90191
90192 2003-01-14  Jim Meyering  <jim@meyering.net>
90193
90194         * lib/same.c (same_name): Tweak a comment.
90195
90196 2003-01-14  Bruno Haible  <bruno@clisp.org>
90197
90198         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
90199         when a string comparison is sufficient.
90200
90201 2003-01-14  Bruno Haible  <bruno@clisp.org>
90202
90203         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
90204         'unsigned int'.
90205
90206 2003-01-14  Bruno Haible  <bruno@clisp.org>
90207
90208         * lib/hash-pjw.c: Add comment about low quality of this function.
90209
90210 2003-01-13  Bruno Haible  <bruno@clisp.org>
90211
90212         * modules/stpcpy: Distribute lib/stpcpy.h.
90213         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
90214
90215 2003-01-13  Bruno Haible  <bruno@clisp.org>
90216
90217         * modules/*: Add a description.
90218         * modules/strpbrk: Fix Makefile.am snippet.
90219         * modules/strtoimax: Fix dependencies.
90220         * modules/strtoumax: Likewise.
90221
90222 2003-01-13  Bruno Haible  <bruno@clisp.org>
90223
90224         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
90225         * modules/alloca (Makefile.am): All object files depend on alloca.h.
90226         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
90227
90228 2003-01-13  Bruno Haible  <bruno@clisp.org>
90229
90230         * gnulib-tool (func_create_testdir): Store config/* files in the main
90231         directory.
90232         * config.rpath: Move to ...
90233         * config/config.rpath: ... here.
90234         * modules/gettext: Contains config/config.rpath, not config.rpath.
90235         * modules/iconv: Likewise.
90236
90237 2003-01-12  Paul Eggert  <eggert@twinsun.com>
90238
90239         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
90240         to avoid collisions with libcurses and libreadline.
90241
90242         * m4/getstr.m4: Remove.
90243         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
90244
90245 2003-01-12  Paul Eggert  <eggert@twinsun.com>
90246
90247         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
90248         to avoid collisions with libcurses and libreadline.
90249
90250         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
90251         * lib/getstr.h, getstr.c: Remove.
90252         * lib/getline.c: Include "getline.h", to check interface.
90253         Move body of old getstr.c here: this defines MIN_CHUNK and
90254         declares getdelim2, which is renamed from getstr.
90255         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
90256
90257         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
90258         All uses changed.
90259         * lib/linebuffer.h: Likewise.
90260         (readline): Remove backward-compatibility macro.
90261
90262 2003-01-12  Paul Eggert  <eggert@twinsun.com>
90263
90264         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
90265         to avoid collisions with libcurses and libreadline.
90266         * getstr: Remove.
90267         * MODULES.html.sh: Remove getstr.
90268         * modules/getline: Depend on unlocked-io, not getstr.
90269
90270 2003-01-12  Jim Meyering  <jim@meyering.net>
90271
90272         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
90273
90274 2003-01-10  Bruno Haible  <bruno@clisp.org>
90275
90276         * modules/alloca: Change Makefile.am requirements. Simplify Include
90277         requirements. Add lib/alloca_.h to file list.
90278
90279 2003-01-10  Bruno Haible  <bruno@clisp.org>
90280
90281         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
90282
90283 2003-01-10  Bruno Haible  <bruno@clisp.org>
90284
90285         * lib/alloca_.h: New file.
90286         * lib/getdate.y: Unconditionally include alloca.h.
90287         * lib/makepath.c: Likewise.
90288         * lib/setenv.c: Likewise.
90289         * lib/userspec.c: Likewise.
90290
90291 2003-01-09  Karl Berry  <karl@gnu.org>
90292
90293         * MODULES.html.sh: include `dirname $0` in PATH, to find
90294         gnulib-tool.
90295
90296 2003-01-09  Bruno Haible  <bruno@clisp.org>
90297
90298         * modules/stdbool: Change configure.ac, Makefile.am requirements.
90299         Simplify Include requirements. Add lib/stdbool.h.in to file list.
90300
90301 2003-01-09  Bruno Haible  <bruno@clisp.org>
90302
90303         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
90304
90305 2003-01-09  Bruno Haible  <bruno@clisp.org>
90306
90307         * lib/stdbool.h.in: New file.
90308
90309 2003-01-09  Bruno Haible  <bruno@clisp.org>
90310
90311         * gnulib-tool (func_all_modules): Ignore files ending in ~.
90312         * MODULES.html.sh: Likewise.
90313
90314 2003-01-08  Jim Meyering  <jim@meyering.net>
90315
90316         * lib/full-write.c: Undefine and define-away `const' after inclusion
90317         of errno.h, not before.  Suggestion from Bruno Haible.
90318
90319 2003-01-08  Bruno Haible  <bruno@clisp.org>
90320
90321         * modules/full-read: Depend on full-write.
90322
90323 2003-01-08  Bruno Haible  <bruno@clisp.org>
90324
90325         * lib/safe-read.c: Include specification header first, to ensure its
90326         selfcontainedness.
90327         * lib/full-write.c: Likewise.
90328
90329 2003-01-07  Jim Meyering  <jim@meyering.net>
90330
90331         * lib/full-write.c: Rework so that it may serve to define full_read,
90332         too.
90333         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
90334
90335 2003-01-07  Bruno Haible  <bruno@clisp.org>
90336
90337         * lib/strtoimax.c: Include <stdint.h> as an alternative to
90338         <inttypes.h>.
90339         * lib/xstrtol.h: Likewise.
90340         * lib/xstrtoimax.c: Likewise.
90341         * lib/xstrtoumax.c: Likewise.
90342         * lib/human.h: Likewise.
90343
90344         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
90345         on systems that have <inttypes.h> but not <stdint.h>.
90346
90347 2003-01-07  Bruno Haible  <bruno@clisp.org>
90348
90349         * MODULES.html.sh: Add copyright notice.
90350         (missed_files): Omit CVS directory entries.
90351         (func_module): Make it work with sed-3.02.
90352         * MODULES.txt: Remove file.
90353
90354 2003-01-06  Jim Meyering  <jim@meyering.net>
90355
90356         * lib/version-etc.c: Update year in translatable copyright string.
90357
90358 2003-01-03  Karl Berry  <karl@gnu.org>
90359
90360         * config/config.{guess,sub}: update from prep.
90361
90362 2003-01-02  Karl Berry  <karl@gnu.org>
90363
90364         * doc/COPYING.DOC: belatedly updated to 1.2.
90365
90366 2003-01-01  Karl Berry  <karl@gnu.org>
90367
90368         * gnulib-tool (func_verify_module): report module name $module in
90369         error message, not $1.
90370         * gnulib-tool (create-testdir): don't complain if destdir couldn't
90371         be created, only if it doesn't exist.
90372         * gnulib-tool (last_checkin_date): don't expand the $Date here.
90373
90374 2002-12-31  Paul Eggert  <eggert@twinsun.com>
90375
90376         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
90377
90378 2002-12-31  Paul Eggert  <eggert@twinsun.com>
90379
90380         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
90381         memcmp if strcoll doesn't work.
90382
90383 2002-12-31  Bruno Haible  <bruno@clisp.org>
90384
90385         * lib/utime.c (utime_null): No need to call ftruncate if the file was
90386         nonempty.
90387
90388 2002-12-31  Bruno Haible  <bruno@clisp.org>
90389
90390         * lib/memcoll.c (STRCOLL): New macro.
90391         (memcoll): Use it.
90392
90393 2002-12-31  Bruno Haible  <bruno@clisp.org>
90394
90395         * lib/localcharset.h: New file.
90396         * lib/localcharset.c: Include it.
90397         * lib/unicodeio.c: Likewise.
90398
90399 2002-12-31  Bruno Haible  <bruno@clisp.org>
90400
90401         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
90402         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
90403
90404 2002-12-31  Bruno Haible  <bruno@clisp.org>
90405
90406         * lib/getline.h: Include <stddef.h>, for size_t.
90407
90408         * lib/unicodeio.h: Include <stddef.h>, for size_t.
90409         * lib/unicodeio.c: Don't include <stddef.h>.
90410
90411 2002-12-31  Bruno Haible  <bruno@clisp.org>
90412
90413         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
90414         HAVE_TM_ZONE.
90415
90416 2002-12-24  Karl Berry  <karl@gnu.org>
90417
90418         * config/config.guess: update from prep.
90419
90420 2002-12-24  Bruno Haible  <bruno@clisp.org>
90421
90422         General infrasructure.
90423         * m4/README: Rewritten.
90424         * m4/onceonly.m4: New file.
90425         * m4/onceonly_2_57.m4: New file.
90426
90427         Module atexit.
90428         * m4/atexit.m4: New file.
90429
90430         Module strtod.
90431         * m4/strtod.m4: New file.
90432
90433         Module strtol.
90434         * m4/strtol.m4: New file.
90435
90436         Module strtoul.
90437         * m4/strtoul.m4: New file.
90438
90439         Module memchr.
90440         * m4/memchr.m4: New file.
90441
90442         Module memcmp.
90443         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
90444         (jm_FUNC_MEMCMP): Invoke it.
90445
90446         Module memcpy.
90447         * m4/memcpy.m4: New file.
90448
90449         Module memmove.
90450         * m4/memmove.m4: New file.
90451
90452         Module memset.
90453         * m4/memset.m4: New file.
90454
90455         Module strcspn.
90456         * m4/strcspn.m4: New file.
90457
90458         Module strpbrk.
90459         * m4/strpbrk.m4: New file.
90460
90461         Module strstr.
90462         * m4/strstr.m4: New file.
90463
90464         Module strerror.
90465         * m4/strerror.m4: New file.
90466
90467         Module mktime.
90468         * m4/mktime.m4: Renamed from jm-mktime.m4.
90469         (gl_PREREQ_MKTIME): New macro.
90470         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
90471
90472         Module malloc.
90473         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
90474         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
90475         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
90476
90477         Module realloc.
90478         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
90479         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
90480         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
90481
90482         Module strftime.
90483         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
90484         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
90485         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
90486         gl_TM_GMTOFF.
90487         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
90488
90489         Module xalloc.
90490         * m4/xalloc.m4: New file.
90491
90492         Module alloca.
90493         * m4/alloca.m4: New file.
90494
90495         Module putenv.
90496         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
90497         (jm_FUNC_PUTENV): Invoke it.
90498
90499         Module setenv.
90500         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
90501         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
90502         when invoked twice.
90503         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
90504         gt_FUNC_SETENV.
90505
90506         Module memrchr.
90507         * m4/memrchr.m4: New file.
90508
90509         Module stpcpy.
90510         * m4/stpcpy.m4: New file.
90511
90512         Module strcase.
90513         * m4/strcase.m4: New file.
90514
90515         Module strdup.
90516         * m4/strdup.m4: New file.
90517
90518         Module strnlen.
90519         * m4/strnlen.m4: New file.
90520
90521         Module strndup.
90522         * m4/strndup.m4: New file.
90523
90524         Module xstrtod.
90525         * m4/xstrtod.m4: New file.
90526
90527         Module xstrtol.
90528         * m4/xstrtol.m4: New file.
90529
90530         Module getdate.
90531         * m4/getdate.m4: New file.
90532
90533         Module unlocked-io.
90534         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
90535         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
90536         * m4/jm-glibc-io.m4n: Remove file.
90537
90538         Module long-options.
90539         * m4/long-options.m4: New file.
90540
90541         Module md5.
90542         * m4/md5.m4: New file.
90543
90544         Module sha.
90545         * m4/sha.m4: New file.
90546
90547         Module getstr.
90548         * m4/getstr.m4: New file.
90549
90550         Module getline.
90551         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
90552         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
90553         <sys/types.h>, for size_t. Use the function name gnu_getline, not
90554         simply getline. Infoke gl_PREREQ_GETLINE.
90555
90556         Module obstack.
90557         * m4/obstack.m4: New file.
90558
90559         Module hash.
90560         * m4/hash.m4: New file.
90561
90562         Module readtokens.
90563         * m4/readtokens.m4: New file.
90564
90565         Module strverscmp.
90566         * m4/strverscmp.m4: New file.
90567
90568         Module stdbool.
90569         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
90570         OSF/1.
90571
90572         Module strtoll.
90573         * m4/strtoll.m4: New file.
90574
90575         Module strtoull.
90576         * m4/strtoull.m4: New file.
90577
90578         Module strtoimax.
90579         * m4/strtoimax.m4: New file.
90580
90581         Module strtoumax.
90582         * m4/strtoumax.m4: New file.
90583
90584         Module xstrtoimax.
90585         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
90586         jm_AC_PREREQ_XSTRTOIMAX.
90587         Moved the strtol prerequisites to strtol.m4.
90588         Moved the strtoll prerequisites to strtoll.m4.
90589         Moved the strtoimax prerequisites to strtoimax.m4.
90590
90591         Module xstrtoumax.
90592         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
90593         jm_AC_PREREQ_XSTRTOUMAX.
90594         Moved the strtoul prerequisites to strtoul.m4.
90595         Moved the strtoull prerequisites to strtoull.m4.
90596         Moved the strtoumax prerequisites to strtoumax.m4.
90597
90598         Module chown.
90599         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
90600         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
90601
90602         Module dup2.
90603         * m4/dup2.m4: New file.
90604
90605         Module ftruncate.
90606         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
90607         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
90608
90609         Module getgroups.
90610         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
90611         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
90612
90613         Module gettimeofday.
90614         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
90615         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
90616         gl_PREREQ_GETTIMEOFDAY.
90617
90618         Module mkdir.
90619         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
90620         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
90621
90622         Module mkstemp.
90623         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
90624         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
90625         jm_AC_TYPE_UINTMAX_T.
90626         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
90627
90628         Module stat.
90629         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
90630         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
90631
90632         Module lstat.
90633         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
90634         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
90635
90636         Module timespec.
90637         * m4/timespec.m4 (gl_TIMESPEC): New macro.
90638         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
90639         * m4/st_mtim.m4: Indentation.
90640
90641         Module nanosleep.
90642         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
90643         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
90644         gl_PREREQ_NANOSLEEP.
90645
90646         Module regex.
90647         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
90648         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
90649         (gl_REGEX): New macro.
90650
90651         Module rename.
90652         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
90653         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
90654
90655         Module rmdir.
90656         * m4/rmdir.m4: New file.
90657
90658         Module utime.
90659         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
90660         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
90661         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
90662
90663         Module dirname.
90664         * m4/dirname.m4: New file.
90665
90666         Module getopt.
90667         * m4/getopt.m4: New file.
90668
90669         Module unistd-safer.
90670         * m4/unistd-safer.m4: New file.
90671
90672         Module fnmatch.
90673         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
90674         declaration.
90675         (gl_PREREQ_FNMATCH_EXTRA): New macro.
90676         (gl_FUNC_FNMATCH_POSIX): New macro.
90677         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
90678         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
90679         simply fnmatch.
90680
90681         Module exclude.
90682         * m4/exclude.m4: New file.
90683
90684         Module human.
90685         * m4/human.m4: New file.
90686
90687         Module acl.
90688         * m4/acl.m4: Nop.
90689
90690         Module backupfile.
90691         * m4/backupfile.m4: New file.
90692         * m4/d-ino.m4: Indentation.
90693
90694         Module fsusage.
90695         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
90696         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
90697         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
90698
90699         Module dirfd.
90700         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
90701         requirements.
90702
90703         Module euidaccess.
90704         * m4/euidaccess.m4: New file.
90705
90706         Module file-type.
90707         * m4/file-type.m4: New file.
90708
90709         Module fileblocks.
90710         * m4/fileblocks.m4: New file.
90711
90712         Module filemode.
90713         * m4/filemode.m4: New file.
90714
90715         Module isdir.
90716         * m4/isdir.m4: New file.
90717
90718         Module lchown.
90719         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
90720         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
90721
90722         Module makepath.
90723         * m4/makepath.m4: New file.
90724
90725         Module modechange.
90726         * m4/modechange.m4: New file.
90727
90728         Module mountlist.
90729         * m4/mountlist.m4: New file.
90730         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
90731         Indentation.
90732
90733         Module path-concat.
90734         * m4/path-concat.m4: New file.
90735
90736         Module pathmax.
90737         * m4/pathmax.m4: New file.
90738
90739         Module same.
90740         * m4/same.m4: New file.
90741
90742         Module save-cwd.
90743         * m4/save-cwd.m4: New file.
90744
90745         Module savedir.
90746         * m4/savedir.m4: New file.
90747
90748         Module xgetcwd.
90749         * m4/xgetcwd.m4: New file.
90750         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
90751
90752         Module xreadlink.
90753         * m4/xreadlink.m4: New file.
90754
90755         Module safe-read.
90756         * m4/safe-read.m4: New file.
90757
90758         Module safe-write.
90759         * m4/safe-write.m4: New file.
90760
90761         Module closeout.
90762         * m4/closeout.m4: New file.
90763
90764         Module stdio-safer.
90765         * m4/stdio-safer.m4: New file.
90766
90767         Module getpass.
90768         * m4/getpass.m4: New file.
90769
90770         Module getugroups.
90771         * m4/getugroups.m4: New file.
90772
90773         Module group-member.
90774         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
90775         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
90776
90777         Module idcache.
90778         * m4/idcache.m4: New file.
90779
90780         Module userspec.
90781         * m4/userspec.m4: New file.
90782
90783         Module gettime.
90784         * m4/clock_time.m4: New file.
90785         * m4/gettime.m4: New file.
90786
90787         Module settime.
90788         * m4/settime.m4: New file.
90789
90790         Module posixtm.
90791         * m4/posixtm.m4: New file.
90792
90793         Module gethostname.
90794         * m4/gethostname.m4: New file.
90795
90796         Module canon-host.
90797         * m4/canon-host.m4: New file.
90798
90799         Module gettext.
90800         * m4/codeset.m4: New file, from gettext-0.11.5.
90801         * m4/gettext.m4: New file, from gettext-0.11.5.
90802         * m4/glibc21.m4: New file, from gettext-0.11.5.
90803         * m4/iconv.m4: New file, from gettext-0.11.5.
90804         * m4/intdiv0.m4: New file, from gettext-0.11.5.
90805         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
90806         * m4/inttypes.m4: New file, from gettext-0.11.5.
90807         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
90808         * m4/isc-posix.m4: New file, from gettext-0.11.5.
90809         * m4/lcmessage.m4: New file, from gettext-0.11.5.
90810         * m4/lib-ld.m4: New file, from gettext-0.11.5.
90811         * m4/lib-link.m4: New file, from gettext-0.11.5.
90812         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
90813         * m4/progtest.m4: New file, from gettext-0.11.5.
90814         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
90815         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
90816         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
90817
90818         Module localcharset.
90819         * m4/localcharset.m4: New file.
90820
90821         Module hard-locale.
90822         * m4/hard-locale.m4: New file.
90823
90824         Module mbswidth.
90825         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
90826         onceonly macros.
90827         * m4/mbrtowc.m4: Add comment.
90828
90829         Module memcasecmp.
90830         * m4/memcasecmp.m4: New file.
90831
90832         Module memcoll.
90833         * m4/memcoll.m4: New file.
90834
90835         Module unicodeio.
90836         * m4/unicodeio.m4: New file.
90837
90838         Module rpmatch.
90839         * m4/rpmatch.m4: New file.
90840
90841         Module yesno.
90842         * m4/yesno.m4: New file.
90843
90844         Module exitfail.
90845         * m4/exitfail.m4: New file.
90846
90847         Module c-stack.
90848         * m4/c-stack.m4 (gl_C_STACK): New macro.
90849         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
90850
90851         Module error.
90852         * m4/error.m4 (gl_ERROR): New macro.
90853         (jm_PREREQ_ERROR): Use onceonly macros.
90854
90855         Module fatal.
90856         * m4/fatal.m4: New file.
90857
90858         Module getloadavg.
90859         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
90860         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
90861
90862         Module getpagesize.
90863         * m4/getpagesize.m4: New file.
90864
90865         Module getusershell.
90866         * m4/getusershell.m4: New file.
90867
90868         Module physmem.
90869         * m4/physmem.m4: New file.
90870
90871         Module posixver.
90872         * m4/posixver.m4: New file.
90873
90874         Module quotearg.
90875         * m4/quotearg.m4: New file.
90876
90877         Module quote.
90878         * m4/quote.m4: New file.
90879
90880         Module readutmp.
90881         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
90882
90883         Module sig2str.
90884         * m4/sig2str.m4: New file.
90885
90886         Other.
90887         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
90888         ulonglong.m4.
90889         * m4/intmax_t.m4: New file.
90890         * m4/d-type.m4: Indentation.
90891         * m4/jm-macros.m4: Update.
90892         * m4/prereq.m4 (jm_PREREQ): Update.
90893         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
90894         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
90895         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
90896         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
90897         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
90898         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
90899         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
90900         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
90901         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
90902         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
90903         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
90904         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
90905         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
90906         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
90907         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
90908         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
90909         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
90910         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
90911         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
90912
90913 2002-12-24  Bruno Haible  <bruno@clisp.org>
90914
90915         * MODULES.txt: Update according to m4/ changes.
90916
90917         Module gettext.
90918         * config.rpath: New file, from gettext-0.11.5.
90919
90920         * modules/*: New module descriptions.
90921         * gnulib-tool: New file.
90922         * MODULES.html.sh: New file.
90923
90924 2002-12-21  Karl Berry  <karl@gnu.org>
90925
90926         * doc/fdl.texi: update to version 1.2.
90927
90928 2002-12-19  Karl Berry  <karl@gnu.org>
90929
90930         * config/config.guess: update from prep.
90931
90932 2002-12-18  Bruno Haible  <bruno@clisp.org>
90933
90934         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
90935         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
90936
90937 2002-12-17  Bruno Haible  <bruno@clisp.org>
90938
90939         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
90940         stdlib.h, string.h.
90941
90942 2002-12-17  Bruno Haible  <bruno@clisp.org>
90943
90944         * lib/canon-host.c (strdup): Remove unused declaration.
90945
90946         * lib/fsusage.c: Include full_read.h.
90947         (get_fs_usage): Use full_read instead of safe_read.
90948
90949         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
90950
90951 2002-12-12  Karl Berry  <karl@gnu.org>
90952
90953         * config/config.guess: update from prep.
90954
90955 2002-12-11  Bruno Haible  <bruno@clisp.org>
90956
90957         * m4/setenv.m4: New file, from gettext-0.11.5.
90958
90959 2002-12-11  Bruno Haible  <bruno@clisp.org>
90960
90961         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
90962         not unsetenv().
90963         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
90964         modifications:
90965
90966         2002-12-11  Bruno Haible  <bruno@clisp.org>
90967
90968                 * setenv.c (alloca): Fall back to malloc.
90969                 (freea): New macro.
90970                 (setenv): Use freea() to free memory allocated with alloca().
90971
90972         2002-11-13  Bruno Haible  <bruno@clisp.org>
90973
90974                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
90975                 function declarations.
90976                 * unsetenv.c (unsetenv): Likewise.
90977
90978         2002-03-04  Bruno Haible  <bruno@clisp.org>
90979
90980                 Portability to AIX 4.3.3.
90981                 * unsetenv.c: New file, extracted from setenv.c.
90982                 * setenv.c: Move the unsetenv() function to unsetenv.c.
90983
90984         2001-12-20  Bruno Haible  <bruno@clisp.org>
90985
90986                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
90987                 use malloc instead. For SunOS 4.
90988
90989         2001-12-11  Bruno Haible  <bruno@clisp.org>
90990
90991                 * setenv.c: Declare alloca.
90992                 (compar_fn_t): New typedef.
90993                 (KNOWN_VALUE, STORE_VALUE): Use it.
90994
90995         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
90996         setenv.h.
90997
90998 2002-12-10  Paul Eggert  <eggert@twinsun.com>
90999
91000         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
91001         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
91002         Choose values that are less likely to collide with system fnmatch
91003         options.
91004         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
91005         defined (e.g., a pure POSIX system).
91006         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
91007         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
91008
91009 2002-12-06  Paul Eggert  <eggert@twinsun.com>
91010
91011         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
91012         a pain in practice to deal with generated m4 files.  This change
91013         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
91014
91015         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
91016         and jm-glibc-io.m4, as they are no longer a special case.
91017         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
91018         kludge and the auto-generation stuff.  Check only whether the
91019         functions are declared, not whether they exist, since older hosts
91020         that don't declare the functions can't use the optimization anyway.
91021
91022 2002-12-06  Jim Meyering  <jim@meyering.net>
91023
91024         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
91025
91026         Merge in changes from libc's misc/error.c, in preparation
91027         for the merge of gnulib's changes back into libc.
91028
91029         * lib/error.c (_): Define only if not already defined.
91030         Move definition to follow all #include directives.
91031         Include unlocked-io.h only if !_LIBC.
91032         [_LIBC]: Include <libio/libioP.h>.
91033         [USE_IN_LIBIO]: Include <libio/iolibio.h>
91034         (fflush): Tweak definition to use INTUSE.
91035         (putc): Define.
91036
91037 2002-12-05  Paul Eggert  <eggert@twinsun.com>
91038
91039         * lib/alloca.c [defined emacs]: Include "lisp.h".
91040         (xalloc_die) [defined emacs]: New macro.
91041         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
91042         [! defined emacs]: Include <xalloc.h>.
91043         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
91044         (pointer): Typedef to POINTER_TYPE *.
91045         (malloc): Remove decl; we now always use xmalloc.
91046         (alloca): Use old-style definition, since Emacs needs this.
91047         Check for arithmetic overflow when computing combined size.
91048
91049 2002-12-04  Paul Eggert  <eggert@twinsun.com>
91050
91051         Do not generate unlocked-io.h automatically, since it's easier to
91052         maintain it by hand.
91053
91054         * lib/unlocked-io.h: New file, from GNU diffutils,
91055         but with proper copyright notice and attribution.
91056         * lib/gen-uio: Remove.
91057         * lib/Makefile.am: Add copyright notice.
91058         (libfetish_a_SOURCES): Add unlocked-io.h.
91059         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
91060         (DISTCLEANFILES, io_functions): Remove macros.
91061         (EXTRA_DIST): Remove gen_uio.
91062         (unlocked-io.h): Remove rule.
91063
91064 2002-12-04  Jim Meyering  <jim@meyering.net>
91065
91066         Reflect the fact that stat.c and lstat.c are no longer generated.
91067         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
91068         (DISTCLEANFILES): Likewise.
91069         (EXTRA_DIST): Likewise.
91070         (all_local): Don't depend on stat.c or lstat.c.
91071         (stat.c, lstat.c): Remove rules.
91072         (EXTRA_DIST): Remove xstat.in.
91073
91074         * lib/xstat.in: Remove file.  Contents moved into stat.c.
91075         * lib/stat.c: New file.  Contents mostly from xstat.in.
91076         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
91077         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
91078
91079         * lib/safe-read.c: Rework so that it may serve to define safe_write,
91080         too.
91081         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
91082
91083 2002-12-03  Jim Meyering  <jim@meyering.net>
91084
91085         * lib/safe-read.c, safe-write.c: Change variable names and comments,
91086         but not semantics, to minimize the differences between these two files.
91087         (safe_read): Change comment to mention SAFE_READ_ERROR.
91088
91089         * lib/safe-read.c (IS_EINTR): Define.
91090         (safe_read): Use IS_EINTR in place of in-function cpp directives.
91091
91092 2002-12-02  Jim Meyering  <jim@meyering.net>
91093
91094         * lib/safe-read.c (EINTR): Define.
91095         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
91096         (INT_MAX): Provide fallback.
91097         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
91098
91099         * lib/safe-read.h (SAFE_READ_ERROR): Define.
91100
91101 2002-12-02  Bruno Haible  <bruno@clisp.org>
91102
91103         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
91104         Define, taken from safe-read.c.
91105         (INT_MAX): Provide fallback.
91106         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
91107         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
91108
91109         * lib/safe-read.c (EINTR): Remove definition.
91110         (safe_read): Don't use EINTR if it is absent.
91111
91112 2002-12-01  Jim Meyering  <jim@meyering.net>
91113
91114         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
91115         zero.
91116         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
91117
91118 2002-11-27  Paul Eggert  <eggert@twinsun.com>
91119
91120         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
91121         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
91122         with `if (! (value < limit)) abort ();', for readability.
91123
91124 2002-11-26  Karl Berry  <karl@gnu.org>
91125
91126         * lib/strdup.c: copy from libc again, with jim's ok.
91127         * lib/.cppi-disable: re-add strdup.c
91128
91129 2002-11-25  Karl Berry  <karl@gnu.org>
91130
91131         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
91132         instead of "strtol.c".
91133
91134 2002-11-25  Karl Berry  <karl@gnu.org>
91135
91136         * config/install-sh: update from automake for variable quoting, $0 in
91137         error msgs, etc.
91138
91139         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
91140         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
91141         entry.
91142
91143 2002-11-25  Jim Meyering  <jim@meyering.net>
91144
91145         * lib/mktime.c: Sync from libc, now that it has the latest fix.
91146
91147 2002-11-24  Karl Berry  <karl@gnu.org>
91148
91149         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
91150         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
91151
91152 2002-11-24  Jim Meyering  <jim@meyering.net>
91153
91154         Update from coreutils:
91155
91156         * lib/mktime.c: Merge in changes from libc.
91157
91158         Avoid a link-time failure on some Linux systems.
91159         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
91160         (otherwise).
91161         (__mon_yday): Declare with the STATIC attribute.
91162         (__mktime_internal): Likewise.
91163         Based on a report from Greg Schafer.
91164
91165 2002-11-23  Jim Meyering  <jim@meyering.net>
91166
91167         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
91168         Use `unsigned', not `int', as type of index.
91169
91170         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
91171
91172         * lib/fsusage.c: Remove unneeded parentheses around operands of
91173         `defined'.
91174
91175 2002-11-22  Paul Eggert  <eggert@twinsun.com>
91176
91177         * lib/quotearg.h: Allow multiple inclusion by surrounding with
91178         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
91179         so that we can be included first.
91180         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
91181         * lib/quotearg.c: Include quotearg.h immediately after config.h.
91182         No need to include stddef.h or sys/types.h any more.
91183         Surround local include files with "", not "<>".
91184         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
91185         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
91186         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
91187         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
91188         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
91189         (ISPRINT): Remove; no longer needed now that we assume C89.
91190
91191         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
91192         Preserve errno.
91193
91194         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
91195         quotearg_char): Use SIZE_MAX rather than
91196         (size_t) -1 when we are talking about "infinity".
91197
91198         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
91199
91200 2002-11-22  Paul Eggert  <eggert@twinsun.com>
91201
91202         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
91203         hint that one should use `if (! x) abort ();' rather than `assert
91204         (x);', and anyway it's one less thing to worry about configuring.
91205         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
91206         hash_rehash, hash_insert): Use abort rather than assert.
91207
91208 2002-11-22  Bruno Haible  <bruno@clisp.org>
91209
91210         * lib/safe-read.h: Assume C89. Add comments.
91211         (safe_read): Change return type to size_t.
91212         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
91213         byte counts > SSIZE_MAX correctly.
91214         * lib/safe-write.h: New file.
91215         * lib/safe-write.c: New file.
91216         * lib/full-read.h: New file.
91217         * lib/full-read.c: New file.
91218         * lib/full-write.h: Assume C89. Add comments.
91219         * lib/full-write.c: Include safe-write.h.
91220         (full_write): Rewritten to use safe_write.
91221         Suggested by Jim Meyering and Paul Eggert.
91222
91223 2002-11-21  Jim Meyering  <jim@meyering.net>
91224
91225         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
91226
91227         Merge in changes from the coreutils.
91228
91229         2002-09-25  Paul Eggert  <eggert@twinsun.com>
91230         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
91231         <stdint.h>.
91232         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
91233         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
91234         int.  Work more efficiently if X is the same width as uintmax_t.
91235         Do not compare X to -1, to avoid bogus compiler warning.
91236         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
91237         Don't assume that f_frsize and f_bsize are the same type.
91238
91239         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
91240         warning on FreeBSD.
91241
91242         * lib/makepath.c (make_path): Restore umask *before* creating the final
91243         component.
91244         (make_path): Minor reformatting.
91245
91246         * lib/xmalloc.c: Adjust to work with new autoconf macros,
91247         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
91248         HAVE_MALLOC/HAVE_REALLOC.
91249
91250         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
91251         dummy ones.  At least on GNU/Linux systems, `auto' means something
91252         else.
91253         From Michael Stone.
91254
91255 2002-11-21  Bruno Haible  <bruno@clisp.org>
91256
91257         Remove case insensitive option matching.
91258         * lib/argmatch.h (argcasematch): Remove declaration.
91259         (ARGCASEMATCH): Remove macro.
91260         (__xargmatch_internal): Remove case_sensitive argument.
91261         (XARGMATCH): Update.
91262         (XARGCASEMATCH): Remove macro.
91263         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
91264         case_sensitive argument.
91265         (argcasematch): Remove function.
91266         (__xargmatch_internal): Remove case_sensitive argument.
91267         (main): Use XARGMATCH instead of XARGCASEMATCH.
91268
91269         * lib/xmalloc.c: Change compile-time error message. Add comment about
91270         required autoconf version.
91271
91272 2002-11-20  Paul Eggert  <eggert@twinsun.com>
91273
91274         Merge argmatch cleanups from Bison.  Assume C89.
91275
91276         * lib/argmatch.c: Include config.h here, not in argmatch.h.
91277         Include stdlib.h, for EXIT_FAILURE.
91278         Always include <string.h>, since we assume C89.
91279         (EXIT_FAILURE): Remove pre-C89 bug workaround.
91280         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
91281         Include <stddef.h> instead, since it's all we need for size_t.
91282         (PARAMS): Remove.  All uses removed.
91283         (ARRAY_CARDINALITY): Do not bother to #undef.
91284         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
91285         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
91286         Remove unnecessary parentheses.
91287         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
91288         Insert necessary parentheses.
91289         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
91290         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
91291
91292 2002-11-19  Bruno Haible  <bruno@clisp.org>
91293
91294         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
91295         * lib/mbswidth.h: Include <stddef.h>, for size_t.
91296
91297         * lib/mbswidth.h (PARAMS): Remove macro.
91298         (mbswidth, mbsnwidth): Use ANSI C function declarations.
91299         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
91300
91301         * lib/gcd.h (PARAMS): Remove macro.
91302         (gcd): Use ANSI C function declarations.
91303         * lib/gcd.c (gcd): Likewise.
91304
91305 2002-11-15  Bruno Haible  <bruno@clisp.org>
91306
91307         * lib/strcspn.c: Include <stddef.h>.
91308         (strcspn): Use ANSI C function declaration. Change return type to
91309         size_t. Use NULL.
91310         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
91311         (strpbrk): Use NULL.
91312         * lib/strpbrk.h (PARAMS): Remove macro.
91313         (strpbrk): Use ANSI C function declaration.
91314         * lib/strstr.c: Don't include <sys/types.h>.
91315         * lib/strstr.h (PARAMS): Remove macro.
91316         (strstr): Use ANSI C function declarations.
91317
91318 2002-11-14  Karl Berry  <karl@gnu.org>
91319
91320         * config/mkinstalldirs: `do' on separate line, instead of
91321         `for var; do'.
91322
91323 2002-11-06  Bruno Haible  <bruno@clisp.org>
91324
91325         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
91326         * lib/gcd.c (gcd): Likewise.
91327
91328 2002-11-05  Bruno Haible  <bruno@clisp.org>
91329
91330         * lib/gcd.h: New file, from gettext-0.11.5.
91331         * lib/gcd.c: New file, from gettext-0.11.5.
91332
91333 2002-11-05  Bruno Haible  <bruno@clisp.org>
91334
91335         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
91336         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
91337         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
91338         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
91339
91340         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
91341         <libintl.h>.
91342         * lib/makepath.c: Include gettext.h instead of <locale.h> and
91343         <libintl.h>.
91344
91345         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
91346         * lib/human.c: Include gettext.h instead of <libintl.h>.
91347         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
91348         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
91349         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
91350         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
91351         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
91352         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
91353         (textdomain): Remove definition.
91354         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
91355
91356         * lib/long-options.c: Remove include of <libintl.h> and definition of
91357         _.
91358         * lib/same.c: Remove include of <libintl.h> and definition of _.
91359
91360 2002-11-04  Owen Taylor  <otaylor@redhat.com>
91361
91362         * lib/config.charset: A few additions for Solaris.
91363
91364 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
91365
91366         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
91367         * lib/localcharset.c (locale_charset): Declare as extern "C".
91368
91369 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
91370
91371         * lib/config.charset: msdos in uk_UA uses CP1125.
91372
91373 2002-11-04  Bruno Haible  <bruno@clisp.org>
91374
91375         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
91376         * lib/strcase.h: New file, from GNU gettext-0.11.5.
91377         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
91378         * lib/strstr.h: New file, from GNU gettext-0.11.5.
91379         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
91380
91381 2002-11-04  Bruno Haible  <bruno@clisp.org>
91382
91383         * lib/localcharset.c (locale_charset): Don't return an empty string.
91384
91385 2002-11-04  Bruno Haible  <bruno@clisp.org>
91386
91387         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
91388         aliases.
91389
91390 2002-11-04  Bruno Haible  <bruno@clisp.org>
91391
91392         * lib/config.charset: Update for newest glibc. Add canonical names
91393         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
91394
91395 2002-11-04  Bruno Haible  <bruno@clisp.org>
91396
91397         * lib/config.charset: Add support for NetBSD.
91398
91399 2002-11-04  Bruno Haible  <bruno@clisp.org>
91400
91401         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
91402
91403 2002-11-01  Bruno Haible  <bruno@clisp.org>
91404
91405         * configure.in: Add AC_CONFIG_AUX_DIR call.
91406         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
91407         test/Makefile.
91408         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
91409
91410 2002-09-28  Karl Berry  <karl@gnu.org>
91411
91412         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
91413         installed automake until the next release, since changes have been
91414         made.
91415
91416 2002-09-25  Karl Berry  <karl@gnu.org>
91417
91418         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
91419         * lib/getopt*: copy from libc/posix.
91420         * lib/gettext.h: copy from gettext.
91421         * lib/.cppi-disable: add strdup.c, gettext.h.
91422
91423 2002-09-25  Karl Berry  <karl@gnu.org>
91424
91425         * config/srclist.txt: enable gettext.h check.
91426         * config/config.{guess,sub}: update from prep.
91427         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
91428                 from automake 1.6.3.
91429         See srclist*.
91430
91431 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
91432
91433         * regex.c (PATFETCH): Remove the translating fetch.
91434         (PATFETCH_RAW): Rename to PATFETCH.
91435         (set_image_of_range): New fun.
91436         (SET_RANGE_TABLE_WORK_AREA): Use it.
91437         (regex_compile): Don't translate the pattern chars so eagerly.
91438         Only do it when inserting an `exactn' bytecode or when handling
91439         a char-range.
91440         (mutually_exclusive_p): Avoid empty statement.
91441
91442 2002-07-06  Jim Meyering  <meyering@lucent.com>
91443
91444         * m4/README: Don't mention Makefile.am.in.
91445         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
91446
91447 2002-07-01  Jim Meyering  <meyering@lucent.com>
91448
91449         * lib/c-stack.c: Include sys/time.h.
91450         From Volker Borchert.
91451
91452 2002-06-26  Paul Eggert  <eggert@twinsun.com>
91453
91454         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
91455
91456 2002-06-26  Paul Eggert  <eggert@twinsun.com>
91457
91458         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
91459         New macro.  Use it uniformly instead of
91460         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
91461         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
91462         reported by Vin Shelton.
91463
91464 2002-06-22  Paul Eggert  <eggert@twinsun.com>
91465
91466         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
91467         Do not assume SA_SIGINFO behavior.
91468         Bug reported by Jim Meyering on NetBSD 1.5.2.
91469
91470 2002-06-22  Jim Meyering  <meyering@lucent.com>
91471
91472         * m4/c-stack.m4: New file, from diffutils-2.8.2.
91473         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
91474
91475         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
91476         now that configure.ac uses AC_GNU_SOURCE.
91477         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
91478         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
91479
91480         Update to latest tools.  Suggestions from Paul Eggert.
91481         * m4/stdbool.m4: New file, from diffutils-2.8.2.
91482         * m4/gnu-source.m4: Update from diffutils-2.8.2.
91483         * m4/fnmatch.m4: Likewise.
91484         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
91485         to AC_HEADER_STDBOOL
91486
91487 2002-06-22  Jim Meyering  <meyering@lucent.com>
91488
91489         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
91490         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
91491
91492 2002-06-22  Jim Meyering  <meyering@lucent.com>
91493
91494         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
91495
91496         * lib/exitfail.c, exitfail.h: Likewise.
91497         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
91498
91499         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
91500         of fnmatch.h.
91501         (EXTRA_DIST): Add fnmatch_loop.c.
91502         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
91503
91504         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
91505         * lib/fnmatch.c: Update from diffutils-2.8.2.
91506         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
91507         * lib/fnmatch.h: Remove file.
91508
91509 2002-06-21  Jim Meyering  <meyering@lucent.com>
91510
91511         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
91512         * m4/mbrtowc.m4: Likewise.
91513
91514         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
91515         * m4/mbswidth.m4: Reflect name change:
91516         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
91517         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
91518
91519         * m4/lib-link.m4: Update from gettext-0.11.2.
91520         * m4/gettext.m4: Likewise.
91521
91522         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
91523         From Alfred M. Szmidt.
91524
91525 2002-06-18  Paul Eggert  <eggert@twinsun.com>
91526
91527         * lib/file-type.h: Report an error if neither S_ISREG nor
91528         S_IFREG is defined, instead of using a test specific to glibc
91529         2.2.  This should be safe, since POSIX requires S_ISREG and
91530         Unix Version 7 had S_IFREG.  We don't need to check for
91531         <sys/types.h> since we don't use any symbols that it defines.
91532
91533 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
91534
91535         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
91536         $@-t, so that each temporary file name is unique and valid in the first
91537         8 characters, for operation under DOS.
91538
91539 2002-06-15  Paul Eggert  <eggert@twinsun.com>
91540
91541         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
91542
91543 2002-06-15  Jim Meyering  <meyering@lucent.com>
91544
91545         Work even with DJGPP 2.03, which lacks support for symlinks.
91546         From Richard Dawe.
91547         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
91548         is defined.
91549         * lib/lchown.c (S_ISLNK): Likewise.
91550
91551 2002-06-15  Jim Meyering  <meyering@lucent.com>
91552
91553         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
91554         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
91555         have been included before this file.
91556
91557 2002-06-14  Jim Meyering  <meyering@lucent.com>
91558
91559         * lib/file-type.h: Use the version from diffutils-2.8.2.
91560         * lib/file-type.c: Likewise.
91561
91562 2002-06-07  Jim Meyering  <meyering@lucent.com>
91563
91564         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
91565         They're needed at least for NetBSD 1.5.2.
91566         ($statxfs_includes): Include those same headers.
91567         ($statxfs_includes): Include sys/vfs.h if available.
91568         ($statxfs_includes): Likewise for sys/statvfs.h.
91569         Check for the following members in both structs statfs and statvfs:
91570         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
91571
91572 2002-06-01  Jim Meyering  <meyering@lucent.com>
91573
91574         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
91575         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
91576
91577 2002-05-28  Jim Meyering  <meyering@lucent.com>
91578
91579         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
91580         Reported by Volker Borchert.
91581
91582 2002-05-27  Jim Meyering  <meyering@lucent.com>
91583
91584         Fix a problem seen only on nonconforming systems whereby ls.c's
91585         use of localtime, and then of gettimeofday would cause trouble:
91586         the localtime call used to initialize rpl_gettimeofday's save
91587         mechanism would clobber ls's current local time information so
91588         that in any long listing the first file would always be listed
91589         with date 1970-01-01.  Analysis by Volker Borchert.
91590
91591         * lib/gettimeofday.c (localtime): Undefine.
91592         (rpl_localtime): New function.
91593
91594 2002-05-27  Jim Meyering  <meyering@lucent.com>
91595
91596         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
91597         localtime.
91598
91599         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
91600         use the replacement function; it wouldn't resolve at link time.
91601         Reported by Volker Borchert.
91602
91603 2002-05-22  Jim Meyering  <meyering@lucent.com>
91604
91605         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
91606         file-type.h.
91607         * lib/file-type.h: New file.
91608         * lib/file-type.c (file_type): New file/function.  Extracted from
91609         diffutils.
91610
91611 2002-04-30  Jim Meyering  <meyering@lucent.com>
91612
91613         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
91614
91615 2002-04-29  Paul Eggert  <eggert@twinsun.com>
91616
91617         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
91618
91619 2002-04-29  Paul Eggert  <eggert@twinsun.com>
91620
91621         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
91622         Do not check for alloca.h (no longer used) or stdbool.h (was never
91623         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
91624
91625 2002-04-29  Paul Eggert  <eggert@twinsun.com>
91626
91627         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
91628
91629 2002-04-29  Jim Meyering  <meyering@lucent.com>
91630
91631         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
91632         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
91633         Use AC_FUNC_STRNLEN here instead.
91634
91635         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
91636         With autoconf-2.53a, it's part of AC_PROG_CC.
91637
91638 2002-04-28  Paul Eggert  <eggert@twinsun.com>
91639
91640         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
91641         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
91642
91643 2002-04-28  Paul Eggert  <eggert@twinsun.com>
91644
91645         * lib/sig2str.h, lib/sig2str.c: New files.
91646         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
91647
91648 2002-04-28  Paul Eggert  <eggert@twinsun.com>
91649
91650         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
91651         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
91652         of 127, since 64 is the largest conceivable number for ancient
91653         nonstandard hosts.
91654         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
91655
91656 2002-04-28  Jim Meyering  <meyering@lucent.com>
91657
91658         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
91659
91660 2002-04-24  Jim Meyering  <meyering@lucent.com>
91661
91662         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
91663         (jm_PREREQ): Use it.
91664
91665         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
91666         mach/mach.h fcntl.h.
91667         Check for this function: setlocale.
91668
91669 2002-04-24  Jim Meyering  <meyering@lucent.com>
91670
91671         * lib/gettext.h: New file, from Gettext.
91672         * lib/Makefile.am (INCLUDES): Remove -I../intl.
91673         (libfetish_a_SOURCES): Add gettext.h.
91674
91675 2002-04-16  Jim Meyering  <meyering@lucent.com>
91676
91677         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
91678         ut_pid, ut_id, ut_exit.
91679
91680 2002-04-16  Jim Meyering  <meyering@lucent.com>
91681
91682         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
91683         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
91684         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
91685
91686 2002-04-12  Jim Meyering  <meyering@lucent.com>
91687
91688         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
91689         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
91690         existence of the getmntinfo function.  Needed for Darwin 5.3.
91691
91692         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
91693         This is necessary at least on Darwin 5.3.
91694
91695         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
91696         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
91697         strnlen.o in the library, and that makes some versions of ranlib
91698         object.
91699
91700 2002-04-12  Jim Meyering  <meyering@lucent.com>
91701
91702         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
91703
91704 2002-04-09  Jim Meyering  <meyering@lucent.com>
91705
91706         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
91707         to be more precise.  Rather than saying we're checking whether the
91708         function `works', say what we're testing.
91709         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
91710         Reported by Bruno Haible.
91711
91712 2002-03-10  Jim Meyering  <meyering@lucent.com>
91713
91714         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
91715         Suggestion from Santiago Vila.
91716
91717 2002-03-08  Jim Meyering  <meyering@lucent.com>
91718
91719         * lib/rename.c: Mention that this wrapper is needed also on
91720         mips-dec-ultrix4.4 systems.
91721
91722 2002-03-02  Jim Meyering  <meyering@lucent.com>
91723
91724         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
91725         not HAVE_CLOCK_SETTIME.
91726
91727 2002-02-27  Paul Eggert  <eggert@twinsun.com>
91728
91729         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
91730         Check for clock_settime.
91731
91732 2002-02-27  Paul Eggert  <eggert@twinsun.com>
91733
91734         * lib/nanosleep.h: Rename to....
91735         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
91736
91737         * lib/gettime.c: New file.
91738         * lib/settime.c: New file.
91739         * lib/stime.c: Remove.
91740
91741         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
91742         timespec.h.  Remove nanosleep.h.
91743
91744 2002-02-25  Paul Eggert  <eggert@twinsun.com>
91745
91746         * m4/acl.m4: New file.
91747         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
91748         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
91749
91750 2002-02-25  Paul Eggert  <eggert@twinsun.com>
91751
91752         * lib/acl.c, lib/acl.h: New files.
91753         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
91754
91755 2002-02-24  Jim Meyering  <meyering@lucent.com>
91756
91757         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
91758         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
91759         cause trouble.  Reported by Nelson Beebe.
91760
91761 2002-02-23  Paul Eggert  <eggert@twinsun.com>
91762
91763         * lib/path-concat.c (xpath_concat): Reorder code to pacify
91764         compilers that don't know that xalloc_die never returns.
91765
91766 2002-02-20  Jim Meyering  <meyering@lucent.com>
91767
91768         * lib/getdate.c: Regenerate using bison-1.33.
91769
91770 2002-02-17  Jim Meyering  <meyering@lucent.com>
91771
91772         * config/config.guess (main): Don't use `head -1'; it's no longer
91773         portable. Use `sed 1q' instead.
91774
91775 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
91776
91777         * m4/codeset.m4: Upgrade to gettext-0.11.
91778         * m4/gettext.m4: Upgrade to gettext-0.11.
91779         * m4/glibc21.m4: Upgrade to gettext-0.11.
91780         * m4/iconv.m4: Upgrade to gettext-0.11.
91781         * m4/isc-posix.m4: Upgrade to gettext-0.11.
91782         * m4/lcmessage.m4: Upgrade to gettext-0.11.
91783         * m4/lib-ld.m4: New file, from gettext-0.11.
91784         * m4/lib-link.m4: New file, from gettext-0.11.
91785         * m4/lib-prefix.m4: New file, from gettext-0.11.
91786         * m4/progtest.m4: Upgrade to gettext-0.11.
91787
91788 2002-02-15  Paul Eggert  <eggert@twinsun.com>
91789
91790         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
91791         (jm_PREREQ): Use it.
91792
91793 2002-02-15  Paul Eggert  <eggert@twinsun.com>
91794
91795         * lib/posixver.c, lib/posixver.h: New files.
91796         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
91797
91798 2002-02-02  Paul Eggert  <eggert@twinsun.com>
91799             Bruno Haible  <bruno@clisp.org>
91800
91801         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
91802         (fwrite_success_callback): New declaration.
91803         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
91804         print_unicode_char. Call failure callback instead of error.
91805         (fwrite_success_callback): New function.
91806         (exit_failure_callback): New function.
91807         (fallback_failure_callback): New function.
91808         (print_unicode_char): Call unicode_to_mb.
91809
91810 2002-01-26  Jim Meyering  <meyering@lucent.com>
91811
91812         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
91813         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
91814
91815 2002-01-26  Jim Meyering  <meyering@lucent.com>
91816
91817         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
91818
91819 2002-01-22  Paul Eggert  <eggert@twinsun.com>
91820
91821         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
91822
91823 2002-01-22  Jim Meyering  <meyering@lucent.com>
91824
91825         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
91826         Otherwise, some versions of automake would omit the rule that makes
91827         Makefile from Makefile.in.
91828
91829 2002-01-21  Paul Eggert  <eggert@twinsun.com>
91830
91831         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
91832         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
91833         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
91834         (memcoll): Set errno to zero if there is no error.
91835
91836         * lib/quotearg.c (quotearg_buffer_restyled):
91837         Fix bug with quoting buffers containing NUL when backslashing escapes.
91838         This bug was exposed by the other changes in this patch.
91839         (quotearg_n_options): New arg ARGSIZE.
91840         All callers changed.
91841         (quoting_options_from_style): New function.
91842         (quotearg_n_style): Use it.
91843         (quotearg_n_style_mem): New function.
91844
91845         * lib/quotearg.h (quotearg_n_style_mem): New function.
91846
91847 2002-01-19  Jim Meyering  <meyering@lucent.com>
91848
91849         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
91850         Remove useless quotes: DF_PROG="df".
91851         * m4/strnlen.m4: New file.
91852
91853 2002-01-16  Paul Eggert  <eggert@twinsun.com>
91854
91855         * lib/backupfile.c (ISDIGIT): Comment fix.
91856         * lib/getdate.y (ISDIGIT): Likewise.
91857         * lib/posixtm.c (ISDIGIT, year): Likewise.
91858         * lib/strverscmp.c (ISDIGIT): Likewise.
91859         * lib/userspec.c (ISDIGIT): Likewise.
91860
91861 2002-01-16  Jim Meyering  <meyering@lucent.com>
91862
91863         * lib/getdate.y: Add three semicolons, each just before a closing
91864         brace. Bison (as of version 1.31) no longer papers over that mistake.
91865
91866 2002-01-05  Jim Meyering  <meyering@lucent.com>
91867
91868         * lib/version-etc.c (version_etc_copyright): Update copyright year.
91869
91870 2001-12-19  Paul Eggert  <eggert@twinsun.com>
91871
91872         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
91873         not silently exit merely because the output buffer happens to
91874         have nothing pending.
91875
91876 2001-12-18  Paul Eggert  <eggert@twinsun.com>
91877
91878         See the big note in ../ChangeLog.
91879         * lib/human.c (suffixes): Prefer K to k for 1024.
91880         (generate_suffix_backwards): New function.
91881         (human_readable_inexact): Use it.
91882         * lib/xstrtol.c (__xstrtol): If there is no number but there
91883         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
91884         Accept 'K' as well as 'k'.
91885
91886 2001-12-15  Jim Meyering  <meyering@lucent.com>
91887
91888         * lib/regex.h (__restrict_arr): Update from libc.
91889
91890         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
91891         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
91892         (STREQ): Define.
91893
91894 2001-12-14  Jim Meyering  <meyering@lucent.com>
91895
91896         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
91897         Suggestion from Bruno Haible.
91898
91899 2001-12-10  Jim Meyering  <meyering@lucent.com>
91900
91901         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
91902         xrealloc, Instead, include "xalloc.h".
91903         (initbuffer): Don't cast xmalloc return value to char*.
91904         (readline): Reword comment.
91905         Don't cast xrealloc return value to char*
91906         Return NULL, not 0.
91907
91908 2001-12-09  Jim Meyering  <meyering@lucent.com>
91909
91910         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
91911         about `signed and unsigned type in conditional expression'.
91912         * lib/posixtm.c (posix_time_parse): Likewise.
91913
91914         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
91915
91916         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
91917         to avoid a pedantic warning.
91918
91919         * lib/getstr.c: Don't include assert.h.
91920         (getstr): Remove warning-evoking assertions.
91921         Return -1 if offset parameter is out of bounds.
91922         Change the type of a local from int to size_t.
91923
91924         * lib/strftime.c (my_strftime_localtime_r): Include this function
91925         definition in the `#if ! HAVE_TM_GMTOFF' block.
91926
91927         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
91928         Include xalloc.h instead.
91929
91930 2001-12-02  Jim Meyering  <meyering@lucent.com>
91931
91932         * lib/tempname.c: Don't declare getenv, thus reverting the change of
91933         2001-11-18.  It's no longer necessary, now that stdlib.h is always
91934         included.
91935
91936         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
91937         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
91938
91939 2001-11-30  Akim Demaille  <akim@epita.fr>
91940
91941         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
91942         before being defined.
91943
91944 2001-11-27  Paul Eggert  <eggert@twinsun.com>
91945
91946         * lib/quotearg.h (quotearg_n, quotearg_n_style):
91947         First arg is int, not unsigned.
91948         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
91949         (SIZE_MAX, UINT_MAX): New macros.
91950         (quotearg_n_options): Abort if N is negative.
91951         Avoid overflow check on hosts where size_t is 64 bits and int
91952         is 32 bits, as overflow is impossible there.
91953         Fix off-by-one typo that caused unnecessary reallocation.
91954
91955 2001-11-27  Jim Meyering  <meyering@lucent.com>
91956
91957         * lib/tempname.c: Merge with version from libc.
91958         * lib/regex.c: Likewise.
91959
91960         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
91961         systems for which STDC_HEADERS is 0, it was not included, resulting in
91962         a warning about an integer-to-pointer conversion problem with getenv.
91963         Reported by Volker Borchert.
91964
91965 2001-11-26  Jim Meyering  <meyering@lucent.com>
91966
91967         * lib/gtod.h: Remove file.
91968         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
91969         * lib/gettimeofday.c: Don't include gtod.h.
91970         (GTOD_init): Remove function.
91971         (rpl_gettimeofday): Do its job here instead, rather than aborting.
91972         Suggestion from Volker Borchert.
91973
91974 2001-11-23  Jim Meyering  <meyering@lucent.com>
91975
91976         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
91977         it.
91978         * lib/hash.c (struct hash_table): Define it here instead.
91979
91980 2001-11-22  Jim Meyering  <meyering@lucent.com>
91981
91982         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
91983
91984 2001-11-20  Jim Meyering  <meyering@lucent.com>
91985
91986         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
91987         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
91988
91989 2001-11-19  Jim Meyering  <meyering@lucent.com>
91990
91991         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
91992         directory.  Use "conftestXXXXXX" as the template.
91993         Suggestion from Paul Eggert.
91994
91995         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
91996         immediately, so the test doesn't mistakenly hit the max-open-files
91997         limit.
91998
91999 2001-11-18  Paul Eggert  <eggert@twinsun.com>
92000
92001         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
92002         (TEMPORARIES): New macro.
92003         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
92004         removes an artificial limitation (e.g. HP-UX 10.20, where
92005         TMP_MAX is 17576).
92006
92007 2001-11-18  Jim Meyering  <meyering@lucent.com>
92008
92009         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
92010
92011 2001-11-18  Jim Meyering  <meyering@lucent.com>
92012
92013         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
92014         on SunOS 4.
92015
92016         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
92017         files will be created before anything else.
92018
92019 2001-11-17  Paul Eggert  <eggert@twinsun.com>
92020
92021         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
92022         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
92023
92024 2001-11-17  Jim Meyering  <meyering@lucent.com>
92025
92026         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
92027         Prompted by a report from Bob Proulx.
92028
92029         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
92030         Instead, require UTILS_FUNC_MKSTEMP.
92031
92032 2001-11-17  Jim Meyering  <meyering@lucent.com>
92033
92034         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
92035         Now, that's done as part of AC_FUNC_STRTOD.
92036
92037 2001-11-17  Jim Meyering  <meyering@lucent.com>
92038
92039         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
92040         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
92041         rather than group writable.  Patch by Juan F. Codagnone.
92042
92043         * lib/readtokens.c: Remove explicit declarations of xmalloc and
92044         xrealloc, Instead, include "xalloc.h".
92045
92046         * lib/mountlist.c: Include unlocked-io.h after all system headers.
92047         Remove explicit declarations of xmalloc, xrealloc,
92048         and xstrdup.  Instead, include "xalloc.h".
92049
92050         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
92051         unlocked-io.h.
92052         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
92053         Likewise.
92054         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
92055
92056         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
92057         Reported by Padraig Brady.
92058
92059         * lib/mkstemp.c: #undef mkstemp.
92060         Include config.h.
92061         (rpl_mkstemp): Rename from mkstemp.
92062         Protoize.
92063
92064 2001-11-16  Jim Meyering  <meyering@lucent.com>
92065
92066         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
92067         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
92068         determine the amount of total physical memory, use pstat_getstatic.
92069         HPUX-11 doesn't define _SC_PHYS_PAGES.
92070         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
92071         If sysconf couldn't be used to determine the amount of available
92072         physical memory, use both pstat_getstatic and pstat_getdynamic.
92073         Based on a patch from Bob Proulx.
92074
92075 2001-11-10  Jim Meyering  <meyering@lucent.com>
92076
92077         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
92078         (jm_PREREQ): Use it.
92079
92080 2001-11-09  Jim Meyering  <meyering@lucent.com>
92081
92082         * m4/jm-macros.m4: Require autoconf-2.52f.
92083         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
92084         Use these AC_-prefixed names, not the AM_-prefixed ones.
92085
92086         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
92087
92088 2001-11-05  Jim Meyering  <meyering@lucent.com>
92089
92090         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
92091
92092 2001-11-04  Jim Meyering  <meyering@lucent.com>
92093
92094         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
92095         $DEFS.
92096
92097 2001-11-03  Jim Meyering  <meyering@lucent.com>
92098
92099         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
92100         of AC_DEFUN.
92101
92102         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
92103         know the name of the variable in the macro definition.
92104
92105 2001-11-03  Jim Meyering  <meyering@lucent.com>
92106
92107         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
92108         in argmatch_to_argument call.
92109
92110         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
92111         argument.
92112
92113         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
92114         e.g., a fault due to an attempt to free a NULL pointer.
92115
92116 2001-11-01  Jim Meyering  <meyering@lucent.com>
92117
92118         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
92119         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
92120
92121 2001-11-01  Jim Meyering  <meyering@lucent.com>
92122
92123         * lib/dirfd.c, lib/dirfd.h: New files.
92124         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
92125
92126         * lib/hash.c (hash_print) [TESTING]: Clean up.
92127
92128 2001-10-22  Paul Eggert  <eggert@twinsun.com>
92129
92130         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
92131         to avoid a warning if -Wall.
92132
92133 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
92134
92135         * README: New file
92136         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
92137         (per RMS's instructions, this is now the canonical source)
92138         * lgpl/, gpl/: New directories.
92139
92140 2001-10-21  Paul Eggert  <eggert@twinsun.com>
92141
92142         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
92143
92144 2001-10-21  Jim Meyering  <meyering@lucent.com>
92145
92146         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
92147         this code would end up calling gettext even in packages built
92148         with --disable-nls.
92149         * lib/getopt.c (_): Likewise.
92150         * lib/regex.c (_): Likewise.
92151
92152 2001-10-20  Paul Eggert  <eggert@twinsun.com>
92153
92154         * m4/error.m4 (jm_PREREQ_ERROR):
92155         Do not invoke AC_CHECK_FUNCS with strerror_r, as
92156         AC_FUNC_STRERROR_R does that.
92157         Check for strerror declaration.
92158
92159         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
92160         are supposed to have them these days.
92161         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
92162         Merge changes from latest Autoconf CVS.
92163         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
92164         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
92165         POSIX decided to standardize on the int flavor of strerror_r.
92166
92167 2001-10-20  Paul Eggert  <eggert@twinsun.com>
92168
92169         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
92170         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
92171         Use strerror_r that is only a macro, even if it is not a function.
92172         (strerror): Check for HAVE_DECL_STRERROR before declaring.
92173         (private_strerror): Use prototypes, not old-style function definition.
92174         (print_errno_message): New function.
92175         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
92176         char*-flavored one.
92177         (error_tail, error, error_at_line): Use it.
92178
92179 2001-10-11  Jim Meyering  <meyering@lucent.com>
92180
92181         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
92182         and quote_n (1, ... to avoid clobbering a buffer.
92183
92184 2001-10-05  Jim Meyering  <meyering@lucent.com>
92185
92186         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
92187         hash-pjw.h.
92188         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
92189         * lib/hash-pjw.h: New file.
92190
92191 2001-09-30  Jim Meyering  <meyering@lucent.com>
92192
92193         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
92194         `struct fsstat' has the `f_fstypename' member.
92195         Use that to define FS_TYPE, which is now used to make
92196         the getfsstat link test tighter.
92197
92198 2001-09-30  Jim Meyering  <meyering@lucent.com>
92199
92200         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
92201         Include <sys/ucred.h>, for Apple Darwin.
92202         Include sys/mount.h and sys/fs_types.h only if available.
92203         (FS_TYPE): Define.
92204         (read_filesystem_list): Use FS_TYPE.
92205
92206 2001-09-29  Paul Eggert  <eggert@twinsun.com>
92207
92208         * lib/exclude.c (excluded_filename): 0 -> false, since it's
92209         a boolean context.
92210
92211 2001-09-29  Jim Meyering  <meyering@lucent.com>
92212
92213         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
92214         [one-argument getmntent function]): Include stdio.h before mntent.h.
92215         SunOS 4.1.x needs it for the declaration of `FILE'.
92216         Patch by Volker Borchert.
92217
92218         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
92219         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
92220         sys/fs_types.h, and make the link-test for getfsstat guard #include
92221         directives with appropriate #if HAVE_*_H tests so that we can
92222         detect getfsstat on Apple Darwin1.3.7 systems.
92223         Reported by Nelson Beebe.
92224         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
92225
92226 2001-09-28  Paul Eggert  <eggert@twinsun.com>
92227
92228         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
92229         #defines strtoimax.  Also treat the other strto* functions
92230         like strtoimax.
92231
92232         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
92233         Check for strtoul and strtoumax,
92234         as those declarations are made even in the signed case.
92235         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
92236         Likewise, for strtol and strtoimax.
92237
92238 2001-09-28  Paul Eggert  <eggert@twinsun.com>
92239
92240         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
92241         #defines strtoimax.  Also treat the other strto* functions
92242         like strtoimax.
92243
92244         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
92245         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
92246         (strtoimax, strtoumax): Do not declare if already defined as a macro.
92247
92248 2001-09-26  Jim Meyering  <meyering@lucent.com>
92249
92250         Most macros in unlocked-io.h had the wrong number of arguments.
92251         * lib/gen-uio: New script.
92252         (USE_UNLOCKED_IO): Define to 1 if not already defined.
92253         * lib/unlocked-io.hin: Remove file.
92254         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
92255         rather than trying to embed it here.
92256         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
92257         Reported by Padraig Brady.
92258
92259 2001-09-25  Volker Borchert  <bt@teknon.de>
92260
92261         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
92262         `result'.
92263
92264 2001-09-24  Jim Meyering  <meyering@lucent.com>
92265
92266         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
92267
92268 2001-09-23  Jim Meyering  <meyering@lucent.com>
92269
92270         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
92271         instead of the mere test for existence of mntent.h.  The latter
92272         would get a false-positive on AIX 3.4 systems.
92273         In the outer getmntent if-block, don't die if neither of the getmntent
92274         tests succeeds.  Instead, just fall through and continue with the
92275         remaining tests.
92276
92277 2001-09-23  Jim Meyering  <meyering@lucent.com>
92278
92279         * lib/mountlist.c: Remove useless parentheses in #if directives.
92280         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
92281         the deprecated MOUNTED symbol is no longer defined in mntent.h.
92282
92283 2001-09-22  Jim Meyering  <meyering@lucent.com>
92284
92285         * m4/gettext.m4: New file.  From gettext.
92286         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
92287         * m4/progtest.m4: Likewise
92288         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
92289         * m4/glibc21.m4: Likewise.
92290
92291         * m4/libintl.m4: Remove.  No longer used.
92292
92293 2001-09-22  Jim Meyering  <meyering@lucent.com>
92294
92295         * lib/localcharset.c: Update from latest gettext.
92296         * lib/config.charset: Likewise.
92297
92298 2001-09-20  Jim Meyering  <meyering@lucent.com>
92299
92300         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
92301         strtoimax.
92302         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
92303         strtoumax.
92304
92305 2001-09-20  Jim Meyering  <meyering@lucent.com>
92306
92307         * lib/xstrtol.c (strtoimax): Guard declaration with
92308         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
92309         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
92310         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
92311         (strtoumax): Likewise, for completeness (it wasn't necessary).
92312
92313 2001-09-17  Paul Eggert  <eggert@twinsun.com>
92314
92315         * lib/strtoimax.c (HAVE_LONG_LONG):
92316         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
92317         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
92318         to work around bug in IBM C compiler.
92319
92320 2001-09-17  Jim Meyering  <meyering@lucent.com>
92321
92322         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
92323         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
92324         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
92325         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
92326         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
92327         whenever the right hand side need not be expanded by the shell.
92328
92329 2001-09-16  Paul Eggert  <eggert@twinsun.com>
92330
92331         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
92332         library.  It's not correct, as some older glibcs are buggy.
92333         fnmatch wasn't fixed until glibc 2.2.
92334
92335         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
92336         special shell magic here.
92337
92338 2001-09-16  Jim Meyering  <meyering@lucent.com>
92339
92340         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
92341         * m4/jm-macros.m4: Require it.
92342
92343 2001-09-16  Jim Meyering  <meyering@lucent.com>
92344
92345         * lib/mkdir.c: New file.
92346
92347 2001-09-15  Jim Meyering  <meyering@lucent.com>
92348
92349         * m4/jm-macros.m4: Check for help2man.
92350
92351 2001-09-11  Jim Meyering  <meyering@lucent.com>
92352
92353         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
92354         The body, by Paul Eggert, was moved here from configure.in.
92355         * m4/jm-macros.m4: Require UTILS_HOST_OS.
92356
92357 2001-09-04  Paul Eggert  <eggert@twinsun.com>
92358
92359         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
92360         (jm_PREREQ): Use it.
92361
92362 2001-09-04  Paul Eggert  <eggert@twinsun.com>
92363
92364         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
92365         Use ssize_t, not int, to store result of readlink.
92366         Check for ssize_t overflow as well as size_t overflow,
92367         as POSIX says the result of readlink is implementation-defined
92368         when ssize_t overflows.
92369         Remove unnecessary cast to char*.
92370         Use free+malloc instead of realloc, as the storage doesn't need
92371         to be preserved and it's clearer and can be more efficient that way.
92372         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
92373         * lib/xreadlink.h (xreadlink): Update prototype.
92374
92375 2001-09-04  Paul Eggert  <eggert@twinsun.com>
92376
92377         * lib/xgetcwd.c: Revert some of the previous change; intead,
92378         fix the HAVE_GETCWD_NULL code to behave more like the
92379         !HAVE_GETCWD_NULL code used to.
92380
92381         Include "xalloc.h".
92382         (xgetcwd): Do not return NULL when memory is exhausted; instead,
92383         invoke xalloc_die.
92384
92385 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92386
92387         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
92388         sys/param.h, as pathmax.h includes them.
92389
92390 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92391
92392         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
92393         (jm_PREREQ_XGETCWD): New macro.
92394
92395         * m4/getcwd.m4: New file.
92396
92397 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92398
92399         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
92400         like the HAVE_GETCWD_NULL code.
92401         Include pathmax.h if not HAVE_GETCWD.
92402         Do not include xalloc.h.
92403         (INITIAL_BUFFER_SIZE): New symbol.
92404         Do not use xmalloc / xrealloc, since the caller is responsible for
92405         handling errors.  Preserve errno around `free' during failure.
92406         Do not overrun buffer when using getwd.
92407
92408 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92409
92410         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
92411         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
92412         getcwd (NULL, 0).
92413
92414 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92415
92416         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
92417         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
92418         spotted by Jim Meyering.
92419
92420 2001-09-03  Jim Meyering  <meyering@lucent.com>
92421
92422         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
92423         failure.
92424
92425 2001-09-02  Jim Meyering  <meyering@lucent.com>
92426
92427         * lib/error.c: Update from GNU libc.
92428
92429 2001-09-01  Jim Meyering  <meyering@lucent.com>
92430
92431         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
92432         Used by df.
92433
92434 2001-09-01  Jim Meyering  <meyering@lucent.com>
92435
92436         * lib/xreadlink.c: New file.
92437         * lib/xreadlink.h: New file.
92438         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
92439         xreadlink.h.
92440
92441         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
92442         doesn't conflict with sparc Solaris 7's definition in
92443         /usr/include/sys/int_types.h.
92444
92445         * lib/exclude.c: Use `""', not `<>' to #include non-system header
92446         files.
92447         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
92448         and strncasecmp as r-values.  Unixware didn't have declarations.
92449
92450 2001-08-31  Paul Eggert  <eggert@twinsun.com>
92451
92452         * lib/xstrtol.h: Add copyright notice.
92453         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
92454         LONGINT_INVALID_SUFFIX_CHAR.
92455
92456 2001-08-31  Paul Eggert  <eggert@twinsun.com>
92457
92458         * lib/xstrtol.c (strtoimax): New decl.
92459
92460 2001-08-31  Paul Eggert  <eggert@twinsun.com>
92461
92462         * lib/xgetcwd.c: Don't include pathmax.h.
92463         Include stdlib.h and unistd.h if available.
92464         Include xalloc.h.
92465         (xmalloc, xstrdup, free): Remove decls.
92466         (xgetcwd): Don't assume sizes fit in unsigned.
92467         Check for overflow when computing sizes.
92468         Simplify reallocation code.
92469
92470 2001-08-31  Paul Eggert  <eggert@twinsun.com>
92471
92472         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
92473         a directory's st_size can have an arbitrary value, so the old
92474         usage could waste an arbitrary amount of memory.  All uses
92475         changed.
92476         * lib/savedir.h: Update prototype.
92477
92478 2001-08-31  Paul Eggert  <eggert@twinsun.com>
92479
92480         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
92481
92482         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
92483         old strtoimax.c.
92484
92485         Also, make the following further changes to make this file's
92486         configuration more similar to that of strtol.c:
92487         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
92488         (strtoumax, uintmax_t, strtoull, strtol): Remove.
92489         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
92490         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
92491         changed to signed values.
92492
92493         And make the following changes as well:
92494         Fix copyright notice, as 1999 was missing.
92495         (verify): New macro.
92496         (strtoimax): Check sizes at compile-time, not run-time.
92497         Prefer strtol to strtoll if both work.
92498         (main): Remove; it was not that useful and was a pain to maintain.
92499
92500         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
92501
92502 2001-08-31  Jim Meyering  <meyering@lucent.com>
92503
92504         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
92505         Use an initial, malloc'd, buffer of length 128 rather than
92506         a statically allocated one of length 1024.
92507
92508 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92509
92510         Simplify code, partly by assuming autoconf 2.52 semantics.
92511
92512         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
92513
92514         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
92515         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
92516         All uses removed.
92517         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
92518         Move AC_REQUIRE to next-to-top level, to avoid confusion.
92519         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
92520         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
92521         jm_AC_HEADER_INTTYPES_H.
92522         * m4/jm-macros.m4 (jm_MACROS): Likewise.
92523
92524         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
92525
92526         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
92527         Quote first arg of AC_DEFUN.
92528         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
92529         since they are needed to parse the include file even if we need
92530         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
92531         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
92532         but with opposite signedness.
92533
92534 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92535
92536         Merge 'exclude' changes from tar 1.13.22.
92537         This fixes one or two unlikely storage allocation overflow bugs,
92538         but doesn't change user-visible behavior otherwise.
92539
92540 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92541
92542         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
92543         (jm_PREREQ_EXCLUDE): New macro.
92544
92545 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92546
92547         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
92548         tm to be declared.
92549
92550 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92551
92552         * lib/hash.c: Remove '2001' from copyright notice.
92553
92554 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92555
92556         * lib/full-write.h: New file.
92557         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
92558         * lib/full-write.c: Correct credits, as cccp.c no longer
92559         exists and anyway it was so heavily changed from the old cccp
92560         code as to be unrecognizable.  Include full-write.h.
92561         (full_write): Return size_t, with short writes meaning failure.
92562         All callers changed.  This fixes a bug with large buffers
92563         on 64-bit hosts.
92564         * lib/utime.c: Include full-write.h.
92565
92566 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92567
92568         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
92569         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
92570         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
92571         Include if available.
92572         (<xalloc.h>): Include
92573         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
92574         (verify): New macro.  Use it to verify that EXCLUDE macros do not
92575         collide with FNM macros.
92576         (struct patopts): New struct.
92577         (struct exclude): Use it, as exclude patterns now come with options.
92578         (new_exclude): Support above changes.
92579         (new_exclude, add_exclude_file):
92580         Initial size must now be a power of two to simplify overflow checking.
92581         (free_exclude, fnmatch_no_wildcards): New function.
92582         (excluded_filename): No longer requires options arg, as the options
92583         are determined by add_exclude.  Now returns bool, not int.
92584         (excluded_filename, add_exclude):
92585         Add support for the fancy new exclusion options.
92586         (add_exclude, add_exclude_file): Now takes int options arg.
92587         Check for arithmetic overflow when computing sizes.
92588         (add_exclude_file): xrealloc might modify errno, so don't
92589         realloc until after errno might be used.
92590
92591         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
92592         New macros.
92593         (free_exclude): New decl.
92594         (add_exclude, add_exclude_file): Now takes int options arg.
92595         (excluded_filename): No longer requires options arg, as the options
92596         are determined by add_exclude.  Now returns bool, not int.
92597
92598 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92599
92600         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
92601
92602 2001-08-27  Jim Meyering  <meyering@lucent.com>
92603
92604         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
92605
92606         * lib/version-etc.c (N_): Remove definition.
92607         Revert most of last change.
92608         Instead, simply don't mark the `Copyright...' string for translation.
92609         Based on advice from Paul Eggert.
92610
92611         * lib/strtoxmax.c: Tweak comment.
92612
92613 2001-08-26  Jim Meyering  <meyering@lucent.com>
92614
92615         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
92616
92617         * m4/xstrtoimax.m4: New file.
92618         * m4/xstrtoumax.m4: Add comments explaining why we
92619         AC_REPLACE_FUNCS(strtol).
92620
92621 2001-08-26  Jim Meyering  <meyering@lucent.com>
92622
92623         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
92624         of copyright with `%s' so translators don't get an untranslated
92625         message in 2002.
92626         (COPYRIGHT_YEAR): Define.
92627         (version_etc): Use fprintf rather than fputs.
92628         Suggestion from Ulrich Drepper.
92629
92630         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
92631
92632         * lib/strtoll.c: New file, from GNU libc.
92633         * lib/xstrtoimax.c: New file.
92634
92635         * lib/xstrtol.h: Add xstrtoimax.
92636         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
92637         * lib/strtoimax.c: New file.  Likewise, but first define
92638         STRTOUXMAX_SIGNED.
92639
92640         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
92641         ...
92642         * lib/strtoxmax.c: ... then renamed to this.
92643
92644 2001-08-18  Paul Eggert  <eggert@twinsun.com>
92645
92646         * m4/inttypes.m4: Add AC_PREREQ(2.13).
92647         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
92648         (jm_AC_TYPE_INTMAX_T): New macro.
92649         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
92650
92651         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
92652
92653         * m4/longlong.m4: Renamed from ulonglong.m4.
92654         * m4/inttypes.m4: Renamed from inttypes_h.m4.
92655         * m4/uintmax_t.m4: Removed.
92656
92657 2001-08-13  Paul Eggert  <eggert@twinsun.com>
92658
92659         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
92660         Port to Solaris 8, where 'sed' requires a space after the 'r'
92661         command, and where sh dislikes "$/".  Clean up the spacing a bit.
92662         Redirect output to $tmp just once.
92663
92664 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
92665
92666         * lib/addext.c (<errno.h>): Include.
92667         (errno): Declare if not defined.
92668         (addext): Work correctly when pathconf returns -1 and leaves
92669         errno alone because there is no limit.  Also, work even if
92670         pathconf returns a value greater than SIZE_MAX.
92671
92672 2001-08-12  Jim Meyering  <meyering@lucent.com>
92673
92674         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
92675         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
92676         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
92677         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
92678         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
92679         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
92680         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
92681         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
92682         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
92683         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
92684         utime.m4, utimes.m4, xstrtoumax.m4:
92685         Quote the first argument in each use of AC_DEFUN.
92686
92687 2001-08-12  Jim Meyering  <meyering@lucent.com>
92688
92689         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
92690         Simply `return getcwd (NULL, 0);'.
92691         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
92692         Use 1300 as initial value for length, not PATH_MAX.
92693
92694         * lib/pathmax.h: Clean up cpp syntax.
92695
92696 2001-08-12  Jim Meyering  <meyering@lucent.com>
92697
92698         * lib/gettimeofday.c: New file.
92699         * lib/gtod.h: New file.
92700         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
92701
92702 2001-08-05  Jim Meyering  <meyering@lucent.com>
92703
92704         * m4/jm-macros.m4: Require autoconf-2.52.
92705
92706 2001-08-04  Jim Meyering  <meyering@lucent.com>
92707
92708         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
92709         stmt, to get in sync with glibc.
92710
92711 2001-08-03  Paul Eggert  <eggert@twinsun.com>
92712
92713         The following changes are from gettext 0.10.39 as maintained by
92714         Bruno Haible.
92715
92716         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
92717         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
92718         with inverted sense.  All uses changed.
92719
92720         * lib/mbswidth.c: Don't include <limits.h>.
92721         Include <stdlib.h> and <string.h> unconditionally.
92722         (iswcntrl, mbsinit, ISCNTRL): New macros.
92723         (mbsnwidth): Use K&R style function declarations.
92724         Don't bother checking for MB_LEN_MAX == 1, since the compiler
92725         can optimize it when MB_CUR_MAX == 1.
92726         The width of control characters is zero, not 1.
92727
92728 2001-08-03  Paul Eggert  <eggert@twinsun.com>
92729
92730         The following changes are from gettext 0.10.39 as maintained by
92731         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
92732
92733         * m4/codeset.m4: Upgrade to serial AM1.
92734         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
92735         all uses changed.  Quote first arg of AC_DEFUN.
92736         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
92737
92738         * m4/iconv.m4: Upgrade to serial AM2.
92739         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
92740         Add --with-libconv-prefix.
92741         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
92742         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
92743         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
92744         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
92745         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
92746
92747         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
92748         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
92749         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
92750         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
92751         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
92752         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
92753         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
92754         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
92755         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
92756
92757         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
92758         string.h any more.
92759
92760         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
92761         not the default value.
92762
92763         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
92764         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
92765         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
92766         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
92767         Also check for iswcntrl, used for wcwidth fallback.
92768         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
92769         to Autoconf 2.13.
92770
92771 2001-08-03  Jim Meyering  <meyering@lucent.com>
92772
92773         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
92774         as it was in the original.  Reported by Paul Eggert.
92775
92776 2001-07-16  Jim Meyering  <meyering@lucent.com>
92777
92778         * m4/gettimeofday.m4: New file.
92779         Prompted by a report from Bernhard Baehr.
92780
92781 2001-07-15  Jim Meyering  <meyering@lucent.com>
92782
92783         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
92784         stuff. Now it's in ../Makefile.cfg.
92785
92786 2001-07-15  Jim Meyering  <meyering@lucent.com>
92787
92788         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
92789         (BUILT_SOURCES): Add unlocked-io.h.
92790         (io_functions): Define.
92791         (unlocked-io.h): New rule.
92792         (DISTCLEANFILES): Add unlocked-io.h.
92793         (all-local): Depend on unlocked-io.h, to ensure it is created.
92794
92795         * lib/unlocked-io.hin: New file
92796
92797         * lib/regex.c: Update from glibc.
92798
92799 2001-07-05  Jim Meyering  <meyering@lucent.com>
92800
92801         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
92802         recommendation.
92803         (libfetish_a_SOURCES): Put all .h files here instead.
92804         Remove a thus-exposed (better checks in automake) duplicate and
92805         two unnecessary .h files.
92806
92807 2001-07-04  Jim Meyering  <meyering@lucent.com>
92808
92809         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
92810         that generates jm-glibc-io.m4 so that it doesn't trigger any make
92811         distcheck failure.
92812
92813 2001-07-02  Jim Meyering  <meyering@lucent.com>
92814
92815         The following changes were prompted by suggestions from Bruno Haible.
92816
92817         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
92818         is now generated.
92819         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
92820         definition of EXTRA_DIST.
92821         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
92822         ensure that the generated file is created/updated whenever the list
92823         of $(unlocked_functions) is changed.
92824         (jm-glibc-io.m4): New rule.
92825         (unlocked-io.h): New rule -- currently unused.
92826
92827 2001-06-24  Jim Meyering  <meyering@lucent.com>
92828
92829         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
92830         unmatched right bracket, rather than kludging it with an extra,
92831         falsely-matching quote in a comment.  Patch by Akim Demaille.
92832
92833 2001-06-11  Jim Meyering  <meyering@lucent.com>
92834
92835         * lib/regex.c: Update from GNU libc.
92836
92837 2001-05-27  Jim Meyering  <meyering@lucent.com>
92838
92839         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
92840         Check for ut_type in struct utmp.
92841
92842 2001-05-27  Jim Meyering  <meyering@lucent.com>
92843
92844         * lib/readutmp.h (UT_TYPE): Define.
92845
92846 2001-05-24  Jim Meyering  <meyering@lucent.com>
92847
92848         * lib/argmatch.c: Include "quote.h".
92849         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
92850         quote function.  Reported by Göran Uddeborg.
92851
92852 2001-05-22  Jim Meyering  <meyering@lucent.com>
92853
92854         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
92855         now that we use the package-supplied version unconditionally.
92856         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
92857
92858 2001-05-21  Jim Meyering  <meyering@lucent.com>
92859
92860         * m4/regex.m4: Change a couple backticks to single quotes to avoid
92861         shell syntax errors.
92862
92863 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
92864
92865         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
92866
92867 2001-05-20  Paul Eggert  <eggert@twinsun.com>
92868
92869         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
92870         Don't bother to check library strftime, since
92871         we'll be using our own my_strftime function anyway.
92872         Define my_strftime instead of strftime.
92873
92874 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
92875
92876         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
92877         which is not yet declared.
92878
92879 2001-05-15  Jim Meyering  <meyering@lucent.com>
92880
92881         * m4/regex.m4: Use proper quoting so brackets appear in the test
92882         program.
92883         Reported by, and with help from, Bruno Haible.
92884
92885 2001-05-13  Jim Meyering  <meyering@lucent.com>
92886
92887         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
92888         undefined.
92889
92890 2001-05-11  Paul Eggert  <eggert@twinsun.com>
92891
92892         dirname code cleanup.  base_name now behaves more compatibly
92893         with POSIX basename when given file names that have trailing
92894         slashes, and similarly for dir_name.  Add new primitives
92895         base_len and dir_len.  Put the directory-name-related decls
92896         into dirname.h.
92897
92898         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
92899         * lib/backupfile.c (base_name): Likewise.
92900         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
92901         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
92902         * lib/makepath.c (strip_trailing_slashes): Likewise.
92903         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
92904         ISSLASH): Likewise.
92905         * lib/rename.c (strip_trailing_slashes): Likewise.
92906         * lib/same.c (base_name): Likewise.
92907         * lib/stripslash.c (ISSLASH): Likewise.
92908
92909         * lib/addext.c: Include <dirname.h> after size_t is defined.
92910         * lib/backupfile.c: Likewise.
92911
92912         * lib/addext.c (addext): Use base_len to trim redundant
92913         trailing slashes instead of doing it ourselves.
92914         But do not trim the last slash if it is not redundant.
92915
92916         * lib/backupfile.c (find_backup_file_name,
92917         max_backup_version): Use base_len instead of rolling it ourselves.
92918         Handle the case of "" and (on DOS) "C:" correctly.
92919
92920         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
92921         needed. Include <string.h>, <dirname.h>.
92922         (base_name): Allow file names ending in slashes, other than names
92923         that are all slashes.  In this case, return the basename followed
92924         by the slashes.  This is more general, and can be used in places
92925         where the original base_name purposely had an assertion failure.
92926         (base_len): New function.
92927
92928         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
92929         Do not include <assert.h>; no longer needed.
92930         Include xalloc.h.
92931         (memrchr): Remove decl.
92932         (dir_name_r): Remove.
92933         (dir_len): Renamed from dirlen.  All callers changed.
92934         Rewrite in terms of base_name, for simplicity and consistency.
92935         (dir_name): Never return NULL.  All callers changed.
92936         Do not include <stdlib.h> in test program; no longer needed.
92937         return 0; is fine for test program.
92938
92939         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
92940         New macros.
92941         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
92942
92943         * lib/path-concat.c (path_concat): Use base_len to compute
92944         base length, not strlen; this means we cannot rely on memcpy
92945         to null-terminate.
92946
92947         * lib/same.c (STREQ): Remove.
92948         (same_name): Handle the case where the basename ends in trailing '/'.
92949
92950         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
92951         a slash was stripped.  Do not strip the last slash after a
92952         file system prefix.
92953
92954 2001-05-11  Paul Eggert  <eggert@twinsun.com>
92955
92956         * lib/Makefile.am (libfetish_a_SOURCES):
92957         Add strftime.c, since we now compile it on all hosts.
92958
92959         * lib/strftime.c (my_strftime):
92960         Define to nstrftime if emacs, but only if my_strftime is not defined.
92961         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
92962         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
92963         Add one more extra argument: a nanoseconds value.
92964         All uses changed.
92965         (ns): New macro.
92966         (my_strftime function): Add %N format.
92967         (emacs_strftimeu): Renamed from emacs_strftime,
92968         with extra ut argument.
92969
92970 2001-05-09  Paul Eggert  <eggert@twinsun.com>
92971
92972         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
92973
92974 2001-04-21  Jim Meyering  <meyering@lucent.com>
92975
92976         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
92977         doesn't interfere.
92978
92979 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
92980
92981         * m4/ftruncate.m4: Check for chsize.
92982         Link with ftruncate.o unconditionally if ftruncate is missing.
92983         This was required when cross-compiling to i586-mingw32msvc.
92984
92985 2001-04-08  Jim Meyering  <meyering@lucent.com>
92986
92987         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
92988         recomputed; that's necessary when the offset spans a DST transition.
92989         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
92990
92991 2001-04-02  Jim Meyering  <meyering@lucent.com>
92992
92993         * lib/regex.h, regex.c: Update from GNU libc.
92994
92995 2001-03-24  Jim Meyering  <meyering@lucent.com>
92996
92997         * m4/jm-macros.m4: Require autoconf-2.49d.
92998
92999 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
93000
93001         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
93002
93003 2001-03-19  Paul Eggert  <eggert@twinsun.com>
93004
93005         * lib/version-etc.c (version_etc_copyright): Update to 2001.
93006
93007 2001-03-17  Jim Meyering  <meyering@lucent.com>
93008
93009         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
93010         now that the version in autoconf is equivalent.
93011         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
93012
93013         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
93014         Suggestion from Akim Demaille.
93015
93016         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
93017         (jm_PREREQ_TEMPNAME): New function.
93018
93019 2001-03-16  Paul Eggert  <eggert@twinsun.com>
93020
93021         * lib/tempname.c (uint64_t): Define to uintmax_t if
93022         not defined, and if UINT64_MAX is not defined.
93023         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
93024         Reported by John David Anglin.
93025
93026 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
93027
93028         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
93029         resolve alias if codeset is empty.
93030         * lib/config.charset (BeOS): Use wildcard syntax.
93031
93032 2001-03-13  Jim Meyering  <meyering@lucent.com>
93033
93034         * lib/path-concat.c (path_concat)
93035         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
93036         concatenating e.g., `C:' and `foo'.
93037         From Bruno Haible.
93038
93039 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
93040
93041         * lib/localcharset.c (locale_charset): Don't use
93042         setlocale(LC_CTYPE,NULL). Don't return NULL.
93043         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
93044
93045 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
93046
93047         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
93048         support for DOS/DJGPP.
93049
93050 2001-03-01  Paul Eggert  <eggert@twinsun.com>
93051
93052         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
93053         lacks mkstemp.  Compile our own tempname.c if we compile our own
93054         mkstemp.c, as mkstemp relies on tempname.
93055
93056 2001-03-01  Jim Meyering  <meyering@lucent.com>
93057
93058         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
93059         AH_VERBATIM really does output its argument verbatim.
93060
93061 2001-02-28  Paul Eggert  <eggert@twinsun.com>
93062
93063         * lib/Makefile.am (libfetish_a_SOURCES):
93064         Add dup-safer.c, fopen-safer.c.
93065         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
93066
93067         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
93068         * lib/unistd-safer.h: New files.
93069
93070 2001-02-25  Paul Eggert  <eggert@twinsun.com>
93071
93072         The mkstemp replacement is taken from glibc 2.2.2, with some
93073         portability fixes for use outside glibc, as follows:
93074
93075         * lib/tempname.c (struct_stat64): New macro.
93076         (direxists, __gen_tempname): Use it.
93077         This avoids a portability problem with Solaris 8.
93078
93079         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
93080         (<stddef.h>, <stdint.h>, <string.h>):
93081         Include only if STDC_HEADERS || _LIBC.
93082         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
93083         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
93084         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
93085         (__set_errno): Define this macro if <errno.h> doesn't.
93086         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
93087         Define these macros if <stdio.h> doesn't.
93088         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
93089         Define these macros if <sys/stat.h>
93090         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
93091         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
93092         __xstat64): Define if not _LIBC.
93093         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
93094         (__gen_tempname): Invoke gettimeofday only if
93095         HAVE_GETTIMEOFDAY || _LIBC;
93096         otherwise, fall back on plain "time".
93097         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
93098
93099         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
93100
93101         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
93102
93103 2001-02-18  Paul Eggert  <eggert@twinsun.com>
93104
93105         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
93106
93107 2001-02-17  Paul Eggert  <eggert@twinsun.com>
93108
93109         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
93110         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
93111         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
93112         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
93113
93114 2001-02-17  Paul Eggert  <eggert@twinsun.com>
93115
93116         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
93117         Remove workaround macros for hosts that have mbrtowc but not
93118         mbstate_t, as we now insist on proper declarations for both
93119         before using mbrtowc.
93120
93121 2001-02-17  Jim Meyering  <meyering@lucent.com>
93122
93123         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
93124         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
93125         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
93126         UnixWare 7.1.1.
93127
93128         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
93129         rather than AC_CACHE_VAL.
93130
93131 2001-02-17  Jim Meyering  <meyering@lucent.com>
93132
93133         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
93134         around included file name.
93135
93136         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
93137
93138         * lib/strftime.c: Update from GNU libc (the only changes were to
93139         comments).
93140
93141 2001-02-17  Jim Meyering  <meyering@lucent.com>
93142
93143         * lib/regex.c: Update from libc.
93144
93145 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
93146
93147         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
93148         clash.
93149
93150 2001-02-16  Paul Eggert  <eggert@twinsun.com>
93151
93152         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
93153         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
93154         Reported by Mark Hounschell via Paul Eggert.
93155
93156 2001-02-07  Jim Meyering  <meyering@lucent.com>
93157
93158         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
93159
93160 2001-02-05  Jim Meyering  <meyering@lucent.com>
93161
93162         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
93163         it includes the patch required for `large file' support with at least
93164         HP-UX's 10.20 /bin/cc.
93165
93166 2001-02-03  Jim Meyering  <meyering@lucent.com>
93167
93168         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
93169         AS_IF, now that it works once again (mysteriously).
93170         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
93171
93172 2001-01-30  Jim Meyering  <meyering@lucent.com>
93173
93174         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
93175         * m4/chown.m4: Rename conftestchown to conftest.chown.
93176         * m4/rename.m4: s/conftestdir/conftest.d1/ and
93177         s/conftestdir2/conftest.d2/.
93178         * m4/utimes.m4: s/conftestdata/conftest.data/
93179         Inspired by Pavel Roskin's change in autoconf.
93180
93181 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
93182
93183         * lib/config.charset: Update for FreeBSD 4.2.
93184
93185 2001-01-27  Jim Meyering  <meyering@lucent.com>
93186
93187         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
93188         a use of AS_IF.
93189         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
93190
93191 2001-01-26  Jim Meyering  <meyering@lucent.com>
93192
93193         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
93194         quotearg.c includes it.
93195
93196 2001-01-26  Jim Meyering  <meyering@lucent.com>
93197
93198         * lib/quotearg.c: Include stddef.h.
93199         * lib/quote.c: Include stddef.h.
93200         Reported by Axel Kittenberger.
93201
93202         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
93203         line in double quotes so that it evokes a better diagnostic.
93204         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
93205         Reported by Axel Kittenberger.
93206
93207 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
93208
93209         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
93210         as if it was a `charset'.
93211
93212 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
93213
93214         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
93215         has const.
93216
93217 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
93218
93219         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
93220         to avoid a warning.  Add back 'const' to inptr.
93221
93222 2001-01-20  Jim Meyering  <meyering@lucent.com>
93223
93224         Be sure that headers are checked before used in code compiled
93225         for the type checks.
93226         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
93227         In place of that, invoke jm_CHECK_ALL_TYPES.
93228         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
93229         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
93230         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
93231         The check for ssize_t was mistakenly run before the test for unistd.h.
93232
93233         The configure-time check for stdbool.h was missing.
93234         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
93235         (jm_PREREQ_HASH): New function.
93236
93237 2001-01-17  Jim Meyering  <meyering@lucent.com>
93238
93239         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
93240         for autoconf-2.49c.
93241         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
93242
93243 2001-01-16  Jim Meyering  <meyering@lucent.com>
93244
93245         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
93246         From Bruno Haible.
93247
93248 2001-01-14  Jim Meyering  <meyering@lucent.com>
93249
93250         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
93251         foo and bar.  Create conftestdir/ in the script, not in the C code.
93252         Remove directories in the script, not in the C code.
93253         Remove conftestdir{,2} before trying to create the directory.
93254         Make the entire configure script fail if the mkdir fails.
93255
93256 2001-01-14  Jim Meyering  <meyering@lucent.com>
93257
93258         * lib/rename.c: New file.  From Volker Borchert.
93259         Include stdlib.h, string.h or strings.h, and xalloc.h.
93260         Use strip_trailing_slashes rather than open-coding it.
93261
93262 2001-01-03  Paul Eggert  <eggert@twinsun.com>
93263
93264         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
93265
93266 2001-01-03  Jim Meyering  <meyering@lucent.com>
93267
93268         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
93269         of local `inptr' to avoid warning with some system declarations of
93270         iconv.
93271
93272 2001-01-02  Volker Borchert  <bt@teknon.de>
93273
93274         * m4/rename.m4: New file.
93275         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
93276
93277 2001-01-01  Jim Meyering  <meyering@lucent.com>
93278
93279         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
93280         even on systems with utmpx.h.  It's necessary for the declaration of
93281         utmp's ut_user member.  Reported by Andreas Jaeger.
93282
93283         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
93284         available. They are required for the declarations of getgrgid and
93285         getpwuid resp.
93286         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
93287         Reported by Andreas Jaeger.
93288
93289 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
93290
93291         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
93292         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
93293         so `make install' also works in VPATH builds.
93294
93295 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
93296
93297         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
93298         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
93299         can be used in subdirectories.
93300
93301 2000-12-29  Paul Eggert  <eggert@twinsun.com>
93302
93303         * lib/modechange.c: Do not assume that mode_t uses the
93304         traditional octal encoding.  E.g. "chmod 1 FOO" should set
93305         the other-execute bit of FOO even if S_IXOTH != 1.
93306
93307         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
93308         WOTH, XOTH, ALLM): New macros.
93309         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
93310          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
93311         Use them.
93312         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
93313         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
93314         (mode_compile):
93315         No need to use uintmax_t; unsigned long is long enough.
93316         Don't bother to get suffix since we don't use it.
93317
93318 2000-12-26  Jim Meyering  <meyering@lucent.com>
93319
93320         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
93321         better with autoheader.
93322
93323 2000-12-24  Jim Meyering  <meyering@lucent.com>
93324
93325         * lib/hash.c (is_prime): Return explicit boolean values.
93326         (hash_get_first): Return NULL to appease Irix5.6's 89.
93327         Reported by Nelson Beebe.
93328
93329 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
93330
93331         * lib/localcharset.c (locale_charset): Add support for Win32.
93332
93333 2000-12-18  Paul Eggert  <eggert@twinsun.com>
93334
93335         * lib/physmem.h, lib/physmem.c: New files.
93336
93337         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
93338         (noinst_HEADERS): Add physmem.h.
93339
93340         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
93341         't' for compatibility with Solaris 8 sort.
93342
93343 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
93344
93345         * lib/config.charset: Add support for BeOS.
93346
93347 2000-12-17  Jim Meyering  <meyering@lucent.com>
93348
93349         * m4/dos.m4 (jm_AC_DOS): New file and macro.
93350         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
93351
93352 2000-12-16  Jim Meyering  <meyering@lucent.com>
93353
93354         This bug had a serious impact on chown: `chown N:M FILE' (for integer
93355         N and M) would have treated it like `chown N:N FILE'.
93356
93357         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
93358
93359 2000-12-16  Jim Meyering  <meyering@lucent.com>
93360
93361         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
93362         SHELLS_FILE to a file name that's useful on djgpp systems.
93363         Include stdlib.h.
93364         (ADDITIONAL_DEFAULT_SHELLS): Define.
93365         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
93366         Based mostly on a patch from Prashant TR.
93367
93368 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
93369
93370         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
93371         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
93372         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
93373
93374 2000-12-08  Andreas Schwab  <schwab@suse.de>
93375
93376         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
93377         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
93378
93379 2000-12-07  Jim Meyering  <meyering@lucent.com>
93380
93381         * lib/stripslash.c (ISSLASH): Define.
93382         (strip_trailing_slashes): Use ISSLASH rather than comparing against
93383         `/'.
93384         From Prashant TR.
93385
93386         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
93387         (dir_name_r): Declare this function as static.
93388         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
93389         manifest itself on a name containing a mix of slashes and
93390         backslashes.
93391         Make this function work with names starting with a DOS-style
93392         drive letter and colon prefix.
93393         (dir_name): Append `.' if necessary.
93394         Based mostly on patches from Prashant TR and Eli Zaretskii.
93395
93396         * lib/dirname.h (dir_name_r): Remove prototype.
93397
93398 2000-12-06  Paul Eggert  <eggert@twinsun.com>
93399
93400         * m4/off_t-format.m4: Remove this file.
93401         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
93402
93403 2000-12-06  Jim Meyering  <meyering@lucent.com>
93404
93405         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
93406         replacement strtoull, we may well need the replacement strtoul, too.
93407         Check for declarations of strtoul and strtoull.
93408         Check for strtol.  Mainly as a cue to cause automake to include
93409         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
93410         Check for limits.h -- strtol.c needs it.
93411
93412 2000-12-05  Jim Meyering  <meyering@lucent.com>
93413
93414         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
93415
93416 2000-12-04  Jim Meyering  <meyering@lucent.com>
93417
93418         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
93419         Also include memory.h, stdlib.h, unistd.h if appropriate.
93420         Reported by Andreas Jaeger (conflicting declaration of malloc).
93421
93422 2000-12-02  Jim Meyering  <meyering@lucent.com>
93423
93424         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
93425         * m4/jm-macros.m4 (jm_MACROS): require it.
93426
93427 2000-12-02  Jim Meyering  <meyering@lucent.com>
93428
93429         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
93430
93431 2000-12-01  Paul Eggert  <eggert@twinsun.com>
93432
93433         * lib/memrchr.c: Include <config.h> before any system include file.
93434
93435 2000-11-30  Jim Meyering  <meyering@lucent.com>
93436
93437         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
93438
93439 2000-11-30  Jim Meyering  <meyering@lucent.com>
93440
93441         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
93442
93443 2000-11-29  Paul Eggert  <eggert@twinsun.com>
93444
93445         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
93446
93447 2000-11-26  Jim Meyering  <meyering@lucent.com>
93448
93449         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
93450
93451 2000-11-22  Paul Eggert  <eggert@twinsun.com>
93452
93453         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
93454         size of (size_t) -1; it's not portable.
93455
93456 2000-11-17  Jim Meyering  <meyering@lucent.com>
93457
93458         * lib/strstr.c: Update from GNU libc.
93459
93460 2000-11-17  Akim Demaille  <akim@epita.fr>
93461
93462         * lib/obstack.h: Formatting changes.
93463         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
93464         prevent type checking.
93465         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
93466         cast the value to (void *): assigning a `foo *' to a `void *'
93467         variable is valid.
93468         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
93469
93470 2000-11-16  Jim Meyering  <meyering@lucent.com>
93471
93472         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
93473
93474 2000-11-11  Jim Meyering  <meyering@lucent.com>
93475
93476         * lib/error.c: Add a couple #includes, merging from GNU libc version.
93477
93478 2000-11-10  Jim Meyering  <meyering@lucent.com>
93479
93480         * lib/obstack.h: Update from GNU libc.
93481         * lib/obstack.c: Likewise.
93482
93483 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
93484
93485         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
93486
93487 2000-11-06  Paul Eggert  <eggert@twinsun.com>
93488
93489         * lib/getusershell.c (setusershell): Use rewind rather than
93490         fseek/fseeko, to avoid configuration hassles with fseeko.
93491         Don't bother opening SHELLS_FILE if shellstream is NULL;
93492         it's not necessary.
93493
93494 2000-11-05  Jim Meyering  <meyering@lucent.com>
93495
93496         * lib/makepath.h (make_dir): Declare.
93497         * lib/makepath.c (make_dir): Remove `static' attribute.
93498         Tweak a comment.
93499
93500 2000-11-04  Jim Meyering  <meyering@lucent.com>
93501
93502         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
93503
93504 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
93505
93506         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
93507         last one in a bucket, advance to the next bucket.
93508
93509 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
93510
93511         * lib/fnmatch.c: Do not comment out all the code if we are using
93512         the GNU C library, because in some cases we are replacing buggy
93513         code in the GNU C library itself.
93514
93515 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
93516
93517         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
93518         (regex_compile): Catch bogus \(\1\).
93519
93520 2000-10-30  Paul Eggert  <eggert@twinsun.com>
93521
93522         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
93523         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
93524         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
93525
93526 2000-10-30  Paul Eggert  <eggert@twinsun.com>
93527
93528         * lib/error.h, getline.h, modechange.h:
93529         Remove "2000" from Copyright line, as the file hasn't been
93530         changed this year other than in the copyright notice.
93531
93532         * lib/xalloc.h: Add "2000" to Copyright line, as this file
93533         was changed this year.
93534
93535 2000-10-29  Jim Meyering  <meyering@lucent.com>
93536
93537         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
93538         renaming.
93539         * m4/ls-mntd-fs.m4: Likewise
93540
93541 2000-10-29  Jim Meyering  <meyering@lucent.com>
93542
93543         * lib/xstat.in: Fix grammar in comment.
93544
93545 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
93546
93547         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
93548         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
93549         doesn't define __restrict_arr.
93550
93551 2000-10-28  Jim Meyering  <meyering@lucent.com>
93552
93553         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
93554         (jm_PREREQ_MEMCHR): New function.
93555
93556 2000-10-28  Jim Meyering  <meyering@lucent.com>
93557
93558         * lib/memchr.c: Update from libc.
93559         Adjust for portability:
93560         [HAVE_STDLIB_H]: Include stdlib.h.
93561         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
93562         Undef __memchr, too.
93563         [!weak_alias]: Define __memchr to memchr.
93564
93565         * lib/regex.c: Update from libc.
93566         * lib/regex.h: Likewise.
93567         * lib/getopt1.c: Likewise.
93568         * lib/memcmp.c: Likewise.
93569
93570         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
93571         Avoid using fseek, when possible -- it's broken by design.
93572         Patch by Ulrich Drepper.
93573
93574 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
93575
93576         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
93577         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
93578         Giving in to popular pressure to shut up the compiler with casts.
93579
93580 2000-10-26  Jim Meyering  <meyering@lucent.com>
93581
93582         * lib/strftime.c: Update from libc.
93583
93584 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
93585
93586         * regex.c: More `unsigned char' -> `re_char' changes.
93587         Also change several `int' into `re_wchar_t'.
93588         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
93589         (PUSH_FAILURE_POINTER): Don't cast any more.
93590         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
93591         We want GCC to complain, since this piece of code makes
93592         re_match non-reentrant, which *should* be fixed.
93593         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
93594         (EXTEND_BUFFER): Use RETALLOC.
93595         (SET_LIST_BIT): Don't cast.
93596         (re_wchar_t): New type.
93597         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
93598         that those two functions will always properly return.
93599         (IMMEDIATE_QUIT_CHECK): Cast to void.
93600         (analyse_first): Use recursion rather than an explicit stack.
93601         (re_compile_fastmap): Can't fail anymore.
93602         (re_search_2): Don't check re_compile_fastmap for failure.
93603         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
93604         Now also sets the new value (passed in a new argument).
93605         (re_match_2_internal): Use it.
93606         Also, use a new var `reg' of type size_t when looping through regs
93607         rather than reuse the inappropriate `mcnt'.
93608
93609 2000-10-25  Jim Meyering  <meyering@lucent.com>
93610
93611         * lib/obstack.c: Update from libc.
93612
93613 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
93614
93615         * regex.c (regex_compile): Change the way of handling a range from
93616         a char less than 256 to a char not less than 256.
93617
93618 2000-10-24  Andrew Innes  <andrewi@gnu.org>
93619
93620         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
93621         NT-Emacs only.
93622         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
93623         so that re_search functions only quit when callers expect them to.
93624
93625 2000-10-23  Jim Meyering  <meyering@lucent.com>
93626
93627         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
93628         wrong.  That set_locale call must not have any side effects.
93629         From Paul Eggert.
93630
93631 2000-10-22  Jim Meyering  <meyering@lucent.com>
93632
93633         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
93634         [CYCLIC]: Remove now-unused definition.
93635
93636         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
93637         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
93638         Suggestion from Ulrich Drepper.
93639
93640 2000-10-21  Jim Meyering  <meyering@lucent.com>
93641
93642         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
93643         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
93644         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
93645
93646 2000-10-21  Jim Meyering  <meyering@lucent.com>
93647
93648         * lib/dirname.c (memrchr): Declare if necessary.
93649         (dir_name): Remove the restriction that there be no
93650         trailing slashes.  Now, this code skips past them, effectively
93651         ignoring them.
93652         [TEST_DIRNAME] (main): New unit tests.
93653
93654         * lib/memrchr.c: New file from GNU libc.
93655         Undef __memrchr, too.
93656         [!weak_alias]: Define __memrchr to memrchr.
93657         Guard weak_alias use with `#ifdef weak_alias'.
93658
93659 2000-10-21  Jim Meyering  <meyering@lucent.com>
93660
93661         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
93662         (dir_name): Use dir_name_r.
93663         * lib/dirname.h (dir_name_r): Declare it.
93664
93665 2000-10-17  Jim Meyering  <meyering@lucent.com>
93666
93667         * lib/quote.h (PARAMS): Define and use.
93668         Reported by Akim Demaille.
93669
93670         * lib/getopt.c: Update from libc.
93671
93672 2000-10-16  Jim Meyering  <meyering@lucent.com>
93673
93674         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
93675         setlocale.
93676         From Jan Fedak.
93677
93678 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
93679
93680         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
93681
93682 2000-09-25  Jim Meyering  <meyering@lucent.com>
93683
93684         * lib/md5.h (rol): Define (from GnuPG).
93685
93686         * lib/sha.c: Give credit (GnuPG) where due.
93687         (M): Use rol rather than open-coding it.
93688         Add a FIXME comment.
93689
93690 2000-09-21  Jim Meyering  <meyering@lucent.com>
93691
93692         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
93693         Reported by Michael Stone.
93694
93695 2000-09-20  Jim Meyering  <meyering@lucent.com>
93696
93697         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
93698         (noinst_HEADERS): Add sha.h.
93699         Based on code from Scott G. Miller and from GnuPG.
93700
93701 2000-09-18  Jim Meyering  <meyering@lucent.com>
93702
93703         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
93704         LIBS. Otherwise, everyone ends up linking with -lelf for some
93705         configurations.
93706         Reported by Mike Stone.
93707
93708 2000-09-15  Jim Meyering  <meyering@lucent.com>
93709
93710         * lib/regex.c: Update from libc.
93711
93712 2000-09-10  Jim Meyering  <meyering@lucent.com>
93713
93714         * lib/getopt.c (_getopt_internal): Update from glibc.
93715
93716 2000-09-09  Jim Meyering  <meyering@lucent.com>
93717
93718         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
93719         think it should be used as a general replacement for isascii.
93720         * lib/fnmatch.c: Likewise.
93721         * lib/mbswidth.c: Likewise
93722         * lib/regex.c: Likewise.
93723
93724         Don't use atoi.
93725         * lib/userspec.c: Include sys/param.h and limits.h.
93726         Include xstrtol.h.
93727         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
93728         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
93729         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
93730         UID, GID.  Check range.
93731
93732 2000-09-06  Jim Meyering  <meyering@lucent.com>
93733
93734         * lib/getopt.c (_getopt_internal): Update from glibc.
93735
93736 2000-08-30  Jim Meyering  <meyering@lucent.com>
93737
93738         * lib/strftime.c: Merge in changes from GNU libc.
93739
93740 2000-08-26  Jim Meyering  <meyering@lucent.com>
93741
93742         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
93743         * m4/fpending.m4: New file.
93744
93745 2000-08-26  Jim Meyering  <meyering@lucent.com>
93746
93747         * lib/closeout.c: Include "__fpending.h".
93748         (close_stdout_status): Return right away if there's nothing to flush.
93749
93750         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
93751         * lib/__fpending.c: New file.
93752         * lib/__fpending.h: New file.
93753
93754 2000-08-20  Jim Meyering  <meyering@lucent.com>
93755
93756         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
93757         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
93758         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
93759
93760 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
93761
93762         Improve fileutils installation on systems where running
93763         programs (like install) can't be unlinked.
93764         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
93765         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
93766
93767 2000-08-07  Paul Eggert  <eggert@twinsun.com>
93768
93769         Standardize on "memory exhausted" instead of "Memory exhausted"
93770         or "virtual memory exhausted".
93771         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
93772         "virtual memory exhausted".
93773         * lib/same.c (same_name): Invoke xalloc_die instead of printing
93774         our own message.
93775         * lib/userspec.c (parse_user_spec): Likewise.
93776         * lib/bumpalloc.h: comment fix
93777         * lib/same.c, userspec.c: Include xalloc.h.
93778
93779         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
93780         not char *const and pointing to a constant array.
93781         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
93782         (xrealloc): Comment fix.
93783
93784         * lib/userspec.c (parse_user_spec):
93785         Don't translate a message until just before returning,
93786         to avoid unnecessary translation.
93787
93788 2000-08-07  Jim Meyering  <meyering@lucent.com>
93789
93790         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
93791         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
93792         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
93793         getgroups.c, gethostname.c, getopt.h, group-member.c,
93794         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
93795         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
93796         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
93797         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
93798         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
93799         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
93800         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
93801         yesno.c: Back out Copyright date changes for each file with no change
93802         this year.  This eases coordination with other programs using the same
93803         source code modules.  From Paul Eggert.
93804
93805 2000-08-06  Paul Eggert  <eggert@twinsun.com>
93806
93807         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
93808         not char, for compatibility with glibc 2.1.3 strftime.c.
93809
93810 2000-08-03  Greg McGary  <greg@mcgary.org>
93811
93812         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
93813         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
93814         (EXTEND_BUFFER): Use them.
93815
93816 2000-08-01  Jim Meyering  <meyering@lucent.com>
93817
93818         * lib/dirname.c (ISSLASH): Define.
93819         (BACKSLASH_IS_PATH_SEPARATOR): Define.
93820         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
93821         both `\' and `/' may be use as path separators.
93822         Based on a patch from Prashant TR.
93823
93824 2000-07-31  Paul Eggert  <eggert@twinsun.com>
93825
93826         * lib/quotearg.c (quotearg_n_options): Don't make the initial
93827         slot vector a constant, since it might get modified.
93828
93829 2000-07-31  Jim Meyering  <meyering@lucent.com>
93830
93831         * lib/xmalloc.c: Use `virtual memory exhausted', not
93832         `Memory exhausted'.
93833         * lib/obstack.c (print_and_abort): Likewise.
93834
93835 2000-07-30  Paul Eggert  <eggert@twinsun.com>
93836
93837         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
93838         buffer, so that the caller can always quote one small
93839         component of a "memory exhausted" message in slot 0.
93840         From a suggestion by Jim Meyering.
93841
93842 2000-07-30  Jim Meyering  <meyering@lucent.com>
93843
93844         * lib/makepath.c (make_path): Quote the other instance, too.
93845
93846         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
93847         (STATIC_BUF_SIZE): Define.
93848         (quotearg_n_options): Use only statically allocated storage when
93849         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
93850         than STATIC_BUF_SIZE.
93851
93852 2000-07-29  Jim Meyering  <meyering@lucent.com>
93853
93854         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
93855         * lib/dirname.c (dir_name): Likewise.
93856
93857         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
93858         `/'.
93859
93860         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
93861         (dir_name): Assert that there are no trailing slashes.
93862
93863 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
93864
93865         * lib/mbswidth.h (mbswidth): Add a flags argument.
93866         (mbswidth): New declaration.
93867         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
93868         * lib/mbswidth.c (mbswidth): Add a flags argument.
93869         (mbsnwidth): New function.
93870
93871 2000-07-24  Jim Meyering  <meyering@lucent.com>
93872
93873         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
93874
93875 2000-07-23  Paul Eggert  <eggert@twinsun.com>
93876
93877         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
93878
93879 2000-07-23  Paul Eggert  <eggert@twinsun.com>
93880
93881         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
93882         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
93883         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
93884         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
93885         invoke multibyte primitives.
93886
93887 2000-07-23  Paul Eggert  <eggert@twinsun.com>
93888
93889         * lib/quotearg.c:
93890         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
93891         so that mbstate_t is always defined.
93892
93893         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
93894         be 1 in at least one GCC installation, and this configuration
93895         error is likely to be common.  Ignoring MB_LEN_MAX hurts
93896         performance on hosts that have mbrtowc but have only unibyte
93897         locales, but I assume these hosts are rare.
93898
93899 2000-07-23  Paul Eggert  <eggert@twinsun.com>
93900
93901         * lib/mbswidth.c (_XOPEN_SOURCE):
93902         Don't define; this causes problems on Solaris 7.
93903         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
93904
93905 2000-07-23  Jim Meyering  <meyering@lucent.com>
93906
93907         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
93908         too: getgrgid, getpwuid, getuid.
93909
93910 2000-07-23  Jim Meyering  <meyering@lucent.com>
93911
93912         * lib/basename.c (base_name): Add an assertion.
93913
93914 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
93915
93916         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
93917         shadow its mbsinit function.
93918
93919 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
93920
93921         * lib/mbswidth.h: New file.
93922         * lib/mbswidth.c: New file.
93923         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
93924         (noinst_HEADERS): Add mbswidth.h.
93925
93926 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
93927
93928         * lib/config.charset: Add support for FreeBSD. Improve support for
93929         HP-UX and IRIX 6.
93930
93931 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
93932
93933         * m4/mbswidth.m4: New file.
93934         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
93935
93936 2000-07-15  Jim Meyering  <meyering@lucent.com>
93937
93938         * lib/makepath.c: Include quote.h.
93939         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
93940         corresponding argument in a `quote (...)' call.
93941         Give better diagnostics.
93942
93943         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
93944         (noinst_HEADERS): Add quote.h.
93945
93946         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
93947         from tar's src/misc.c.
93948         * lib/quote.h: New file.  Prototypes for same.
93949
93950 2000-07-14  Paul Eggert  <eggert@twinsun.com>
93951
93952         From a suggestion by Bruno Haible.
93953         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
93954         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
93955         to decide whether to define the BeOS workaround macro;
93956         this adjusts to the change to AC_MBSTATE_T.
93957
93958 2000-07-14  Jim Meyering  <meyering@lucent.com>
93959
93960         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
93961         jm_AC_TYPE_UINTMAX_T.
93962
93963 2000-07-13  Paul Eggert  <eggert@twinsun.com>
93964
93965         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
93966
93967         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
93968         quotearg_buffer_restyled): Add support for
93969         clocale_quoting_style.  Undo previous change to
93970         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
93971         and "{RIGHT QUOTATION MARK}" msgids.
93972
93973 2000-07-10  Paul Eggert  <eggert@twinsun.com>
93974
93975         From a suggestion by Bruno Haible.
93976         * m4/mbstate_t.m4 (AC_MBSTATE_T):
93977         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
93978         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
93979         and mbstate_t, to a single-part test that simply defines mbstate_t.
93980         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
93981         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
93982
93983 2000-07-10  Jim Meyering  <meyering@lucent.com>
93984
93985         * m4/strerror_r.m4: Mirror the correction made in autoconf.
93986
93987         * m4/gnu-source.m4: Output to confdefs.h directly.
93988         Suggestion from Akim Demaille.
93989
93990 2000-07-09  Paul Eggert  <eggert@twinsun.com>
93991
93992         The old behavior of quoting `like this' doesn't look good with
93993         newer, ISO-style fonts.  See:
93994         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
93995
93996         Instead, quote "like this" by default.  Let the translator
93997         tailor the locale-specific quoting behavior by providing
93998         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
93999
94000         * lib/quotearg.c (N_): New macro.
94001         (gettext_default): New function.
94002         (quotearg_buffer_restyled): Use
94003         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
94004         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
94005
94006 2000-07-09  Jim Meyering  <meyering@lucent.com>
94007
94008         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
94009         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
94010
94011         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
94012         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
94013
94014 2000-07-09  Jim Meyering  <meyering@lucent.com>
94015
94016         * lib/Most files: Update copyright dates to include 2000.
94017
94018 2000-07-08  Jim Meyering  <meyering@lucent.com>
94019
94020         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
94021         if not defined.
94022         (xgethostname): Remove now-unnecessary #ifdef.
94023         Move declaration of `err' into loop where it's used.
94024
94025 2000-07-05  Paul Eggert  <eggert@twinsun.com>
94026         and Bruno Haible  <haible@clisp.cons.org>
94027
94028         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
94029         only if the test for an object-type mbstate_t fails.  This
94030         prevents us from mistakenly reporting that mbstate_t is a
94031         system object type after we "#define mbstate_t int" to work
94032         around its lack.
94033
94034 2000-07-05  Paul Eggert  <eggert@twinsun.com>
94035         and Bruno Haible  <haible@clisp.cons.org>
94036
94037         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
94038
94039 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
94040
94041         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
94042         to strerror_r.
94043         Include <ctype.h> for use of isalpha.
94044
94045 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
94046
94047         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
94048         by allocating a larger buffer. Test the gethostname return value for
94049         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
94050         returns an error and ENAMETOOLONG isn't defined.
94051
94052 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
94053
94054         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
94055         dimension.
94056
94057 2000-07-04  Jim Meyering  <meyering@lucent.com>
94058
94059         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
94060         of the deprecated AC_CHECKING.
94061
94062 2000-07-04  Jim Meyering  <meyering@lucent.com>
94063
94064         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
94065         Reported by Bruno Haible.
94066
94067 2000-07-04  Jim Meyering  <meyering@lucent.com>
94068
94069         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
94070         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
94071         lacks mbrtowc.
94072
94073 2000-07-03  Paul Eggert  <eggert@twinsun.com>
94074
94075         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
94076         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
94077
94078 2000-07-03  Paul Eggert  <eggert@twinsun.com>
94079         and Bruno Haible  <haible@clisp.cons.org>
94080
94081         * lib/quotearg.c (mbrtowc):
94082         Assign to *pwc, and return 1 only if result is nonzero.
94083         (iswprint): Use ISPRINT when substituting our own mbrtowc.
94084
94085 2000-07-03  Jim Meyering  <meyering@lucent.com>
94086
94087         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
94088
94089 2000-07-03  Jim Meyering  <meyering@lucent.com>
94090
94091         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
94092         This is necessary to get a definition of e.g., UTMP_FILE on
94093         HP-UX 10.20.
94094         From Bob Proulx.
94095
94096 2000-07-02  Jim Meyering  <meyering@lucent.com>
94097
94098         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
94099
94100         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
94101         AC_LIBOBJ(function_name).
94102         * m4/chown.m4: Likewise.
94103         * m4/fnmatch.m4: Likewise.
94104         * m4/ftruncate.m4: Likewise.
94105         * m4/getgroups.m4: Likewise.
94106         * m4/getline.m4: Likewise.
94107         * m4/group-member.m4: Likewise.
94108         * m4/jm-macros.m4: Likewise.
94109         * m4/lstat.m4: Likewise.
94110         * m4/malloc.m4: Likewise.
94111         * m4/memcmp.m4: Likewise.
94112         * m4/nanosleep.m4: Likewise.
94113         * m4/putenv.m4: Likewise.
94114         * m4/realloc.m4: Likewise.
94115         * m4/regex.m4: Likewise.
94116         * m4/stat.m4: Likewise.
94117         * m4/strftime.m4: Likewise.
94118
94119 2000-07-02  Jim Meyering  <meyering@lucent.com>
94120
94121         * lib/quotearg.c (mbstate_t): Don't define here.
94122
94123 2000-07-02  Jim Meyering  <meyering@lucent.com>
94124
94125         * lib/nanosleep.c (SIGCONT): Define if not already defined.
94126
94127 2000-07-01  Jim Meyering  <meyering@lucent.com>
94128
94129         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
94130
94131 2000-07-01  Jim Meyering  <meyering@lucent.com>
94132
94133         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
94134         problem.
94135
94136 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
94137
94138         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
94139         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
94140
94141 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
94142
94143         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
94144         per change in ../m4/ls-mntd-fs.m4.
94145         (read_filesystem_list): Ignore symbolic links.
94146
94147 2000-06-29  Jim Meyering  <meyering@lucent.com>
94148
94149         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
94150         for declaration of strcmp.
94151
94152         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
94153
94154         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
94155         Avoid warning by casting result to `char *' to remove `const'.
94156
94157 2000-06-28  Jim Meyering  <meyering@lucent.com>
94158
94159         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
94160         included by quotearg.c, for which we perform this test.  From
94161         Bruno Haible.
94162
94163 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
94164
94165         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
94166         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
94167         <utmpx.h> exists, put readutmp.o into LIBOBJS.
94168
94169 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
94170
94171         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
94172
94173 2000-06-26  Paul Eggert  <eggert@twinsun.com>
94174
94175         savedir now sets errno on failure and invokes xmalloc to get memory.
94176         Fix a couple of other minor bugs while we're at it.
94177
94178         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
94179         (NAMLEN): Remove macro.
94180         (malloc, realloc): Remove decls.
94181         (stpcpy): Likewise.
94182         ("xalloc.h"): Include.
94183         (NAME_SIZE_DEFAULT): New macro.
94184         (savedir): Use xmalloc / xrealloc to allocate memory.
94185         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
94186         Skip "" directory entries.
94187         Use strlen to calculate directory entry length, since the old method
94188         is rarely used these days and isn't worth supporting.
94189         Don't use a pointer after freeing it.
94190         Check for integer overflow when calculating allocation size.
94191         Use memcpy to copy entries, instead of stpcpy.
94192         Set errno properly when returning NULL.
94193         Check for readdir error.
94194
94195 2000-06-26  Jim Meyering  <meyering@lucent.com>
94196
94197         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
94198
94199 2000-06-25  Jim Meyering  <meyering@lucent.com>
94200
94201         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
94202         Linux header bug when _XOPEN_SOURCE is defined to 500.
94203
94204 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
94205
94206         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
94207         deficiency.
94208
94209 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
94210
94211         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
94212         Include xalloc.h.
94213         Don't include <stdlib.h>.  Don't declare malloc, realloc.
94214
94215 2000-06-24  Jim Meyering  <meyering@lucent.com>
94216
94217         * m4/strerror_r.m4: Revive this file -- to try out an experimental
94218         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
94219         for which strerror does return char*, but which lacks a conveniently
94220         accessible declaration of the function.  If the compile-test says
94221         strerror_r doesn't work, then resort to a `run'-test that works on
94222         BeOS and segfaults on DEC Unix.
94223
94224 2000-06-24  Jim Meyering  <meyering@lucent.com>
94225
94226         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
94227
94228 2000-06-23  Paul Eggert  <eggert@twinsun.com>
94229
94230         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
94231         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
94232
94233 2000-06-23  Paul Eggert  <eggert@twinsun.com>
94234
94235         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
94236         (mbrtowc, mbstate_t): Define substitutes if
94237         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
94238         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
94239         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
94240
94241 2000-06-23  Jim Meyering  <meyering@lucent.com>
94242
94243         * m4/afs.m4: Add missing AC_MSG_RESULT.
94244         Reported by Bruno Haible.
94245
94246         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
94247         Suggestion from Bruno Haible.
94248
94249 2000-06-23  Jim Meyering  <meyering@lucent.com>
94250
94251         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
94252
94253 2000-06-21  Jim Meyering  <meyering@lucent.com>
94254
94255         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
94256
94257 2000-06-21  Jim Meyering  <meyering@lucent.com>
94258
94259         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
94260         (noinst_HEADERS): Add getstr.h.
94261
94262         * lib/getline.c (getstr): Move into a separate file.
94263         * lib/getstr.c (getstr): New file, extracted from getline.c, with
94264         the following changes: new parameter, delim2; both delim[12]
94265         parameters have type `int', not `char'.  The latter would lose
94266         with 8-bit delimiters.
94267         * lib/getstr.h: New file.
94268
94269 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
94270
94271         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
94272         than 1024, return a memory chunk of least possible size, instead
94273         of size PATH_MAX + 2. In the loop, increment the size proportionally.
94274         Use free/xmalloc instead of xrealloc to avoid copying for very long
94275         paths.
94276
94277 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
94278
94279         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
94280         the empty string.
94281
94282 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
94283
94284         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
94285         address, not strdup.  Include <stdlib.h> and don't declare free().
94286
94287 2000-06-19  Jim Meyering  <meyering@lucent.com>
94288
94289         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
94290
94291 2000-06-18  Jim Meyering  <meyering@lucent.com>
94292
94293         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
94294
94295         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
94296         `checking whether...' message to be consistent with that of the
94297         lstat test.
94298
94299 2000-06-18  Jim Meyering  <meyering@lucent.com>
94300
94301         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
94302         Besides, these days every porting target provides a mkdir function.
94303
94304         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
94305         needed. (this snippet comes from src/system.h).
94306
94307 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
94308
94309         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
94310
94311 2000-06-15  Paul Eggert  <eggert@twinsun.com>
94312
94313         * lib/human.c (adjust_value): New function.
94314         (human_readable_inexact): Apply rounding style even when
94315         printing approximate values.
94316
94317 2000-06-14  Paul Eggert  <eggert@twinsun.com>
94318
94319         * lib/human.c (human_readable_inexact): Allow an input block
94320         size that is not a multiple of the output block size, and vice versa.
94321         Reported by Piergiorgio Sartor.
94322
94323 2000-06-14  Paul Eggert  <eggert@twinsun.com>
94324
94325         * lib/getdate.y (get_date): Apply relative times after time
94326         zone indicator, not before.  Reported by Todd A. Jacobs.
94327
94328 2000-06-13  Jim Meyering  <meyering@lucent.com>
94329
94330         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
94331
94332         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
94333
94334 2000-06-12  Paul Eggert  <eggert@twinsun.com>
94335
94336         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
94337
94338 2000-06-12  Jim Meyering  <meyering@lucent.com>
94339
94340         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
94341         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
94342         optional argument.
94343         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
94344         the optional argument, `lib'.
94345
94346 2000-06-08  Jim Meyering  <meyering@lucent.com>
94347
94348         * m4/largefile.m4: Remove file (now that it's part of autoconf).
94349
94350 2000-06-04  Paul Eggert  <eggert@twinsun.com>
94351
94352         Rewrite largefile configuration so that we don't need to run
94353         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
94354         AC_CANONICAL_HOST in configure.in -- jmm]
94355
94356         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
94357         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
94358         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
94359         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
94360         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
94361         All uses changed.
94362         Instead of inspecting the output of getconf, try to compile the
94363         test program without and with the macro definition.
94364         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
94365         for getconf.  Instead, check for the needed flags by compiling
94366         test programs.
94367
94368 2000-06-04  Paul Eggert  <eggert@twinsun.com>
94369
94370         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
94371
94372 2000-06-04  Jim Meyering  <meyering@lucent.com>
94373
94374         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
94375         SunOS 4.1.4 for which gid_t is an unsigned type.
94376
94377 2000-06-03  Jim Meyering  <meyering@lucent.com>
94378
94379         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
94380         now that autoconf requires that.
94381
94382         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
94383         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
94384         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
94385
94386 2000-06-03  Jim Meyering  <meyering@lucent.com>
94387
94388         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
94389
94390 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
94391
94392         * m4/glibc21.m4: New file.
94393         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
94394
94395 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
94396
94397         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
94398         newer, don't install charset.alias.
94399         * lib/config.charset: Change the Linux/glibc rules so they become empty
94400         on glibc-2.1 or newer.
94401
94402 2000-06-02  Jim Meyering  <meyering@lucent.com>
94403
94404         * lib/mountlist.c: Back out last change.  Instead, do this...
94405         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
94406         me_dummy member using the same `ignore'-testing code.
94407         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
94408         fs_type strings.
94409         From Mark D. Roth.
94410
94411 2000-05-29  Jim Meyering  <meyering@lucent.com>
94412
94413         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
94414         mounts with the `ignore' attribute.  Based on a patch from
94415         Mark D. Roth.
94416
94417 2000-05-28  Jim Meyering  <meyering@lucent.com>
94418
94419         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
94420         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
94421         * m4/stat.m4: Likewise.
94422         * m4/lstat.m4: Likewise.
94423         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
94424
94425         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
94426         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
94427
94428 2000-05-26  Jim Meyering  <meyering@lucent.com>
94429
94430         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
94431
94432 2000-05-24  Jim Meyering  <meyering@lucent.com>
94433
94434         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
94435         autoconf requires that.
94436         * m4/lib-check.m4: Likewise.
94437         * m4/jm-macros.m4: Likewise.
94438         * m4/strftime.m4: Likewise.
94439
94440         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
94441         AC_CHECK_DECLS, now that autoconf requires that.
94442
94443 2000-05-22  Jim Meyering  <meyering@lucent.com>
94444
94445         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
94446         * m4/lstat.m4: Likewise.
94447
94448 2000-05-22  Jim Meyering  <meyering@lucent.com>
94449
94450         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
94451
94452 2000-05-20  Jim Meyering  <meyering@lucent.com>
94453
94454         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
94455         (jm_PREREQ): Use it.
94456
94457 2000-05-18  Jim Meyering  <meyering@lucent.com>
94458
94459         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
94460         back, too, since it may have been modified by allocate_entry.
94461         (hash_delete): Rewrite to use neither the assignment operator
94462         nor the comma operator in an if-expression.
94463
94464 2000-05-15  Paul Eggert  <eggert@twinsun.com>
94465
94466         * lib/closeout.c:
94467         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
94468         Remove; no longer needed.
94469         "quotearg.h": Add include.
94470         (file_name): Do not bother to explicitly initialize to NULL; it's less
94471         efficient on some hosts.
94472         (close_stdout_status): Remove test as to whether stdout was already
94473         closed; it breaks for the case "echo x | sort >&-".
94474         Quote file name colons.
94475         Do not assume that _("write error") lacks format strings.
94476
94477 2000-05-15  Jim Meyering  <meyering@lucent.com>
94478
94479         * lib/version-etc.c (version_etc_copyright): Update the copyright
94480         string used in all --version output.
94481
94482 2000-05-14  Jim Meyering  <meyering@lucent.com>
94483
94484         * lib/closeout.c (close_stdout_set_file_name): New function.
94485         (close_stdout_status): Use new file-scoped global.
94486         Return right away if fstat says the stdout file descriptor is invalid.
94487         * lib/closeout.h (close_stdout_set_file_name): Declare.
94488
94489 2000-05-10  Jim Meyering  <meyering@lucent.com>
94490
94491         * lib/closeout.c [default_exit_status]: New file-scoped variable.
94492         (close_stdout_set_status): New function.
94493         * lib/closeout.h (close_stdout_set_status): Declare.
94494
94495 2000-05-09  Jim Meyering  <meyering@lucent.com>
94496
94497         * m4/gettext.m4: Rename this...
94498         * m4/libintl.m4: ...to this.
94499
94500 2000-05-08  Jim Meyering  <meyering@lucent.com>
94501
94502         * lib/long-options.c: Don't include closeout.h.
94503         (parse_long_options): Don't call close_stdout for --version.
94504
94505 2000-05-06  Paul Eggert  <eggert@twinsun.com>
94506
94507         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
94508         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
94509         2.1.3 bug.  This avoids a clash when files like regex.c define
94510         _GNU_SOURCE.
94511
94512 2000-05-06  Jim Meyering  <meyering@lucent.com>
94513
94514         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
94515         (AC_REPLACE_FUNCS): Add strnlen.
94516
94517         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
94518         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
94519
94520         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
94521         AC_SEARCH_LIBS call for nanosleep.
94522         (LIB_NANOSLEEP): Set and AC_SUBST.
94523
94524 2000-05-06  Jim Meyering  <meyering@lucent.com>
94525
94526         * lib/strnlen.c: Undefine __strnlen and strnlen.
94527         [!weak_alias]: Define __strnlen to strnlen.
94528
94529         * lib/atexit.c: New file, from libiberty.
94530
94531 2000-05-06  Jim Meyering  <meyering@lucent.com>
94532
94533         * lib/closeout.c (close_stdout_status): Also check for errors on the
94534         stderr stream.
94535
94536 2000-05-05  Jim Meyering  <meyering@lucent.com>
94537
94538         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
94539         AC_SEARCH_LIBS call for clock_gettime.
94540         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
94541
94542         * m4/search-libs.m4: Update from autoconf.
94543
94544         su doesn't work on Solaris 2.6.
94545         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
94546         <shadow.h>.  Reported by Dragos Harabor.
94547
94548 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
94549
94550         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
94551         memcpy instead of xmalloc, xrealloc, path_concat.
94552         (locale_charset): Treat empty environment variables as absent.
94553         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
94554
94555 2000-05-04  Jim Meyering  <meyering@lucent.com>
94556
94557         * lib/getopt.c: Update from glibc.
94558         * lib/obstack.c: Likewise.
94559         * lib/obstack.h: Likewise.
94560         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
94561         file
94562
94563         * lib/regex.h: Likewise.
94564         * lib/strndup.c: Likewise.
94565         * lib/strnlen.c: New file, from glibc.
94566
94567 2000-05-03  Jim Meyering  <meyering@lucent.com>
94568
94569         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
94570
94571 2000-05-02  Paul Eggert  <eggert@twinsun.com>
94572
94573         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
94574         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
94575         compile-time test, rather than inspecting host and OS, to
94576         decide whether to define _LARGEFILE_SOURCE.
94577
94578 2000-05-01  Jim Meyering  <meyering@lucent.com>
94579
94580         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
94581
94582         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
94583         Based on a patch from Bruno Haible.
94584
94585 2000-05-01  Jim Meyering  <meyering@lucent.com>
94586
94587         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
94588
94589 2000-04-29  Jim Meyering  <meyering@lucent.com>
94590
94591         * lib/path-concat.c: Declare strdup only if it's not defined.
94592         * lib/canon-host.c: Likewise.
94593
94594 2000-04-28  Jim Meyering  <meyering@lucent.com>
94595
94596         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
94597         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
94598         is included first, then limits.h is included by locale.h by libintl.h.
94599         From John David Anglin.
94600
94601 2000-04-25  Jim Meyering  <meyering@lucent.com>
94602
94603         * lib/makepath.c (S_IRWXUGO): Define.
94604         (make_path): Always perform explicit chmod if MODE specifies any
94605         of the `special' permission bits.  Prompted by a bug report against
94606         install from Mate Wierdl and Joost van Baal.
94607
94608 2000-04-18  Jim Meyering  <meyering@lucent.com>
94609
94610         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
94611         (jm_PREREQ): Use it.
94612
94613 2000-04-18  Jim Meyering  <meyering@lucent.com>
94614
94615         * lib/README: New file.
94616
94617         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
94618         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
94619
94620 2000-04-17  Jim Meyering  <meyering@lucent.com>
94621
94622         Get it right :-)
94623         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
94624         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
94625         Suggestion from Akim Demaille.
94626
94627 2000-04-17  Jim Meyering  <meyering@lucent.com>
94628
94629         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
94630         the definition of it to rpl_strftime also defined-away the system's
94631         declaration.
94632
94633 2000-04-15  Jim Meyering  <meyering@lucent.com>
94634
94635         Use `C' to denote so-called `contiguous' files, the same way
94636         that tar does.
94637         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
94638         (ftypelet): Use S_ISCTG.
94639         From Michael Deutschmann.
94640
94641 2000-04-14  Jim Meyering  <meyering@lucent.com>
94642
94643         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
94644         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
94645         clobbered.
94646
94647 2000-04-14  Jim Meyering  <meyering@lucent.com>
94648
94649         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
94650
94651 2000-04-13  Jim Meyering  <meyering@lucent.com>
94652
94653         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
94654         AH_VERBATIM to insert required #ifndef into config.h.in.
94655         Suggestion from Akim Demaille.
94656
94657 2000-04-12  Jim Meyering  <meyering@lucent.com>
94658
94659         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
94660         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
94661         Christian Krackowizer.
94662
94663         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
94664         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
94665         (AC_SYS_LARGEFILE): Require.
94666         (AM_C_PROTOTYPES): Require.
94667
94668 2000-04-08  Jim Meyering  <meyering@lucent.com>
94669
94670         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
94671         names don't conflict.  Reported by Eli Zaretskii.
94672
94673 2000-04-07  Jim Meyering  <meyering@lucent.com>
94674
94675         * lib/putenv.c: Move inclusion of errno.h so it follows that of
94676         sys/types.h, to work around system header problems on AIX 3.2.5.
94677         From Bruno Haible.
94678
94679 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
94680
94681         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
94682         bug.  Deal with the different error behavior of Irix iconv.
94683
94684 2000-04-05  Paul Eggert  <eggert@twinsun.com>
94685
94686         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
94687         IRIX if the installer said otherwise.
94688
94689 2000-04-05  Jim Meyering  <meyering@lucent.com>
94690
94691         Portability tweaks required for ultrix4.3.
94692         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
94693         (jm_CHECK_DECLS): Add getutent to the list of functions.
94694         (_jm_DECL_HEADERS): Add utmpx.h.
94695         From John David Anglin.
94696
94697         * m4/strftime.m4: Back out the 2000-04-02 change.
94698         Instead of that change, simply undefine putenv in the test program.
94699
94700 2000-04-05  Jim Meyering  <meyering@lucent.com>
94701
94702         Portability tweaks required for ultrix4.3.
94703         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
94704         getutent.
94705         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
94706         * lib/canon-host.c: Declare strdup.
94707         * lib/path-concat.c: Likewise.
94708         From John David Anglin.
94709
94710 2000-04-04  Jim Meyering  <meyering@lucent.com>
94711
94712         Be more DOS 8.3-friendly.
94713         * lib/ref-add.sin: Renamed from ref-add.sed.in.
94714         * lib/ref-del.sin: Renamed from ref-del.sed.in.
94715         * lib/Makefile.am: Reflect renaming.
94716         Reported by Eli Zaretskii.
94717
94718         Use a temporary file name that won't clash with `charset.alias'
94719         in the DOS 8.3 name space.
94720         * lib/Makefile.am (charset_tmp): Define.
94721         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
94722         (uninstall-local): Likewise.
94723         Reported by Eli Zaretskii.
94724
94725 2000-04-03  Jim Meyering  <meyering@lucent.com>
94726
94727         * m4/gettext.m4: Fix typo in comment.
94728
94729         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
94730         textutils/configure.in).  Suggestion from Paul Eggert.
94731         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
94732
94733 2000-04-02  Paul Eggert  <eggert@twinsun.com>
94734
94735         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
94736         variable in the shell rather than using putenv, which isn't
94737         portable.  This avoids the configure-time inter-test dependency
94738         on the potentially-renamed putenv function.
94739
94740 2000-03-30  Paul Eggert  <eggert@twinsun.com>
94741
94742         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
94743         before checking struct stat.st_blksize, so that
94744         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
94745
94746 2000-03-29  Paul Eggert  <eggert@twinsun.com>
94747
94748         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
94749         since strftime.c uses HAVE_STRFTIME to decide whether to use
94750         the underlying strftime.
94751
94752 2000-03-29  Paul Eggert  <eggert@twinsun.com>
94753
94754         * lib/time/strftime.c (my_strftime): Make sure we call the system
94755         strftime, not ourselves, when invoking the underlying strftime.
94756
94757 2000-03-24  Jim Meyering  <meyering@lucent.com>
94758
94759         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
94760         (charset_alias): Define.
94761         (install-exec-local): Factor out common code.
94762         (uninstall-local): Split lines longer than 80.
94763         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
94764         (SUFFIXES): Define.
94765         (.sed.in.sed): New rule.  Don't redirect directly to $@.
94766         (CLEANFILES): Add ref-add.sed and ref-del.sed.
94767
94768 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
94769
94770         * lib/config.charset: Output a line containing "Packages using this
94771         file".
94772         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
94773         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
94774         ref-del.sed): New rules.
94775
94776 2000-03-17  Jim Meyering  <meyering@lucent.com>
94777
94778         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
94779         Otherwise, include <strings.h>
94780
94781 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
94782
94783         * lib/unicodeio.c (utf8_wctomb): New function.
94784         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
94785         format instead of in UCS-4 with platform dependent endianness.
94786
94787 2000-03-10  Jim Meyering  <meyering@lucent.com>
94788
94789         * m4/lib-check.m4: Look for getspnam in -lgen, too.
94790         From Marco Franzen.
94791
94792 2000-03-07  Paul Eggert  <eggert@twinsun.com>
94793
94794         * lib/savedir.c (savedir): Work even if directory size is
94795         negative; this can happen with some screwy NFS configurations.
94796
94797 2000-03-06  Jim Meyering  <meyering@lucent.com>
94798
94799         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
94800         if it's NULL (because we ran out of memory).  From Bruno Haible.
94801
94802 2000-03-05  Jim Meyering  <meyering@lucent.com>
94803
94804         * lib/localcharset.c ("path-concat.h"): Include.
94805         (get_charset_aliases): Use path_concat instead of ANSI string
94806         concatenation.
94807
94808         * lib/unicodeio.h (PARAMS): Define.
94809         Use it to guard prototype.
94810
94811 2000-03-04  Jim Meyering  <meyering@lucent.com>
94812
94813         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
94814         for lib/localcharset.c.
94815
94816 2000-03-04  Jim Meyering  <meyering@lucent.com>
94817
94818         * lib/Makefile.am (install-exec-local): Create $(libdir) before
94819         installing into it.
94820         (uninstall-local): Uncomment this rule so `make distcheck' works
94821         once again.
94822
94823         * lib/unicodeio.c (<errno.h>): Include it.
94824         (errno): Declare if not defined.
94825
94826         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
94827
94828         * lib/config.charset: New version, incorporating remarks from a linux
94829         i18n mailing list.  From Bruno Haible.
94830
94831 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
94832
94833         * m4/codeset.m4: New file.
94834         * m4/iconv.m4: New file.
94835         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
94836
94837 2000-03-03  Jim Meyering  <meyering@lucent.com>
94838
94839         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
94840
94841 2000-03-02  Jim Meyering  <meyering@lucent.com>
94842
94843         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
94844         the messages come out on separate lines.
94845
94846         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
94847         rather than jm_CHECK_DECLARATIONS.
94848         * m4/decl.m4: Remove now-unused file.
94849
94850         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
94851         geteuid.
94852
94853 2000-03-02  Jim Meyering  <meyering@lucent.com>
94854
94855         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
94856
94857 2000-03-01  Jim Meyering  <meyering@lucent.com>
94858
94859         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
94860         * lib/unicodeio.c: Likewise.
94861
94862 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
94863
94864         * lib/config.charset: New file.
94865         * lib/localcharset.c: New file.
94866         * lib/unicodeio.h, lib/unicodeio.c: New files.
94867         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
94868         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
94869         (noinst_HEADERS): Add unicodeio.h.
94870         (all-local, install-exec-local, charset.alias): New targets.
94871
94872 2000-02-28  Paul Eggert  <eggert@twinsun.com>
94873
94874         * lib/quotearg.c (ALERT_CHAR): New macro.
94875         (quotearg_buffer_restyled): Use it.
94876
94877 2000-02-27  Jim Meyering  <meyering@lucent.com>
94878
94879         * m4/check-decl.m4: Add getenv to the list.
94880
94881 2000-02-27  Jim Meyering  <meyering@lucent.com>
94882
94883         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
94884         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
94885
94886         * lib/backupfile.c: Guard inclusion of stdlib.h with
94887         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
94888         Declare malloc if needed.
94889
94890         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
94891         `#ifndef HAVE_DECL..'
94892         now that autoconf always defines the HAVE_DECL_ symbols.
94893         * lib/human.c: Likewise.
94894         * lib/same.c: Likewise.
94895         * lib/strtoumax.c: Likewise.
94896
94897         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
94898         declaration check was not run.
94899         * lib/hash.c: Likewise.
94900         * lib/human.c: Likewise.
94901         * lib/same.c: Likewise.
94902         * lib/strtoumax.c: Likewise.
94903
94904         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
94905         `.', then first look up the entire `.'-containing string as a login
94906         name.
94907
94908 2000-02-23  Jim Meyering  <meyering@lucent.com>
94909
94910         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
94911         in place of my hack.
94912
94913 2000-02-18  Paul Eggert  <eggert@twinsun.com>
94914
94915         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
94916         (textint): New typedef.
94917         (parser_control): Member year changed from int to textint.
94918         All uses changed.
94919         (YYSTYPE): Removed; replaced by %union with int and textint members.
94920         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
94921         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
94922         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
94923         (tSNUMBER, tUNUMBER): Now of type <textintval>.
94924         (date, number, to_year): Use width of number in digits, not its value,
94925         to determine whether it's a 2-digit year, or a 2-digit time.
94926         (yylex): Store number of digits of numeric tokens.
94927         Reported by John Kendall.
94928
94929         (parser_control): Changed from struct parser_control to typedef (for
94930         consistency).  All uses changed.
94931
94932         (tID): Removed; not used.
94933         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
94934
94935 2000-02-14  Paul Eggert  <eggert@twinsun.com>
94936
94937         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
94938         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
94939
94940 2000-02-12  Jim Meyering  <meyering@lucent.com>
94941
94942         * lib/userspec.c (ISDIGIT): Define it.
94943         (isdigit): Remove definition.
94944         (is_number): Use ISDIGIT, not isdigit.
94945         <libintl.h>: Include.
94946         (_ and N_): Define.
94947         (parse_user_spec): Mark translatable strings.
94948
94949 2000-02-10  Jim Meyering  <meyering@lucent.com>
94950
94951         With these changes, nanosleep.[ch] are finally enough like the other
94952         lib/* replacement files to compile on a few more losing systems.
94953
94954         * lib/nanosleep.h: Don't include config.h.
94955         Remove prototype from declaration of nanosleep.
94956         (PARAMS): Remove now-unneeded definition.
94957         * lib/nanosleep.c: #undef nanosleep.
94958         (rpl_nanosleep): Rename from nanosleep.
94959
94960 2000-02-10  Jim Meyering  <meyering@lucent.com>
94961
94962         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
94963         gnu_nanosleep to rpl_nanosleep.
94964
94965 2000-02-09  Jim Meyering  <meyering@lucent.com>
94966
94967         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
94968         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
94969
94970 2000-02-08  Akim Demaille  <akim@epita.fr>
94971
94972         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
94973         `[' and `]' and remove uses of `changequote'.
94974         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
94975         (AC_SYS_LARGEFILE): Likewise.
94976         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
94977         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
94978         of changequote.
94979         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
94980         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
94981         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
94982         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
94983
94984 2000-02-05  Jim Meyering  <meyering@lucent.com>
94985
94986         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
94987         Remove explicit use of AC_HEADER_TIME.  It is required by
94988         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
94989         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
94990         in autoconf whereby the expansion of the latter ended up preceding
94991         the expansion of its prerequisite, AC_HEADER_TIME.
94992         Reported by Volker Borchert.
94993
94994 2000-02-03  Jim Meyering  <meyering@lucent.com>
94995
94996         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
94997
94998 2000-02-03  Jim Meyering  <meyering@lucent.com>
94999
95000         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
95001         rather than with `#if HAVE_UTMPNAME'.
95002
95003 2000-02-02  Jim Meyering  <meyering@lucent.com>
95004
95005         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
95006         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
95007         Reported by Eli Zaretskii.
95008
95009 2000-02-01  Jim Meyering  <meyering@lucent.com>
95010
95011         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
95012
95013 2000-01-31  Jim Meyering  <meyering@lucent.com>
95014
95015         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
95016         functions.  Add the time.h and sys/time.h headers along with the
95017         AC_REQUIRE'ment of AC_HEADER_TIME.
95018
95019 2000-01-31  Jim Meyering  <meyering@lucent.com>
95020
95021         * lib/nanosleep.h (nanosleep): Guard declaration with
95022         `#if ! HAVE_DECL_NANOSLEEP'.
95023         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
95024         the declaration in that vendor's sys/timers.h.
95025         Reported by Christian Krackowizer.
95026
95027         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
95028         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
95029         (ISPRINT): Likewise.
95030         Reported by Tom Tromey.
95031
95032 2000-01-30  Jim Meyering  <meyering@lucent.com>
95033
95034         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
95035
95036         * m4/prereq.m4 (utmp_includes): Define.
95037         Check for ut_user and ut_name members in both struct utmpx
95038         and struct utmp.
95039
95040 2000-01-30  Jim Meyering  <meyering@lucent.com>
95041
95042         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
95043         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
95044         header files where only utmpx.ut_user is declared.
95045
95046         * lib/readutmp.h (UT_USER): Define.
95047
95048 2000-01-29  Jim Meyering  <meyering@lucent.com>
95049
95050         * m4/lib-check.m4: New file containing library-related checks from
95051         fileutils and sh-utils (textutils had none).
95052
95053 2000-01-28  Jim Meyering  <meyering@lucent.com>
95054
95055         * m4/perl.m4: Change format of warning message to look more like that
95056         from the missing script.  Suggestion from François Pinard.
95057
95058 2000-01-25  Jim Meyering  <meyering@lucent.com>
95059
95060         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
95061         well as time.h in the compile check.
95062         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
95063         Fix typo in cross-compiling case: s/yes/no/.
95064
95065 2000-01-23  Jim Meyering  <meyering@lucent.com>
95066
95067         * m4/jm-macros.m4: Move df-related tests here from
95068         fileutils/configure.in
95069
95070         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
95071         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
95072
95073         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
95074         s/space/ac_fsusage_space/.
95075         (jm_FILE_SYSTEM_USAGE): Take two parameters.
95076
95077         * m4/ftruncate.m4: New file (derived from part of
95078         fileutils/configure.in).
95079         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
95080         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
95081
95082         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
95083         AC_SUBST these here, rather than just in sh-util/configure.in, so
95084         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
95085         all the same.
95086         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
95087         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
95088         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
95089         (AC_SUBST(POW_LIBM)): Likewise.
95090         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
95091
95092 2000-01-23  Jim Meyering  <meyering@lucent.com>
95093
95094         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
95095         obstack.c.
95096
95097 2000-01-22  Jim Meyering  <meyering@lucent.com>
95098
95099         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
95100
95101         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
95102
95103         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
95104         configure.in
95105         (AC_CHECK_HEADERS): Likewise for sh-utils.
95106         (AC_CHECK_HEADERS): Likewise for textutils.
95107         Merge the three lists of headers.
95108
95109         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
95110         from fileutils' configure.in.
95111
95112         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
95113         code. Moved tests into their own function (_jm_DECL_HEADERS) in
95114         check-decl.m4.
95115
95116         * m4/check-decl.m4: Use #if rather than #ifdef.
95117         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
95118         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
95119         (_jm_DECL_HEADERS): Define new function.
95120         (jm_CHECK_DECLARATIONS): Require it.
95121
95122 2000-01-22  Jim Meyering  <meyering@lucent.com>
95123
95124         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
95125         [! HAVE_DECL_STRTOULL]: Declare strtoull.
95126         Required for some AIX systems.  Reported by Christian Krackowizer.
95127         [TESTING] (main): New function.
95128
95129         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
95130         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
95131         letters.
95132
95133         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
95134         iswprint.
95135
95136         * lib/strverscmp.c (ISDIGIT): Define.
95137         (strverscmp): Use ISDIGIT, not isdigit.
95138
95139 2000-01-19  Jim Meyering  <meyering@lucent.com>
95140
95141         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
95142         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
95143         defines `struct timespec' in <sys/time.h>
95144
95145         * m4/c-bs-a.m4: Remove uses of changequote altogether.
95146         Thanks to Akim for explaining.
95147
95148 2000-01-17  Paul Eggert  <eggert@twinsun.com>
95149
95150         * lib/nanosleep.c (nanosleep):
95151         Don't use SA_INTERRUPT to decide whether to call sigaction, as
95152         POSIX.1 doesn't require SA_INTERRUPT and some systems
95153         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
95154         it's been part of POSIX.1 since day 1 (in 1988).
95155
95156 2000-01-17  Jim Meyering  <meyering@lucent.com>
95157
95158         * lib/interlock: Remove unused file.  Reported by François Pinard.
95159
95160 2000-01-16  Paul Eggert  <eggert@twinsun.com>
95161
95162         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
95163         alert, backslash, formfeed, and vertical tab unnecessarily in
95164         shell quoting style.
95165
95166 2000-01-16  Jim Meyering  <meyering@lucent.com>
95167
95168         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
95169         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
95170         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
95171         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
95172
95173 2000-01-16  Jim Meyering  <meyering@lucent.com>
95174
95175         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
95176         because the latter didn't work.
95177
95178 2000-01-15  Jim Meyering  <meyering@lucent.com>
95179
95180         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
95181         (AC_REPLACE_FUNCS): Add memcpy and memset.
95182         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
95183         Add strpbrk.
95184         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
95185
95186 2000-01-12  Jim Meyering  <meyering@lucent.com>
95187
95188         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
95189         (jm_PREREQ): Use it.
95190         (jm_PREREQ_READUTMP): New macro.
95191         (jm_PREREQ): Use it.
95192
95193 2000-01-11  Paul Eggert  <eggert@twinsun.com>
95194
95195         Quote multibyte characters correctly.
95196         * m4/c-bs-a.m4: New file.
95197         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
95198         (jm_PREREQ): Use it.
95199
95200 2000-01-11  Paul Eggert  <eggert@twinsun.com>
95201
95202         * m4/uintmax_t.m4: Port to autoconf 2.13.
95203
95204 2000-01-08  Jim Meyering  <meyering@ascend.com>
95205
95206         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
95207         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
95208
95209 2000-01-04  Jim Meyering  <meyering@ascend.com>
95210
95211         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
95212         jm_STRUCT_DIRENT_D_TYPE.
95213         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
95214         jm_STRUCT_DIRENT_D_INO.
95215         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
95216         jm_STRUCT_UTIMBUF.
95217         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
95218         renamings.
95219         * m4/utime.m4: Likewise.
95220
95221         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
95222         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
95223
95224 2000-01-03  Paul Eggert  <eggert@twinsun.com>
95225
95226         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
95227         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
95228
95229 2000-01-02  Jim Meyering  <meyering@ascend.com>
95230
95231         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
95232         remember if this is necessary.
95233
95234 1999-12-26  Jim Meyering  <meyering@ascend.com>
95235
95236         * m4/jm-macros.m4: Use it here.
95237         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
95238
95239 1999-12-23  Jim Meyering  <meyering@ascend.com>
95240
95241         * m4/jm-macros.m4: Check for clock_gettime (moved from
95242         fileutils/configure.in)
95243         Check for gettimeofday.
95244
95245 1999-12-20  Jim Meyering  <meyering@ascend.com>
95246
95247         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
95248         autoconf-2.14a-1999-12-20.
95249
95250 1999-12-19  Jim Meyering  <meyering@ascend.com>
95251
95252         * m4/lstat-slash.m4: New file.
95253         * m4/jm-macros.m4: Use the new macro:
95254         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
95255
95256 1999-12-07  Jim Meyering  <meyering@ascend.com>
95257
95258         * m4/perl.m4: Require that File::Compare be available, too.
95259         Too many systems seem to lack it.
95260
95261         * m4/strftime.m4: Add checks for most of the cpp macros tested in
95262         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
95263
95264 1999-11-18  Paul Eggert  <eggert@twinsun.com>
95265
95266         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
95267         problem with the QNX 4.25 shell, which doesn't propagate exit
95268         status of failed commands inside shell assignments.
95269
95270 1999-11-17  Jim Meyering  <meyering@ascend.com>
95271
95272         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
95273
95274 1999-11-07  Jim Meyering  <meyering@ascend.com>
95275
95276         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
95277
95278 1999-11-06  Jim Meyering  <meyering@ascend.com>
95279
95280         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
95281         * m4/jm-macros.m4 (jm_MACROS): Use it here.
95282
95283 1999-11-05  Jim Meyering  <meyering@ascend.com>
95284
95285         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
95286         configure.in of textutils, fileutils, and sh-utils into this one
95287         (shared between those packages) file.
95288         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
95289         AC_STRUCT_ST_BLKSIZE.
95290
95291 1999-11-03  Jim Meyering  <meyering@ascend.com>
95292
95293         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
95294         of AC_CHECK_TYPE checks includes unistd.h.
95295         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
95296         Suggestion from Akim Demaille.
95297
95298 1999-10-30  Jim Meyering  <meyering@ascend.com>
95299
95300         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
95301         m4-quoted string.
95302         * m4/ls-mntd-fs.m4: Likewise.
95303         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
95304         * m4/jm-winsz1.m4: Likewise.
95305
95306         * m4/const.m4: Remove file, since the fix made it into the experimental
95307         version of autoconf.
95308         * m4/mktime.m4: Likewise.
95309
95310         * m4/check-type.m4: Remove file, now that the latest version of
95311         AC_CHECK_TYPE takes a third arg to specify additional #includes.
95312
95313         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
95314         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
95315         AC_CHECK_TYPE.
95316
95317 1999-10-04  Jim Meyering  <meyering@ascend.com>
95318
95319         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
95320
95321 1999-09-22  Paul Eggert  <eggert@twinsun.com>
95322
95323         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
95324         2.95.1 bug with HP-UX 10.20.
95325
95326 1999-09-17  Jim Meyering  <meyering@ascend.com>
95327
95328         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
95329         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
95330         due to missing strdup (against sh-utils-2.0).
95331
95332 1999-08-29  Jim Meyering  <meyering@ascend.com>
95333
95334         * m4/jm-macros.m4: Require jm_BISON.
95335         * m4/bison.m4: New file.
95336
95337 1999-08-17  Paul Eggert  <eggert@twinsun.com>
95338
95339         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
95340         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
95341
95342 1999-08-05  Jim Meyering  <meyering@ascend.com>
95343
95344         * m4/getline.m4: Rename test file from conftestdata to conftest.data
95345         to avoid conflicts with `conftest' on 8+3 filesystems.
95346         Suggestion from Eli Zaretskii.
95347
95348 1999-08-04  Jim Meyering  <meyering@ascend.com>
95349
95350         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
95351         fileutils and sh-utils (textutils's getline test was inadequate).
95352         (AM_FUNC_GETLINE): Run this test.
95353         (AC_CHECK_FUNCS): Check for getdelim.
95354         Reported by Bob Proulx.
95355
95356 1999-08-02  Jim Meyering  <meyering@ascend.com>
95357
95358         * m4/jm-macros.m4: Add a comment.
95359
95360 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95361
95362         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
95363         <inttypes.h> defines strtoumax as a macro (and not as a
95364         function).
95365
95366 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95367
95368         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
95369         that we can shift, multiply and divide unsigned long long
95370         values; Ultrix cc can't do it.
95371
95372 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95373
95374         * m4/mktime.m4: New file, which is a preview of what should appear
95375         in the next public autoconf release.
95376
95377 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95378
95379         * m4/lfs.m4: Remove this file.
95380         * m4/largefile.m4: New file.  It contains the old contents of
95381         lfs.m4, except that all names with prefix AC_LFS have been
95382         changed to use the prefix AC_SYS_LARGEFILE instead, to be
95383         compatible with future autoconf versions.  Also, some minor m4
95384         quoting problems have been fixed.
95385
95386 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95387
95388         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
95389         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
95390         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
95391         and simplify the shell code.
95392
95393 1999-08-01  Jim Meyering  <meyering@ascend.com>
95394
95395         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
95396         m4.
95397
95398 1999-07-20  Jim Meyering  <meyering@ascend.com>
95399
95400         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
95401
95402 1999-07-15  Jim Meyering  <meyering@ascend.com>
95403
95404         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
95405
95406 1999-05-22  Jim Meyering  <meyering@ascend.com>
95407
95408         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
95409
95410 1999-05-20  Jim Meyering  <meyering@ascend.com>
95411
95412         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
95413         Add a colon after each `then' in case $4 is empty.
95414
95415 1999-05-16  Jim Meyering  <meyering@ascend.com>
95416
95417         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
95418
95419 1999-05-10  Jim Meyering  <meyering@ascend.com>
95420
95421         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
95422
95423         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
95424         AC_FUNC_MKTIME.
95425
95426 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
95427
95428         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
95429
95430 1999-05-04  Paul Eggert  <eggert@twinsun.com>
95431
95432         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
95433         not CPPFLAGS, so that linking works correctly in IRIX.
95434
95435 1999-04-30  Paul Eggert  <eggert@twinsun.com>
95436
95437         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
95438
95439 1999-04-20  Paul Eggert  <eggert@twinsun.com>
95440
95441         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
95442         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
95443         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
95444         jm_AC_TYPE_UNSIGNED_LONG_LONG.
95445         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
95446
95447         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
95448
95449 1999-04-20  Jim Meyering  <meyering@ascend.com>
95450
95451         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
95452         AC_REPLACE xstroull if necessary.  From Paul Eggert.
95453         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
95454
95455 1999-04-18  Jim Meyering  <meyering@ascend.com>
95456
95457         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
95458         * m4/jm-macros.m4: Use it.
95459
95460 1999-04-06  Jim Meyering  <meyering@ascend.com>
95461
95462         * m4/strftime.m4: Remove test for %f.
95463
95464 1999-03-29  Jim Meyering  <meyering@ascend.com>
95465
95466         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
95467         superset of the AC_TYPE_* checks in the textutils, fileutils,
95468         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
95469         AC_TYPE_PID_T.
95470
95471 1999-03-28  Jim Meyering  <meyering@ascend.com>
95472
95473         * m4/jm-macros.m4: Define GNU_PACKAGE here.
95474         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
95475         replaced e.g., in the *.sh files of the sh-utils.
95476
95477 1999-03-20  Jim Meyering  <meyering@ascend.com>
95478
95479         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
95480         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
95481         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
95482
95483 1999-03-19  Jim Meyering  <meyering@ascend.com>
95484
95485         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
95486
95487 1999-03-12  Jim Meyering  <meyering@ascend.com>
95488
95489         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
95490
95491 1999-03-07  Jim Meyering  <meyering@ascend.com>
95492
95493         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
95494         declared.
95495
95496 1999-02-17  Jim Meyering  <meyering@ascend.com>
95497
95498         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
95499         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
95500
95501 1999-02-07  Jim Meyering  <meyering@ascend.com>
95502
95503         * m4/group-member.m4: New file -- extracted from sh-utils'
95504         configure.in.
95505
95506         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
95507         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
95508
95509 1999-02-06  Jim Meyering  <meyering@ascend.com>
95510
95511         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
95512         * m4/fnmatch.m4: Likewise.
95513         * m4/getgroups.m4: Likewise.
95514         * m4/lstat.m4: Likewise.
95515         * m4/malloc.m4: Likewise.
95516         * m4/putenv.m4: Likewise.
95517         * m4/realloc.m4: Likewise.
95518         * m4/regex.m4: Likewise.
95519         * m4/stat.m4: Likewise.
95520         * m4/strftime.m4: Likewise.
95521         Suggestion from Alain Magloire.
95522
95523         * m4/chown.m4: Use `.$ac_objext', not `.o'.
95524         * m4/fnmatch.m4: Likewise.
95525         * m4/getgroups.m4: Likewise.
95526         * m4/getline.m4: Likewise.
95527         * m4/lstat.m4: Likewise.
95528         * m4/malloc.m4: Likewise.
95529         * m4/memcmp.m4: Likewise.
95530         * m4/putenv.m4: Likewise.
95531         * m4/realloc.m4: Likewise.
95532         * m4/regex.m4: Likewise.
95533         * m4/stat.m4: Likewise.
95534         * m4/strftime.m4: Likewise.
95535         Suggestion from Alain Magloire.
95536
95537         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
95538         an argument.
95539
95540         * m4/regex.m4: Add a run-time Test for proper operation of
95541         re_compile_pattern.
95542
95543 1999-01-31  Jim Meyering  <meyering@ascend.com>
95544
95545         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
95546
95547 1999-01-30  Jim Meyering  <meyering@ascend.com>
95548
95549         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
95550
95551         * m4/jm-mktime.m4: Make this a wrapper around the official
95552         AM_FUNC_MKTIME rather than my private copy, now that the official one
95553         is up to date.
95554         * m4/mktime.m4: Remove file.
95555
95556         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
95557         * m4/uptime.m4: Likewise.
95558         * m4/uintmax_t.m4: Likewise.
95559
95560 1999-01-28  Jim Meyering  <meyering@ascend.com>
95561
95562         * m4/jm-macros.m4: Use jm_AFS.
95563         * m4/afs.m4: New file (from fileutils' configure.in).
95564
95565         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
95566         * m4/chown.m4: Likewise.
95567         * m4/d-ino.m4: Likewise.
95568         * m4/d-type.m4: Likewise.
95569         * m4/fnmatch.m4: Likewise.
95570         * m4/getgroups.m4: Likewise.
95571         * m4/gettext.m4: Likewise.
95572         * m4/jm-mktime.m4: Likewise.
95573         * m4/jm-winsz2.m4: Likewise.
95574         * m4/lcmessage.m4: Likewise.
95575         * m4/ls-mntd-fs.m4: Likewise.
95576         * m4/malloc.m4: Likewise.
95577         * m4/memcmp.m4: Likewise.
95578         * m4/putenv.m4: Likewise.
95579         * m4/realloc.m4: Likewise.
95580         * m4/st_mtim.m4: Likewise.
95581         * m4/strftime.m4: Likewise.
95582
95583 1999-01-16  Jim Meyering  <meyering@ascend.com>
95584
95585         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
95586         (ARGMATCH_DIE_DECL): Define.
95587
95588 1999-01-12  Jim Meyering  <meyering@ascend.com>
95589
95590         * m4/Makefile.am.in: Rewrite to avoid using fmt.
95591         Reported by Lars Hecking.
95592
95593 1999-01-10  Jim Meyering  <meyering@ascend.com>
95594
95595         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
95596         gross kludge.
95597         * m4/inttypes_h.m4: Likewise.
95598         * m4/lstat.m4: Likewise.
95599         * m4/malloc.m4: Likewise.
95600         * m4/readdir.m4: Likewise.
95601         * m4/realloc.m4: Likewise.
95602         * m4/st_dm_mode.m4: Likewise.
95603         * m4/stat.m4: Likewise.
95604         * m4/utimbuf.m4: Likewise.
95605         * m4/utimes.m4: Likewise.
95606
95607         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
95608         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
95609         comments in config.h.in are meaningful.
95610
95611         * m4/jm-macros.m4: Require autoconf-2.13 here.
95612
95613         * m4/regex.m4: By default, don't use the included regex.c on systems
95614         with glibc 2.  Suggestion from Uli Drepper.
95615
95616 1999-01-02  Jim Meyering  <meyering@ascend.com>
95617
95618         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
95619
95620 1998-12-18  Jim Meyering  <meyering@ascend.com>
95621
95622         * m4/Makefile.am.in (Makefile.am): Simplify rule.
95623         Based on a suggestion from Lars Hecking.
95624
95625 1998-11-16  Paul Eggert  <eggert@twinsun.com>
95626
95627         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
95628
95629 1998-11-16  Jim Meyering  <meyering@ascend.com>
95630
95631         * m4/lfs.m4: Double-quote the `uname...` expression.
95632
95633 1998-11-14  Jim Meyering  <meyering@ascend.com>
95634
95635         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
95636         * m4/stat.m4: Likewise.
95637
95638 1998-11-03  Jim Meyering  <meyering@ascend.com>
95639
95640         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
95641         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
95642
95643 1998-10-18  Jim Meyering  <meyering@ascend.com>
95644
95645         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
95646
95647 1998-10-17  Jim Meyering  <meyering@ascend.com>
95648
95649         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
95650         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
95651         calls for those previously hard-coded headers.  Instead, take a new
95652         parameter.
95653         (jm_CHECK_DECLARATIONS): Reflect interface change.
95654         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
95655         (jm_CHECK_DECL_LOCALTIME_R): New macro.
95656
95657         * m4/mktime.m4: Test for spring-forward gap before long-running test.
95658
95659 1998-10-14  Jim Meyering  <meyering@ascend.com>
95660
95661         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
95662         instead of "TZ=America/Vancouver".  From Paul Eggert.
95663
95664 1998-10-11  Jim Meyering  <meyering@ascend.com>
95665
95666         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
95667         This adds a test for a recently added compatibility fix for mktime.c.
95668         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
95669
95670 1998-09-27  Jim Meyering  <meyering@ascend.com>
95671
95672         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
95673
95674         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
95675         ../configure.in, including a change from Gordon Matzigkeit to allow
95676         cross-compiling for the Hurd.
95677
95678         * m4/glibc.m4: New file/macro to test for the GNU C Library
95679         versions 1 and 2.  From Gordon Matzigkeit.
95680         Indent.
95681
95682 1998-09-21  Jim Meyering  <meyering@ascend.com>
95683
95684         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
95685
95686 1998-08-18  Paul Eggert  <eggert@twinsun.com>
95687
95688         Port nanosecond-resolution times to UnixWare 2.1.2 and
95689         pedantic Solaris 2.6.
95690
95691         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
95692         AC_STRUCT_ST_MTIM.
95693         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
95694         Generate name of ns member, instead of just 1 or undef.
95695         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
95696
95697 1998-08-15  Jim Meyering  <meyering@ascend.com>
95698
95699         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
95700         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
95701         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
95702         instead of jm_TYPE_SSIZE_T.
95703
95704 1998-08-12  Jim Meyering  <meyering@ascend.com>
95705
95706         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
95707
95708 1998-08-02  Jim Meyering  <meyering@ascend.com>
95709
95710         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
95711         in acconfig.h manually.
95712
95713 1998-07-31  Paul Eggert  <eggert@twinsun.com>
95714
95715         * m4/st_mtim.m4: New file.
95716
95717 1998-07-28  Jim Meyering  <meyering@ascend.com>
95718
95719         * m4/utimes.m4: Undef stat.
95720
95721 1998-07-25  Jim Meyering  <meyering@ascend.com>
95722
95723         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
95724         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
95725
95726 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
95727
95728         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
95729         uid and gid actually remain unchanged.
95730
95731 1998-07-07  Jim Meyering  <meyering@ascend.com>
95732
95733         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
95734
95735 1998-07-04  Jim Meyering  <meyering@ascend.com>
95736
95737         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
95738         to prove that this macro can be used in packages without regex.c.
95739
95740 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
95741
95742         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
95743         is to be used.
95744
95745 1998-07-03  Jim Meyering  <meyering@ascend.com>
95746
95747         * m4/gettext.m4: Add -lintl if it's found to be necessary.
95748
95749         * m4/gettext.m4: New file -- from gettext-0.10.35.
95750         * m4/lcmessage.m4: Likewise.
95751         * m4/progtest.m4: Likewise.
95752
95753         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
95754         * m4/jm-macros.m4: Require the new macro.
95755
95756 1998-06-29  Jim Meyering  <meyering@ascend.com>
95757
95758         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
95759         for the definition of NGROUPS (used in a system header included
95760         by sys/mount.h).
95761
95762 1998-06-28  Jim Meyering  <meyering@ascend.com>
95763
95764         * m4/ls-mntd-fs.m4: New file.
95765         * m4/fstypename.m4: New file.
95766
95767         * m4/jm-macros.m4: Require the new macro.
95768         * m4/jm-glibc-io.m4: New file.
95769
95770 1998-05-19  Jim Meyering  <meyering@ascend.com>
95771
95772         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
95773         * m4/lchown.m4: New file.
95774
95775         * m4/Makefile.am.in: New file.
95776         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
95777
95778 1998-05-14  Jim Meyering  <meyering@ascend.com>
95779
95780         * m4/Makefile.am (EXTRA_DIST): Add them.
95781         * m4/jm-macros.m4: New file.
95782         * m4/utimbuf.m4: New file.
95783
95784 1998-05-12  Jim Meyering  <meyering@ascend.com>
95785
95786         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
95787
95788 1998-05-11  Jim Meyering  <meyering@ascend.com>
95789
95790         * m4/isc-posix.m4: New file.
95791
95792 1998-05-10  Jim Meyering  <meyering@ascend.com>
95793
95794         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
95795
95796 1998-05-09  Jim Meyering  <meyering@ascend.com>
95797
95798         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
95799         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
95800         with automake.
95801
95802         * m4/ssize_t.m4: New file.
95803         * m4/mktime.m4: Remove file -- the new automake has this now.
95804
95805 1998-04-26  Jim Meyering  <meyering@ascend.com>
95806
95807         * m4/assert.m4: New file.
95808         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
95809
95810 1998-04-05  Jim Meyering  <meyering@ascend.com>
95811
95812         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
95813         (jm_PREREQ): Use it here.
95814
95815 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
95816
95817         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
95818         in acconfig.h.
95819
95820 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
95821
95822         * m4/prereq.m4: New file.
95823         * m4/error.m4: New file.
95824         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
95825
95826 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
95827
95828         * m4/getline.m4: Don't set am_cv_func_working_getline before the
95829         cache-check for the same variable -- that defeated the purpose of
95830         the test; the test program was never run.  This was a problem only
95831         on systems with losing getline functions -- HP-UX 10.20 is one.
95832         Reported by Bjorn Helgaas.
95833
95834 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
95835
95836         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
95837
95838 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
95839
95840         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
95841
95842         * m4/const.m4: New file.  Use an initializer in this declaration
95843         typedef int charset[2]; const charset x;
95844         Reported by Bob Glickstein.
95845
95846 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
95847
95848         * m4/chown.m4: Fix reversed types on -1 args to chown.
95849         From Kaveh Ghazi.
95850
95851 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
95852
95853         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
95854         Add lseek and memchr.
95855
95856         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
95857         T.E.Dickey <dickey@clark.net> said that some older preprocessors
95858         have a 20-character limit on names.
95859
95860 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
95861
95862         * m4/inttypes_h.m4: New file.
95863         * m4/uintmax_t.m4: New file.
95864         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
95865
95866
95867         -----
95868
95869         Local Variables:
95870         coding: utf-8
95871         End:
95872
95873         Copyright (C) 1997-2012 Free Software Foundation, Inc.
95874
95875         Copying and distribution of this file, with or without
95876         modification, are permitted provided the copyright notice
95877         and this notice are preserved.